いつからかわからないけど、Primer3 の入力フォーマットが微妙に変わったらしい。これまで、入力配列は
という形で指定していたが、
に変わったらしい。このせいで 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 はまだ新しいファイルフォーマットに対応していないようですね。
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 はまだ新しいファイルフォーマットに対応していないようですね。
コメント
コメントを投稿