2010/08/11

Primer3の入力フォーマットが変わったのでeprimer3がエラー

いつからかわからないけど、Primer3 の入力フォーマットが微妙に変わったらしい。これまで、入力配列は

SEQUENCE=ATGCAGAGAG...

という形で指定していたが、

SEQUENCE_TEMPLATE=ATGCAGAGAG...

に変わったらしい。このせいで EMBOSS の eprimer3 が SEQUENCE タグを発見できなくて動かない。

Primer3 のコードをいてみたら、read_boulder.c の以下の箇所が
[code]
if (COMPARE("SEQUENCE_TEMPLATE")) { /* NEW WAY */
if (/* p3_get_seq_arg_sequence(sa) */ sa->sequence) {
pr_append_new_chunk(parse_err, "Duplicate tag: ");
pr_append(parse_err, "SEQUENCE");
} else {
if (p3_set_sa_sequence(sa, datum)) exit(-2);
}
continue;
}
[/code]
となっている。なぜ変えたしw なにが NEW WAY だよw

よって read_boulder.c 内の SEQUENCE_TEMPLATE を SEQUENCE に変更してコンパイルすれば、eprimer3 で使える primer3_core ができるよ。

Primer3 2.2.2-beta と EMBOSS-6.3.1 の話でした。そのうち、EMBOSS のなかのひとがなんとかしてくれるでしょう。

追記: cvs の EMBOSS のソースをみましたが、eprimer3 はまだ新しいファイルフォーマットに対応していないようですね。