概要



  1. 均一ハプロタイプ集団からWight Fisherモデルに基づき指定世代のシミュレーションを実行し、その経過をARGとして描図するとともに、シミュレーションの経過と最終データをファイル出力する
  2. Wright Fisherモデルについての記事はこちらおよび、こちらも
  3. Ancestral Recombination Graph(ARG):ARGについての説明記事はこちらこちら

入手手順



  1. 京都大学大学院医学研究科附属ゲノム医学センターのサイトよりjarファイル(実行可能形式ファイル)にてダウンロードします。
  2. WF-ARGアプリケーションのソースは、オープンソースアプリケーション"VGJ(GNU General Public License, Version 2*1 に基づくオープンソース)をグラフ描図用パートとして改変することなく使用しています。WF-ARGもVGJと同じ基準(GNU General Public License, Version 2)でオープンソースとします→脚注*2をご確認ください。


*1GPL文書サイト

*2:ただし、作成者以外の複製・継承を前提として書かれていないソースですので、利用をお勧めしません。その上でのソースのリクエストは同ゲノム医学センターのホームページの連絡先まで

実行手順



  1. jarファイルからアプリケーションを起動(ファイルのダブルクリック)する
  2. "Menu"ウィンドウ
    • 3つのボタン
      • 第1ボタン
        • Wight Fisherモデルに基づくシミュレーションを実行するボタン
          • 実行に際し、パラメタを指定するための"Input parameters"ウィンドウが立ち上がる
      • 第2ボタン
        • Wight Fisherモデルに基づき、シミュレーションを小規模に行い、その結果をVGJアプリケーションにて表示する
      • 第3ボタン
        • アプリケーション終了ボタン
  3. "Input parameters"ウィンドウ
    • 8つの入力値と1つのシミュレーション開始ボタン
      • DNA長(塩基数)
        • 対象領域の長さを塩基数(自然数)で入力
      • 始祖世代人数
        • スタート時の均一集団人数
          • バージョンでは、人口は増減しない設定をとっている
      • 1cMに相当する塩基数
        • 1センチモルガン(cM)に相当するDNA長を塩基数(自然数)で入力。ヒトゲノムでは1000000(1Mb)超が平均とされている
        • バージョンでは全範囲で組換え頻度は均一であると設定している
      • シミュレーションする世代数
      • 変異率(0から1)
        • 1世代あたり、解析対象範囲あたりにおきる塩基置換の頻度として0-1の有理数を指定する。通常、1世代あたり1Mb長の範囲に1-10 回程度起きるとされるが、このシミュレーションでは1世代あたり、1解析領域に0回か1回の置換が起きるものとする
          • 今、1Mb領域について、50人(100本の染色体)に対して、この値を0.01と指定すると、1¥times100¥times0.01=1=1万個の変異が1世代で起きることになる
          • 今、1Mb領域について、50人(100本の染色体)に対して、1世代あたり、平均1個の変異を発生させようとした場合、¥frac{1}{10^6¥times100}を指定することとなる
      • 組換え率
        • 1センチモルガン相当のDNA長において、1世代あたりの組換え回数として指定。1センチモルガンは、1世代あたり平均0.01回の組換えが起きる距離であるから、0.01が適当な値となる。ただし、作成したいハプロタイプの多型度などに応じて、変化させることはできる。Physical length of 1cM(nt)への入力値と合わせて調節する
        • 0より大の有理数を指定する。1より大でも構わない
      • ハプロタイプ頻度の表示閾値(0から1)
        • 出力ファイル(テキストデータ・画像表示用データ)は、全染色体・全ハプロタイプについて行う場合と、稀なハプロタイプを出力しない場合の2通りを並列で出力する。その際に出力を省略するハプロタイプの頻度の上限値を指定する。1%以下のハプロタイプを省略する場合には0.01を入力する。入力値は、0-1
      • 出力ファイル指定
        • 複数の出力ファイルが一括して1つのディレクトリ内に出力される。参照ボタンから出力先を選び、出力ファイルの接頭語となる文字列を入力する。
      • 適用して実行ボタン
        • パラメタを適用して実行開始(Controllerウィンドウが開き、開始・保留・再開・中止が促されます)
  4. "Controller"ウィンドウ
    • "Start & Restart"ボタンで開始
    • "Hold"ボタンで一時停止(絵ファイル以外は途中までの出力を確認可能)
    • "Start & Restart"ボタンでプロセス再開
    • "Exit"ボタンで途中終了
      • 途中終了すると、その時点までの出力が得られる

出力概要



  • 複数のファイルは4群に分けられる。4群のファイルはそれぞれ、4つのディレクトリ"DATA" "GRAPH" "FIG_G" "FIG_S"に出力される
  • 4群のファイルは2種類に分けられる
    • シミュレーションの経過と最終世代のハプロタイプに関する情報を持つファイルとの2種類である
      • [DATA]ファイル:情報のうち、染色体・SNP・ハプロタイプ・頻度・に関する情報
        • DATAファイル一式に関する説明はこちら
      • [GRAPH]ファイル:情報のうち、染色体の伝達関係に関する情報
        • GRAPHファイル一式に関する説明はこちら
    • シミュレーションの経過をARGの絵で表示するためのファイル群
      • [FIG_G]ファイル:ARGをVGJアプリケーションで表示するためのファイル(拡張子".gml")*1
        • FIG_Gファイル一式に関する説明はこちら
      • [FIG_S]ファイル:ARGをSVGビューアで表示するためのファイル(拡張子".svg")*2
        • FIG_Sファイル一式に関する説明はこちら


*1:VGJについてはこちら

*2SVGファイルとSVGビューアについてはこの記事(謝辞to:hirotokさん)を参照

DATA出力ファイル



  • 全11ファイルが"DATA"以下に出力される
  • 主要ファイル
    • ch_lastgen.txt
      • シミュレーションの結果、生じる、最終世代の個々の染色体上のSNPアレルについて
    • hp_all_xxxx.txt
      • シミュレーションの実行変数
      • シミュレーションで生じるハプロタイプの頻度とそのSNPアレルの情報について
    • hpseq_common_lastgen.txt
      • シミュレーションの結果、生じる、最終世代のハプロタイプのうち、頻度の高いものの、"00101001"表示のファイル
  • その他のファイルは次の3要因で名前付けがされる
    • 内容で5種類(染色体の置換塩基箇所についてか("ch_xxx")、ハプロタイプの頻度と置換塩基箇所についてか("DATA_hp_xxx")、ハプロタイプハプロタイプ型(01表示)についてか("hpseq_xxx")、ハプロタイプの登録IDについてか("hpid_xxx")、置換塩基箇所についてか("snplist_xxx"))
    • 出力世代で2種類(全世代について通して出力されるか("xxxallgen.txt")、最終世代だけか("xxxlastgen.txt")、)
    • ハプロタイプ頻度で2種類(頻度の高いハプロタイプのみか("xxxcommonxxx")、すべてのハプロタイプか("xxxallxxx")、)

Output file formats

1. DATA/ch_allgen.txt
/*
*全世代を通じて、すべての染色体の配列情報のファイル
*世代の冒頭に1行"generation"+"\t"+"世代番号"+"\n"
*引き続いて"Serial number in the generation"+"\t"+"mutation sites(\t区切り)"+"\n"
*mutation sitesの塩基番号は昇順ソートされている
*/

// Sample
//0,1,2の3世代、1世代に10本の染色体
ID mutation site1 mutation site2 mutation site3 ...
generation 0
0
1
2
3
4
5
6
7
8
9
generation 1
0 560
1 360
2 560 680
3 360 680
4
5
6
7
8
9
generation 2
0
1 360
2 560 680
3 360 680
4
5
6 560 939
7
8
9 360 560
//

2. DATA/ch_lastgen.txt
/*
*最終世代の染色体の配列情報のファイル
*ch_allgen.txtの最終世代の抜書きに相当する
*"Serial number in the generation"+"\t"+"mutation sites(\t区切り)"+"\n"
*mutation sitesの塩基番号は昇順ソートされている
*/

// Sample
//10本の染色体
ID mutation site1 mutation site2 mutation site3 ...

0
1 360
2 560 680
3 360 680
4
5
6 560 939
7
8
9 360 560
//

3. DATA/hp_all_allgen.txt
/*
*全世代を通じて、すべての葉プロタイプの配列情報と本数情報のファイル
*世代の冒頭に1行"generation"+"\t"+"世代番号"+"\n"
*引き続いて"世代内ID Serial number of haplotype in the generation"+"\t"+"全経過ID Serial number of haplotype throughout simulation"+"\t"+"本数"+"mutation sites(\t区切り)"+"\n"
*mutation sitesの塩基番号は昇順ソートされている
*/

//Sample
ID in gen ID in total frequency mutation site1 mutation site2 mutation site3 ...

generation 0
0 0 200
generation 1
0 0 199
1 1 1 28618
generation 2
0 0 199
1 1 1 28618
generation 3
0 0 195
1 1 2 28618
2 2 1 61214
3 3 1 49809
4 4 1 24423
//

4. DATA/hp_all_lastgen.txt
/*
*シミュレーションパラメタが冒頭に
*その後、hp_all_allgen.txtの最終世代の部分の抜書き(カラム内容情報つき)
*/

//
Sample
>Length of region(nt) 100000
>No.total chromosomes 200
>nt/1cM 100000.0
>No.generation 50
>Mutation rate 0.01
>Recombination rate/1cM 0.1
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

>Serial id Haplotype id No.chromosomes Mutation sites
0 0 144
1 7 31 29490
2 49 8 45052
3 60 1 75410
4 90 5 29654
5 94 2 27352 29490
6 96 3 70018
7 103 1 29654 59122
8 104 1 55257
9 105 3 29490 75410
10 107 1 29490 58212
//

5. DATA/hp_common_allgen.txt
/*
*hp_all_allgen.txtのうち、haplotype頻度が指定閾値以上のもののみの抜書き
*/

//
Sample
省略
//

6. DATA/hp_common_lastgen.txt
/*
*hp_all_lastgen.txtのうち、haplotype頻度が指定閾値以上のもののみの抜書き
*/

//
Sample
省略
//

7. DATA/hpid_all_allgen.txt
/*
*haplotypeの世代内IDと全経過IDとの照合表
"generation"+"\t"+"世代内ID"+"\t"+"全経過ID"+"\n"
*/

//
Sample
generation ID in gen ID throughout gens
0 0 0
1 0 0
1 1 1
2 0 0
2 1 1
3 0 0
3 1 1
3 2 2
3 3 3
3 4 4
4 0 0
4 1 2
4 2 3
//

8. DATA/hapid_common_allgen.txt
/*
*hapid_all_allgen.txtのうち、指定閾値以上の頻度を持つhaplotypeについての抜書き*/

//Sample
省略
//

9. DATA/hpseq_all_lastgen.txt
/*
*最終世代のhaplotypeの01表示(頻度情報はない)
*多型箇所が羅列される
*/

//
Sample
000000000
010000000
000100000
000000001
001000000
110000000
000000010
001000100
000010000
010000001
010001000
//

10. DATA/hpseq_common_lastgen.txt
/*
*hpseq_all_lastgen.txtのうち、指定閾値以上の頻度を持つhaplotypeについての抜書き
*/

11. DATA/snplist_lastgen.txt
/*
*最終世代のハプロタイプがもつSNPの位置をタブ区切りで1行に
*/

//
Sample
27352 29490 29654 45052 55257 58212 59122 70018 75410
//

GRAPH出力ファイル



ファイルにおいて、染色体もしくはハプロタイプはタブ区切りの2数で表される。"3 13"は第3世代の第13番染色体(もしくはプロタイプ)を示す

  • 全12ファイルが"GRAPH"以下に出力される
    • 染色体の伝達関係の6ファイルとハプロタイプの伝達関係の6ファイル
    • chxxxx : は染色体のファイル
    • hpxxxx : はハプロタイプのファイル
    • 6ファイルの内訳
      • 出力情報により3種類x出力形式により2種類の計6種類
        • 出力情報の3種類
          • xxchildxx : 左端のノード(タブ区切り2数で特定された、染色体もしくはハプロタイプ)に対し、それの子にあたるノードを右に記載
          • xxparentxx : 左端のノードに対し、それの親にあたるノードを右に記載
          • xx<>bparentchildxx : child ファイルとparent ファイルの出力を併せて1ファイルに出力。左端のノードの世代と右側のノードの世代の数値の大小で親子のどちらの情報を現しているかが区別される
      • 出力形式の2種類
        • xxxxx_1.txt : あるノードにとっての複数の子ノード(childファイルの場合)もしくは親(parentファイルの場合)ノードがある場合に、それらをタブ区切りで1行に出力する形式
        • xxxxx_2.txt : あるノードにとっての複数の子ノード(childファイルの場合)もしくは親(parentファイルの場合)ノードがある場合にそれらを親子ペアずつ改行して出力する形式

Output file formats

1. GRAPH/ch_child_1.txt
/*
*染色体をノードとするグラフの情報
*親→子
*親世代、親世代内ノードID、子世代、子世代内ノードID
*複数の子がいる場合には、世代、世代内ノードIDのペア情報がタブ区切りで羅列
*子のいない親の場合、子の欄はブランク
*/

// Sample
Parent gen Parent Node ID Child_1 gen Child_1 Node ID Child_2 gen Child_2 ID ...
0 0
0 1
0 2 1 111 1 199
0 3 1 183
0 4 1 172
0 5 1 73 1 174
0 6 1 175 1 180
0 7 1 48
0 8 1 77 1 139
0 9
//

2. GRAPH/ch_child_2.txt
/*
*染色体をノードとするグラフの情報
*親→子
*親世代、親世代内ノードID、子世代、子世代内ノードID
*複数の子がいる場合には、世代、世代内ノードIDの4カラム情報が行を変えて登録される
*子のいない親の場合、その親IDは登場しない
*/

// Sample
Parent gen Parent Node ID Child gen Child Node ID
0 2 1 111
0 2 1 199
0 3 1 183
0 4 1 172
0 5 1 73
0 5 1 174
0 6 1 175
0 6 1 180
0 7 1 48
0 8 1 77
0 8 1 139
//

3. GRAPH/ch_parent_1.txt
/*
*染色体をノードとするグラフの情報
*子→親
*子世代、子世代内ノードID、親世代、親世代内ノードID
*複数の親がいる場合には、世代、世代内ノードIDのペア情報がタブ区切りで羅列
*親の数は1か2、0や3以上はない
*/

// Sample
Child gen Child Node ID Parent_1 gen Parent_1 Node ID Parent_2 gen Parent_2 ID
1 0 0 126
1 1 0 95
1 2 0 49 0 67
1 3 0 121 0 153
1 4 0 59
1 5 0 155
1 6 0 128
1 7 0 166
1 8 0 53
1 9 0 196
//

4. GRAPH/ch_parent_2.txt
/*
*染色体をノードとするグラフの情報
*子→親
*子世代、子世代内ノードID、親世代、親世代内ノードID
*複数の親がいる場合には、世代、世代内ノードIDのペア情報が行を変えて登録
*/

// Sample
Child gen Child Node ID Parent gen Parent Node ID
1 0 0 126
1 1 0 95
1 2 0 49
1 2 0 67
1 3 0 121
1 3 0 153
1 4 0 59
1 5 0 155
1 6 0 128
1 7 0 166
1 8 0 53
1 9 0 196
//

5. GRAPH/ch_parentchild_1.txt
/*
*ch_parent_1.txtとch_child_1.txtの行をすべて出力。
*ただし、どちらのタイプかを識別するためのカラムを最左につけてある
*parentファイルの行と同じ場合には"parent",childファイルの行と同じ場合には"child
*/

//
Sample
parent 2 190
parent 2 191 3 80 3 184
parent 2 192 3 72
parent 2 193 3 35
parent 2 194 3 47 3 103
parent 2 195
parent 2 196 3 30 3 62
parent 2 197 3 156
parent 2 198 3 12 3 104
parent 2 199 3 50
child 3 0 2 76
child 3 1 2 159 2 176
child 3 2 2 42
child 3 3 2 50
child 3 4 2 166
child 3 5 2 105
child 3 6 2 77
//

6. GRAPH/ch_parentchild_2.txt
/*
*ch_parent_2.txtとch_child_2.txtの行をすべて出力。
*ただし、どちらのタイプかを識別するためのカラムを最左につけてある
*parentファイルの行と同じ場合には"parent",childファイルの行と同じ場合には"child
*/

//
Sample
parent 0 190 1 100
parent 0 193 1 162
parent 0 195 1 120
parent 0 195 1 158
parent 0 196 1 9
parent 0 197 1 64
parent 0 197 1 138
parent 0 198 1 193
child 1 0 0 126
child 1 1 0 95
child 1 2 0 49
child 1 2 0 67
child 1 3 0 121
child 1 3 0 153
//

7. GRAPH/ch_child_edge.txt
/*
*親→子のエッジを表示
*左の第1、第2カラムは親染色体の世代、世代内ID
*続いて、子染色体の世代、世代内ID
*次はフローの量をあらわすが1のみが定義されている(hp_xxxx_edge.txtの場合には、この数値が染色体数になるのに対応
*ついで該当エッジが表すDNA線分の始点と終点
*Coalescentの場合は両末端、Recombinationの場合は該当範囲のみ
*/

//
Sample
parent gen parent ID child gen child ID flow start end
0 2 1 111 1 0 100000
0 2 1 199 1 0 85493
0 3 1 183 1 0 100000
0 4 1 172 1 0 100000
0 5 1 73 1 18000 100000
0 5 1 174 1 0 100000
0 6 1 175 1 0 100000
0 6 1 180 1 0 100000
0 7 1 48 1 0 42851
0 8 1 77 1 0 100000
0 8 1 139 1 0 100000
//

8. GRAPH/ch_parent_edge.txt
/*
*子→親のエッジを表示
*左の第1、第2カラムは子染色体の世代、世代内ID
*続いて、親染色体の世代、世代内ID
*次はフローの量をあらわすが1のみが定義されている(hp_xxxx_edge.txtの場合には、この数値が染色体数になるのに対応
*ついで該当エッジが表すDNA線分の始点と終点
*Coalescentの場合は両末端、Recombinationの場合は該当範囲のみ
*/

//
Sample
child gen child ID parent gen parent ID flow start end
0 2 1 111 1 0 100000
0 2 1 199 1 0 85493
0 3 1 183 1 0 100000
0 4 1 172 1 0 100000
0 5 1 73 1 18000 100000
0 5 1 174 1 0 100000
0 6 1 175 1 0 100000
0 6 1 180 1 0 100000
0 7 1 48 1 0 42851
0 8 1 77 1 0 100000
0 8 1 139 1 0 100000
//

9. GRAPH/ch_parentchild_edge.txt
/*
*ch_parent_edge.txtとch_child_edge.txtの行をすべて出力。
*ただし、どちらのタイプかを識別するためのカラムを最左につけてある
*parentファイルの行と同じ場合には"parent",childファイルの行と同じ場合には"child
*/

//
Sample
label gen ID gen ID flow start end
parent 0 190 1 90 1 0 100000
parent 0 190 1 100 1 0 100000
parent 0 193 1 162 1 0 100000
parent 0 195 1 120 1 0 100000
parent 0 195 1 158 1 0 100000
parent 0 196 1 9 1 0 100000
parent 0 197 1 64 1 0 100000
parent 0 197 1 138 1 0 100000
parent 0 198 1 193 1 0 100000
child 1 0 0 126 1 0 100000
child 1 1 0 95 1 0 100000
//

10. GRAPH/ch_hp_nd_id.txt
/*
*染色体ノードとハプロタイプノードの対応
*第1、第2カラムは染色体ノードの世代、ID
*第3、第4カラムはハプロタイプノードの世代、ID
*/

//
Sample
19 183 19 0
19 184 19 2
19 185 19 2
19 186 19 0
19 187 19 10
19 188 19 0
19 189 19 2
19 190 19 1
19 191 19 0
19 192 19 0
19 193 19 0
19 194 19 1
19 195 19 2
19 196 19 0
19 197 19 0

//

11. GRAPH/hp_child_1.txt
/*
*ch_child_1.txtのハプロタイプ
*/

12. GRAPH/hp_child_2.txt
/*
*ch_child_2.txtのハプロタイプ
*/

13. GRAPH/hp_parent_1.txt
/*
*ch_parent_1.txtのハプロタイプ
*/

14. GRAPH/hp_parent_2.txt
/*
*hp_parent_2.txtのハプロタイプ
*/

15. GRAPH/hp_parentchild_1.txt
/*
*ch_parentchild_1.txtのハプロタイプ
*/

16. GRAPH/hp_parentchild_2.txt
/*
*ch_parentchild_2.txtのハプロタイプ
*/

17. GRAPH/hp_child_edge.txt
/*
*ch_child_edge.txtのハプロタイプ
*/

18. GRAPH/hp_parent_edge.txt
/*
*ch_parent_edge.txtのハプロタイプ
*/

19. GRAPH/hp_parentchild_edge.txt
/*
*ch_parentchild_edge.txtのハプロタイプ
*/

20. GRAPH/ch_with_hp_edge.txt
/*
*ch_child_edge.txtに染色体ノードに対応するはプロタイプノード情報を付け加えたもの
*親→子で、第1カラムにそのことを明示する"parent"
*それに続く4カラムは、親染色体の世代、染色体ノードID、世代、ハプロタイプノードID
*その後の4カラムにて、子染色体の世代、染色体ノードID、世代、葉プロタイプノードID
*末尾の2カラムには、エッジの始点と終点
*/

//
Sample
parent 0 0 0 0 1 18 1 0 0 100000
parent 0 2 0 0 1 163 1 0 0 100000
parent 0 2 0 0 1 166 1 0 0 100000
parent 0 4 0 0 1 38 1 0 0 100000
parent 0 6 0 0 1 101 1 0 0 100000
parent 0 7 0 0 1 106 1 0 0 100000
parent 0 7 0 0 1 141 1 0 0 100000
//

FIG_G出力ファイル



WF_ARGアプリケーションでシミュレーション起動時に立ち上がるVGJウィンドウのメニューバー FileからOpen(GML)を選び、該当gmlファイルを指定する。左から右に向かって世代が進む。描図にあたって、京大医学研究科ゲノム医学センターのウェブサーバ上の画像ファイルを読み込んでいるので、インターネット接続のない環境で描図すると、ファイルの読み込みエラーが表示されます。また、大きすぎるグラフは、VGJのメモリ限界を超えて表示できません。SVGファイルの方が若干描図限界が大きいようです。ノード名の表示が邪魔な場合には、メニューバーからPropertiesを選び、Use Node ID AS Default Label の選択をはずします

  • グラフのノード(頂点)とエッジ(辺)が表すものにより2パターン・3ファイルが"FIG_G"以下に出力される
  • パターン1:個々の染色体をノードで、その伝達関係をエッジで表す場合
    1. ndividual.gml
      • 緑のノードは始祖、ピンクは組換え体・褐色は組換えなしの非組換え体
  • パターン2:同一のハプロタイプ型をノードで、その伝達関係をエッジで表す場合
    1. hapfreqAll.gml : すべてのハプロタイプを表示する場合
    2. hapfreq.gml : 実行時に指定した頻度以上のハプロタイプのみを表示する場合

個々のノードの大きさは、ハプロタイプの頻度を表す。小さすぎるノードの絵が滲むことがあるが、適宜、Scaleを変更することで対処可能な場合が多い。それぞれのハプロタイプの置換塩基の位置は、SelecteNodesでノードを選び、ダブルクリックすると、Data1欄に表示される

追記



  • 拡張
    • 1.ARGの分割処理
      • WF_ARGのグラフ描図において、ノードは個々の染色体もしくは、集団中のハプロタイプを示している。この表現は、前者がIBD(Identitiy by Decent)、後者がIBS(Identity by Status)的な表現とも言える。そのねじれ具合を観測DNA線分全体について表現したものがARGであり、ねじれがRecombinantとRecombinant nodeが作るグラフ上のサイクルに相当している。しかし、サイクルの多いグラフは、そもそも複雑であるし、演算処理に多大な負荷をかけることは、自明である。グラフアプローチは複雑な対象にグラフ理論による方法を持ち込むことで楽をしようとするものだが、処理自体が魔法のように軽くなるわけではない。したがって、Zollner らのように(参考記事はこちら)それをより狭い線分に分割することによって、処理の単純化を図る。→現在、ベータ〜ガンマ版。
    • 2.VGJの持つノードグループ化機能の取り込み
      • VGJには複数のノードをグループとして登録することで、複数のノードを個別に描いたり、それらを1ノードとして描いたりすることができる。この描き分けは、同一のグラフ用テキストファイルに対して、VGJのメニューからのコマンドで行き来可能である。WF_ARGでは、個々の染色体ノードを表示するモードと、同一ハプロタイプ型の染色体ノードを塊にして表示する、集団ハプロタイプモードとがある。現在は、モード別に独立したグラフ情報テキストファイルを作成しているが、これを同一テキストファイルに搭載する。→現在、ベータ〜ガンマ版。
    • 3.Universal Ancestor,MRCAなど
      • 任意のノードの祖先染色体・子孫染色体、祖先ハプロタイプ・子孫ハプロタイプをARG上で追跡し抽出・評価する。Universal AncestorやMRCAなど、集団遺伝学的なアイテムも検出・表示する。いずれも、テキストデータベースでのハンドリングとそれを描図して理解を助けることを念頭に置く。→現在、計画段階。