设为首页收藏本站
开启辅助访问
切换到窄版

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1976|回复: 5

请教perl语句的解释,

[复制链接]
发表于 2011-6-21 13:26:42 | 显示全部楼层 |阅读模式
01
#!/usr/bin/perl

02


03
use strict;

04
use warnings;

05


06
use Bio::SeqIO;

07
use Bio::SeqUtils;

08


09
my $fi = $ARGV[0];

10
my $fo = $ARGV[1];

11


12
my $in =

13

Bio::SeqIO->new( -file => "$fi", -format => 'fasta', -alphabet => 'protein' );

14
my $out = Bio::SeqIO->new( -file => ">$fo", -format => 'tab' );

15


16
while ( my $seq = $in->next_seq() ) {

17

my $id
= $seq->id;

18

my $utils
= new Bio::SeqUtils;

19

my $string = $utils->seq3($seq);

20

my $record = Bio::Seq->new(

21

-display_id => "$id",

22

-seq
=> "$string"

23

);

24

$out->write_seq($record);

25
}

运行:
1perl aa.pl in.fa out.txt ,有没有人能稍微解释一下这个小程序,每一句的含义,
发表于 2011-6-22 23:51:50 | 显示全部楼层
#!/usr/bin/perl

02


03
use strict;

04
use warnings;

05


06
use Bio::SeqIO;

07
use Bio::SeqUtils;

08


09
my $fi = $ARGV[0]; #接收第一个参数,(在你这个程序里,相当于把输入文件名保存到这个变量里了)

10
my $fo = $ARGV[1]; #接收第二个参数

11


12
my $in =

13

Bio::SeqIO->new( -file => "$fi", -format => 'fasta', -alphabet => 'protein' ); #创建一个SeqIO对象,即可以通过这个对象从文件$fi中读取fasta格式的序列

14
my $out = Bio::SeqIO->new( -file => ">$fo", -format => 'tab' ); #同上,只是用于输出

15


16
while ( my $seq = $in->next_seq() ) { #每次从文件中读取一个序列

17

my $id
= $seq->id;#获取每个序列的id

18
#下面这些还没用过,但是看起来,应该是将上面读取的每个序列重新包装:只将id和序列包装进去。
my $utils
= new Bio::SeqUtils;

19

my $string = $utils->seq3($seq);

20

my $record = Bio::Seq->new(

21

-display_id => "$id",

22

-seq
=> "$string"

23

);

24

$out->write_seq($record);

25
}
发表于 2012-7-23 15:47:03 | 显示全部楼层
你问你能运行这个程序吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|生物信息学论坛 ( 蜀ICP备09031721号  

GMT+8, 2016-12-8 19:53 , Processed in 0.108559 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表