我一直在尝试使用 BioPerl 编写代码,该代码将查询 Genbank 中的特定蛋白质,然后将结果打印到 fasta 文件中。到目前为止,我的代码可以工作,我可以将结果打印到屏幕上,但不能打印到文件中。我在 BioPerl 网站和其他来源(CPAN、PerlMonks 等)上进行了大量研究,但我没有找到任何可以解决我的问题的方法。我了解如何从文件中读取内容,然后将输出打印到新文件(使用 SeqIO),但我遇到的问题似乎是我希望程序读取的内容未存储在文本或 FASTA 文件中,但是是数据库查询的结果。帮助?我是一个初学者,对 Perl/BioPerl 和一般编程很陌生。
这是我到目前为止的代码:
#!usr/bin/perl
use Bio::DB::GenBank;
use Bio::DB::Query::GenBank;
use Bio::Seq;
$query = "Homo sapiens[ORGN] AND TFII-I[TITL]";
$query_obj = Bio::DB::Query::GenBank->new(-db => 'protein', -query => $query);
$gb_obj = Bio::DB::GenBank->new;
$stream_obj = $gb_obj->get_Stream_by_query($query_obj);
while ($seq_obj = $stream_obj->next_seq)
{print $seq_obj->desc, "\t", $seq_obj->seq, "\n";
}
所以,我想在最后一行做的不是打印到屏幕上,而是打印到 fasta 格式的文件。
谢谢,~杰