文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>genbank2cds

genbank2cds

时间:2006-07-06  来源:vio

# genbank input to CDS sequences.
# vio.
# 2006-5-16.

use strict;
use warnings;

my $seq_tag = 0;
my $seq = '';

my $name = '';
my $name_tag = 0;

my @cut;

while (<STDIN>) {
        $name = $1 if /^LOCUS\s+(\S+)\s+/;
        $name_tag = 1 && $name.= $1 if /^DEFINITION(.*)/;
        $name_tag = 0 if /^ACCESSION\s+/;
        $name.= " $1" if /^\s{12}(.*)/ && $name_tag;

        if (/\s{5}CDS\s{13}(.*)/) {
                my $cut_cds = $1;
                $cut_cds =~ s/[^0-9.,]//g;
                push @cut,$cut_cds;
        }

        $seq_tag = 1 if /^ORIGIN/;
        $seq_tag = 0 if /^\/\/$/;
        if ( $seq_tag && s/[0-9 ]|ORIGIN//g) {
                chomp;
                $seq.= $_;
        }

        if (/^\/\/$/) {
                # print "@cut\n";
                map{
                        my @cut_tem = split(/,/,$_);
                        my $cds = '';

                        map{
                                my ($start, $stop) = split(/\.\./, $_);
                                $cds.= substr($seq, $start-1, $stop-$start+1);
                        } @cut_tem;

                        print ">$name\n";
                        for (my $i = 0; $i*60 <= length $cds; $i++) {
                                print substr($cds, $i*60, 60), "\n";
                        }
                } @cut;

                ($name, $seq, @cut) = ('', '');
                ($seq_tag, $name_tag) = (0, 0);
        }
}

相关阅读 更多 +
排行榜 更多 +
沙盒堡垒大逃杀

沙盒堡垒大逃杀

休闲益智 下载
隐形大师

隐形大师

休闲益智 下载
暴打老板5

暴打老板5

休闲益智 下载