本選課題の説明に大きな訂正事項があります.すでにプログラミングを始めている チームには申し訳ありませんが,以下の訂正をよく読んで対処してください. 【問題の訂正】タンパク質(アミノ酸配列)の類似度の定義の変更 タンパク質(アミノ酸配列)X と Y の類似度の定義を次のように変更します. (旧)-------------------------------------------------------------------- X と Y の類似度 = アラインメント・スコア / X と Y の短い配列の長さ * 100 (注:小数点以下切捨て) なお,正確にはプログラム scoreout.c で計算される値を本コンテストでの定義値 とします. -------------------------------------------------------------------------- (新)-------------------------------------------------------------------- X と Y の類似度 = 記号が一致した箇所の数 / X と Y の短い配列の長さ * 100 (注:小数点以下切捨て) ただし,「記号が一致した箇所の数」(以下 idnum(X, Y) と表わす)は,X と Y を,アラインメント・スコア(以下 score(X, Y) と表わす)を最大にするように並 べた上で比較したときの,対応する記号が一致する回数.ただし,アミノ酸記号 X は,例外記号なので一致しても数えない.また,score(X, Y) を実現する並べ方が 複数ある場合には,その中で一致が最も多いものを用いる. なお,正確にはプログラム align.c で計算される値 idnum, seq. id. を,本コン テストでの定義値とします.(新 seqid.c も,align.c と同じやり方で計算して います.) -------------------------------------------------------------------------- たとえば, X: ABBBCCRRAAAB 長さ 12 Y: XXXABBDWWWWWWCCRRAAABCCA 長さ 24 に対し,score(X, Y) を最大にする並べ方は次のようになります.その並べ方のも とでの一致箇所は,* の印を付けた 11 箇所です. X: ABBB------CCRRAAAB Y: XXXABBDWWWWWWCCRRAAABCCA *** ******** したがって,idnum(X, Y) = 11.ゆえに seq. id. = 11 / 12 * 100 = 91 となり ます.たとえば, X: AAAAXXXXXXAA Y: AAAAWWWWWW は, (a) (b) X: AAAAXXXXXXAA X: AAAAXXXXXXAA Y: AAAAWWWWWW Y: AAAAWWWWWW ** **** (b) の方が一致箇所は多いですが,アラインメント・スコアは,(a) で最大となる ので,idnum(X, Y) は,(a) の並べ方を用いて 2 となります. (補足) 1.align.c での計算法について 以上のように定義は大幅に変わりましたが,プログラム的には,計算法はほとんど 変わらないようにできます.従来のアラインメント・スコアの代わりに,次のよう な「混合スコア」(mixed score) を求めるように修正すればよいのです. mixed_score(X, Y) = score(X, Y) * 10000 + idnum(X, Y) これを最大にするような並べ方を求め,そのときの mixed score を 10000 で割っ た余りを求めれば,idnum(X, Y) が得られます.(mixed score が負の場合には, 「余り」の出し方に注意が必要.なお,10000 は idnum(X, Y) の最大値より大き な定数であれば何でもよい.) これまでの scoreout.c に代わる align.c ならびに,新しい seqid.c では,この 方法で計算しています.したがって,プログラム的な変更は大きくありません.な お,今回,変更した箇所を,プログラム中に NEW とコメントしておきました. 2.その他の訂正 以上の他に,細かな訂正があります. (1) seqid.c これまでは長さ 1500 以下の列のみを対象とすると仮定してきましたが,その仮定 をやめます.本選で使用するデータの列長は 3000 以下と仮定します. (2) align.c(旧 scoreout.c) 境界値における SID の設定が不足していましたので,追加しました. 3.これまでの質問について (1) 質問:次のようなギャップの挿入は可能か? X: AAA---BBBD Y: AAACCC---D 答え:不可とします. (2) 質問:一方の列の開始や終了位置にギャップがあってよいか? X: W---BBBD X: AAA---BBC Y: AABBBCD Y: AAAX 答え:不可とします. (3) 質問:許されない記号(例,J, O, U)が混入していたときは? 答え:そのような記号は入っていないと仮定しても結構です. (4) 質問:seq. id. は 100 を超えないのか? 答え:新しい定義では超えません. 以上