package Ġorg . ve up ath db . lib . blast . tbl ast n . fields Ċ Ċ import Ġcom . fasterxml . jackson . databind . node . Object Node Ċ import Ġorg . ve up ath db . lib . blast . common . Flag Matrix Ċ import Ġorg . ve up ath db . lib . blast . common . Flag Seg Ċ import Ġorg . ve up ath db . lib . blast . serial . B last Field Ċ import Ġorg . ve up ath db . lib . blast . util .* Ċ import Ġorg . ve up ath db . lib . blast . util . add Ċ import Ġorg . ve up ath db . lib . blast . util . append Ċ import Ġorg . ve up ath db . lib . blast . util . put ĊĊ Ċ internal Ġfun ĠParse Sc oring Matrix TN ( js : ĠObject Node ) Ġ= ĊĠ Ġjs . opt String ( Flag Matrix ) Ġ{ ĠS cor ing Matrix TN ( parse Matrix ( it )) Ġ} ĊĠĠĠ Ġ?: ĠS cor ing Matrix TN () ĊĊ Ċ /** Ċ Ġ* Ġ- matrix Ġ`< String >` Ċ Ġ* Ċ Ġ* ĠS cor ing Ġmatrix Ġname Ġ( norm ally ĠB LO SUM 6 2 ) Ċ Ġ*/ Ċ @ Jvm Inline Ċ value Ġclass ĠS cor ing Matrix TN ( val Ġvalue : ĠS cor ing Matrix TN Type Ġ= ĠS cor ing Matrix TN Type . None ) ĊĠ Ġ: ĠB last Field Ċ { ĊĠ Ġoverride Ġval Ġis Default Ġget () Ġ= Ġvalue Ġ== ĠS cor ing Matrix TN Type . None ĊĊĠ Ġoverride Ġval Ġname : ĠString ĊĠĠĠ Ġget () Ġ= ĠFlag Matrix ĊĊĠ Ġoverride Ġfun Ġappend Json ( js : ĠObject Node ) Ġ= ĊĠĠĠ Ġjs . put ( is Default , ĠFlag Matrix , Ġvalue . value ) ĊĊĠ Ġoverride Ġfun Ġappend Cli Segment ( cli : ĠStringBuilder ) Ġ= ĊĠĠĠ Ġcli . append ( is Default , ĠFlag Matrix , Ġvalue . value ) ĊĊĠ Ġoverride Ġfun Ġappend Cli Parts ( cli : ĠMutable List < String >) Ġ= ĊĠĠĠ Ġcli . add ( is Default , ĠFlag Matrix , Ġvalue . value ) Ċ } ĊĊ Ċ private Ġfun Ġparse Matrix ( value : ĠString ) Ġ= ĊĠ Ġwhen ( value . lowercase ()) Ġ{ ĊĠĠĠ Ġ" blo sum 4 5 " Ġ-> ĠS cor ing Matrix TN Type . B lo sum 4 5 ĊĠĠĠ Ġ" blo sum 5 0 " Ġ-> ĠS cor ing Matrix TN Type . B lo sum 5 0 ĊĠĠĠ Ġ" blo sum 6 2 " Ġ-> ĠS cor ing Matrix TN Type . B lo sum 6 2 ĊĠĠĠ Ġ" blo sum 8 0 " Ġ-> ĠS cor ing Matrix TN Type . B lo sum 8 0 ĊĠĠĠ Ġ" blo sum 9 0 " Ġ-> ĠS cor ing Matrix TN Type . B lo sum 9 0 ĊĠĠĠ Ġ" p am 3 0 " ĠĠĠ Ġ-> ĠS cor ing Matrix TN Type . P am 3 0 ĊĠĠĠ Ġ" p am 7 0 " ĠĠĠ Ġ-> ĠS cor ing Matrix TN Type . P am 7 0 ĊĠĠĠ Ġ" p am 2 5 0 " ĠĠ Ġ-> ĠS cor ing Matrix TN Type . P am 2 5 0 ĊĠĠĠ Ġ" none " ĠĠĠĠ Ġ-> ĠS cor ing Matrix TN Type . None ĊĠĠĠ Ġelse ĠĠĠĠĠĠ Ġ-> Ġthrow ĠIllegalArgumentException (" Invalid Ġvalue Ġ$ value Ġfor Ġenum ĠB last P Matrix Type ") ĊĠ Ġ} ĊĊ Ċ enum Ġclass ĠS cor ing Matrix TN Type Ġ{ ĊĠ ĠB lo sum 4 5 , ĊĠ ĠB lo sum 5 0 , ĊĠ ĠB lo sum 6 2 , ĊĠ ĠB lo sum 8 0 , ĊĠ ĠB lo sum 9 0 , ĊĠ ĠP am 3 0 , ĊĠ ĠP am 7 0 , ĊĠ ĠP am 2 5 0 , ĊĠ ĠNone ; ĊĊĠ Ġval Ġvalue Ġget () Ġ= Ġname . uppercase () Ċ }