Perl处理fasta

/ #生物信息学 / 4 comments

Perl简单处理单条fasta序列的文件。

#!/usr/bin/perl -w
while (<>)
{ 
    chomp;#去掉字符串结尾的$/(默认是换行符).
    if(/^>/)#  判断开头是>.
    {   
        ($display_name,$desc)=/>(.*?)\s(.*)$/; #读取描述性文字.
    }
    else  #  如果这一行的开头不是>,把每一行的序列都连接起来.
    {
        $seq.=$_;
        #写上需要的各种处理有没有!
    }
} 
#各种处理...

上面的例子实用性不高,因为一般都不会是单条序列。如果是多条序列的话,如下:

#!/usr/bin/perl -w
open FILE, ""; #将$/(默认换行符)替换成>.
while ()
{
   if($_ =~ /(gi.*?)\s(.*)>/ms){ #这里需要自己适当修改就行.
           $desc = $1;
           $seq = $2;
           $seq =~ s/\s//g; #把序列里的换行去掉.
           #这里添加各种处理...
   }
}
#各种处理...
回应
  1. sue

    看不懂

    Reply
  2. 好迷你的BLOG ;)

    Reply
  3. SB

    博客,很小巧,感觉是很漂亮。不过,不适合长篇大论。

    Reply
    1. @SB

      对啊,所以主要还是定位于生活了。

      Reply