输出序列文件
英文原文下面将展示如何利用两个模块创建一个序列文件。上例中,已经有了一个序列对象$seq_obj,然后需要创建另一个用于读写文件的对象,SeqIO对象。IO表示Input-Output(输入输出)。Bio::SeqIO可用于读取和输出各种Bioperl支持的序列格式文件(支持的序列格式列表详见SeqIO HOWTO)。创建Bio::SeqIO对象和前述使用new()创建序列对象的方法类似,如下所示:
1 2 |
|
注:在-file参数中,“>”符号表示要创建一个名字为“sequence.fasta”的文件用于内容输出。这和一般Perl脚本中,使用函数open()来写文件也是用“>”。(译者注:< 输入、> 输出)。在“-format”参数中声明序列格式是“fasta”,所以创建的会是一个fasta格式的序列文件。
现在来把刚才的两个例子放在一起:
1 2 3 4 5 6 7 8 9 |
|
最后一行write_seq()是个新东西,是不?在这一行中,序列对象$seq_obj作为write_seq()的参数传递给了SeqIO对象。从另一个角度看,SeqIO对象能够识别并处理序列对象,并将此序列对象以fasta格式输出到一个文件中。来试着运行一下这个脚本:
perl seqio.pl在同一文件夹下会有一个新的文件,“sequence.fasta”,内容如下:
>#12345 example 1 aaaatgggggggggggccccgttSeqIO非常聪明,比如我们把-format参数设置为“genbank”,序列文件会变成这样:
LOCUS #12345 23 bp dna linear UNK DEFINITION example 1 ACCESSION unknown FEATURES Location/Qualifiers BASE COUNT 4 a 4 c 12 g 3 t ORIGIN 1 aaaatggggg ggggggcccc gtt //