Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex fasta文件中的模式计数器_Regex_Perl_Awk_Counter_Fasta - Fatal编程技术网

Regex fasta文件中的模式计数器

Regex fasta文件中的模式计数器,regex,perl,awk,counter,fasta,Regex,Perl,Awk,Counter,Fasta,我正在尝试获取fasta文件中匹配模式的计数。我从一个包含57k序列的fasta文件开始。我想提取匹配模式序列的计数,并显示模式的起始位置 输入文件: chr1 ATTAG**CAGAT**GTGACGTCGATGT**CAGAT**TG chr2 TGAGCTG**CAGAT**CGTAGATGATTCTGCAGGAACCT chr3 TCTTT**CAGAT**GCCTCTG**CAGAT**TC 搜索模式CAGAT 所需输出: chr计数p1p2 chr1-2-6-25 chr2-1

我正在尝试获取fasta文件中匹配模式的计数。我从一个包含57k序列的fasta文件开始。我想提取匹配模式序列的计数,并显示模式的起始位置

输入文件:

chr1 ATTAG**CAGAT**GTGACGTCGATGT**CAGAT**TG

chr2 TGAGCTG**CAGAT**CGTAGATGATTCTGCAGGAACCT

chr3 TCTTT**CAGAT**GCCTCTG**CAGAT**TC
搜索模式CAGAT

所需输出:

chr计数p1p2

chr1-2-6-25

chr2-1-8

chr3-2-6-19


提前感谢

我假设您的文件以制表符分隔

   open(my $in,"<:utf8","in.txt") or die "Cannot open FILE in.txt : $!\n";

    while(<$in>) {
        chomp($_);
        my $cur = $_;
        #$print "iam $cur\n";
        my @tt = split(/\t/,$cur);  #assuming you file tobe tab seperated
        my $s1 = $tt[1];
        my $s2 = "CAGAT";
        my @val;
        print "$cur\t";
        while ($s1 =~ /($s2)/g) {
            push(@val,  $-[0]); #$-[0] is the offset of the start of the last successful match.
        }
        my $count = @val;
        @val = join(",",@val);
        print " No of Matches:$count Starting positions:@val\n";

    }

你试过什么。?你正在讲述基因组序列,如果你把整个序列解析成一个单一的变量,它就会耗尽内存。你应该逐行解析文件。感谢你的回复,我不想解析序列,我只想知道每个染色体中存在的匹配模式的数量。请显示实际输入或链接NCBI URL。我不明白chr1-2-6-25这个输出。我正在搜索每个染色体上的模式,在染色体1上我得到了我的模式的2个命中位置,这些命中位置是第6位和第25位,就像在线粒体2中,我在第8位得到了我的模式的1个命中位置,我理解计数,但P1和P2在你的输出中到底是什么?
chr1    ATTAG**CAGAT**GTGACGTCGATGT**CAGAT**TG

chr2    TGAGCTG**CAGAT**CGTAGATGATTCTGCAGGAACCT

chr3    TCTTT**CAGAT**GCCTCTG**CAGAT**TC