package Ġcom . splice 4 k . base ĊĊ Ċ /** Ċ Ġ* Ġ@ since Ġ 2 0 1 8 . 0 9 . 2 1 Ċ Ġ* Ġ@ version Ġ 2 0 1 8 0 9 2 1 Ċ Ġ* Ġ@ author ĠZ hang Ġy iming Ċ Ġ* Ċ Ġ* Ġ è®°å½ķ åįķ ä¸ª ä½į çĤ¹ çļĦ ä½įç½® ï¼Į æĿ¥ æºĲ åĴĮ æķ°éĩı ä¿¡æģ¯ Ċ Ġ*/ ĊĊ Ċ /** Ċ Ġ* Ġ@ param Ġsite Ġ ä½į çĤ¹ Ċ Ġ*/ Ċ class ĠSite ( val Ġsite : ĠInt ): ĠComparable < Site > Ġ{ ĊĠĠĠ Ġvar Ġsource Ġ= Ġhash Map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" transcript " Ġto Ġmutable ListOf < String >(), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" gene " Ġto Ġmutable ListOf () ĊĠĠĠ Ġ) ĊĠĠĠ Ġvar Ġcount Ġ= Ġ 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ·»åĬł ä½į çĤ¹ æĿ¥ æºĲ ĊĠĠĠĠ Ġ* Ġ@ param Ġgene Ġ åŁº åĽł id ĊĠĠĠĠ Ġ* Ġ@ param Ġtranscript Ġ è½¬ å½ķ æľ¬ id ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Source ( Ġgene : ĠString ?= null , Ġtranscript : ĠString ? Ġ= Ġnull Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Ġgene Ġ!= Ġnull Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . source [" gene "] !!. add ( gene ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Ġtranscript Ġ!= Ġnull Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . source [" transcript "] !!. add ( transcript ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ·»åĬł ä½į çĤ¹ æķ°éĩı ĊĠĠĠĠ Ġ* Ġ@ param Ġcount Ġ é¢ĳ æķ° ï¼Į é»ĺè®¤ 1 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Count ( count : ĠInt ? Ġ= Ġ 1 ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġthis . count Ġ+= Ġwhen ( count ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġcount ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . site ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . hashCode () Ġ== Ġother ?. hashCode () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġcompare To ( other : ĠSite ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . site Ġ- Ġother . site ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"${ this . site }[ ${ this . count }] " ĊĠĠĠ Ġ} Ċ } ĊĊ