Chinaunix

标题: 提取目的序列,我的程序运行后没有结果 [打印本页]

作者: hubenxia    时间: 2012-11-10 15:05
标题: 提取目的序列,我的程序运行后没有结果
本帖最后由 hubenxia 于 2012-11-10 15:10 编辑

一下是我写的程序 运行后没有结果 不知道是什么原因 求高手赐教


#!/usr/bin/perl -w
open HG, "<seq.fna";
open HS, ">result.txt";
my %hash;
while ($sag = <HG>) {
  my ($head,$line) = split /\n/,$sag;
  $hash{$head} = $line;
  open HA, "<list.txt";
  foreach $tail (<HA>) {
  chomp($tail);
if($hash{$head} =~ /$tail/) {
print HS $sag;
print $sag;
                            }
           }
close HA;
}
close HG;
close HS;



我需要提取这个编号的contig00139 4963 138  序列


我的序列是这个:>contig00139  length=4963   numreads=1960
CGGTGCCcGGCGGCCAGTGCCTGGCGGGCGATGTCGGTGCCGAGTCCGCGCCCGGCGCCG
GTGATGAAGAACACCTTGCTCATCAGACGGATCCTCCGTAGGGGTGGTGGGGTCACGCGG
CGTTGCGGGCGTCGACGATCTTCTTGAGCTGCGTGATCGCGGTGACGGCGTTGGGCCAGC
CCGCGTAGAACGCCAGATGGGTGATCGCCTCGGACAGCTCCTCCACCGTGAGCCCGTTGT
CCAGGGCGACACCGAGGTGGTAACCGAGCTGCTCGTTGCGGTAGAGGGCGGACAGCACAC
TCACTGTGACCAGACTGCGATCCCGCGGAGACAGCCCCGGACGCTCCCAGACATCACCGA
ACAGGACGTCGTCGGTGAGCGCGACGAGCTTGGGCGCGATCTCGGCAAGTTCCTGCGGGG
CGGACTGCTCAGGCATACGAACAACTCCTTGATCAACACGGGCGGACCGGTCACCTCCAC
CGTGGGGTGCGGGCGGCTCTCCGGCAGCACCACGGCTCGTCTCCCGGGTCGTTTCCGGCA
GCcTCAGCCGCTGACGCCTTCGAGGAAACCGCAGCTCAAAGGGGTGCGGAAGGGACTGTT
GTCACAGGTACTGACAGGCCCCCCCACATCTGCGCTGTCCGGCTTAGCGTGGAAGGCGTG
AGCATCGAGAGCGACATCCGCGAGTTCCTGGCCTCCCACCGCGCCAAGATCACCCCCCAG
CAGGCCGGGCTGCCCGCCTACGGCACCAACCGCCGGGTAAAGGGCCTGCGCCGCGAGGAA
GTCGCCATGCTCGCCGGCGTCAGCGTCGACTACTACGTCCGCCTGGAACGCGGCCGCATC
GCCGGGGCCTCGGAAGAAGTCCTCGACGCCGTCGCCAACGCCCTCCATCTCGACGAGGCC
GAACGCGCCCACCTCTACGACCTGGCCCGCGCCGCcGCCAAACgCCCAGCCCACCGCAGG
CGCGCCCGCGGCCcACTCCCCGACAGCATCCTGCGCGTCCTGCGCTCCATGACCGACTCC
CCGGCCTTCATCCGCAACGGCCGCCTCGACATCCTCGCCACCAACTCCCTCGGCCGCGCC
CTGTACTCGCCCCTGTTCCGCGACCCCACCGCCCAACAGGTCAACATCGCCCGCTTCCAG
TTCCTCGACCCGCTCGGCCGCGACTTCTTCCCCGACTGGGAGCAGTCCCTGAACACCACC
GTGTCCCTACTGCGCACCGAGGCCGGGCGCGCCCCGCACGACAACGACCTGACGCAGCTG
ATCGGTGAACTCGTCACCCGCAGCGAGGGATTCCGCACCGCCTGGGCCAAACACAACGTG
CGCCTGCACCACACCGGCCGCAAGTCCTTCCGTCACCCCGCCGTCGGCGTGCTCACCCTC
GACTTCGACGCCCTGGACCTGTCCGCCCAGCCCGGTCTCACCCTCACCGCCTACAGCGCC
GCTCCCGGCACCCCcGACCATGACGCCCTGCAACTCCTCGCCGCCTGGGCCGCCACCGAG
ATCGCCTCGCCCCcAACAGCCCCACTCCCACCCACCGGCACAACCGATGACCACGACGGC
AGCCGTCGGCCGTGAGCCTCATGGACGTGCGCGAGAAACGACGGCACTGCATGAGCTTGG
TGCCTGAGCTTGGTGCCTGAACAGAAAGTGCTCCGCCCAGGGATCTCGGCCACGGGAAAA
GGCCACGGAGACGGCCACGTAGTACGGCGGTTCATGGGCCGCGACGGGCGCGACGGCGGC
CTCCGAATGAGCGCTCATGGGGCCACCGTAGAGCGGGATGCGCCCGACGATCCAGCGTCC
TTCCTGAACGGGATGCGTGAGGGACCGGCCTCTTGAGCAATGCCATCCGCGCTCTCAGCT
CTCCCCGACCTTCCGGAATCGGCCACGAGTCCACCGGCTCGCAGAACGGCGCACGGGACG
GGGAACGCCAAGGCCCACGGAGGCGACGCAGCGGCCCGCTCCGCCGCAGGGTGGAGCCGA
CTGCGGCCGGGAACAGGTTCCGTGGCGAGGCGCGTCAAGACTTCGCCAAGCAGTTGCGTG
ATCTCGCAACTATGCCGTTATGCTTCTGGAGGTTTGAAGAAGGCACCTCGTTCGGTGAGG
CGTCTGCACGGACACAGGCCACTGACCCGACGACGTCGAGAGACGCCCAGGTTCAGGACA
GGTCTCCCCGGCCTAAGGGGTGACCCCAAGTGGCTTCCCCCACAAGCGGAATACGCCGTG
CAGTGCCAAAGCTCTGACGAGTTGGGGTGAACCGGTCATCGGGACCGGTCTGCTCCTTGC
CGCGTCGTCCAGCGCCCACGTGCGCTCCGGCCGGGAGGAGGCGAGAGACATGGACTGCAG
TTGCAGTAGTCCGGGCCACAGTAGGCCCGTCATCCGGATTCGCATGTCCTTCTCGACCTC
CGGTACGCGGTAACCACCTCTCCCGCGCGCACGCGCCGCCACGCCCCAGGCACCCGTACG
GCCTTCGCCGTCCCGGGTGTCCGGGCTGCGCGCTCGCAACGGGACGGCTCCCGCGCGCCC
TCAACACCGCTCCCCAACGGGGGAATTGGGAGGCCCGCCATGACCAGCCTGATCAACGAC
AAGACCGTTCCCGCGCCGCGCAGCGCAGTCCTCGACGACGCGCACGTGGGCGACATCCGC
GGTGCGCTCGGCACCATCAAGCACGACGACACCGGCGAACGCCGGGGCCTGTCCGCCAAA
CTCAAGACGTTGCTGGCGATAGTCGGCCCCGGCCTGATCGTGATGGTCGGCGACAACGAC
GCCGGCGCCTTCGCCACGTACGGCCAGGCCGGACAGAACTACGGCACGCAGCTGCTGTGG
ACCCTGCTCCTGCTCGTCCCCGTCCTGTACGTCAACCAGGAGATGGTGCTGCGTCTCGGC
GCGGTGACCGGAGTGGGGCACGCGCGCCTGATCCTGGAGCGGTTCGGGAAGTTCTGGGGC
GCGTTCAGTGTCATCGACCTGTTCCTGCTCAACGCGCTGACGCTGGTCACCGAGTTCATC
GGCATCACCATGGCCGCCGACTACCTgGGGCTGCCGAAGACGGCTCGGTGATCCTGGCCG
CAGCGTCATCATCGCTTCCGCCTTCACCGGCTCCTTCCGCCGCTTCGAGCGGATCGCCGT
CGCCCTGTGCGCCGCCTCGCTCCTCCTGGTCCCGCTGTACTTCCTGCTCCACCCCAAGAC
GTCGCAGATGGCCCACGACTTCGTGACCCCGGTCATCCCGGGCGGCAGCGGCGAGTTGGC
CACCGTCATGTTGCTGATCATCGGGATCGTGGGCACcACCGTGGCGCCCTGGCAGCTGTT
CTTCCAGCAGTCcTACGTCATCGACAAGCGCATCACCCCGCGCTTCATGAAGTACGAGAA
GGTCGACCTGTGGATCGGCATCGCCGTCGTCGTCATCGGCGCCGCCGCCCTGATGGGCCT
GGTCGCCGCCGCGTTCGCCGGGACGAAGGGCTTCGGCGACTTCACCGACACCGCGGGCCT
GATCAACGGCATCGCGGCCAAGGCCGGCAAGGTCGCCGGGGTCCTCTTCGCGATCGCCCT
GCTGGACGCGTCGATCATCGGCGCGTTCGCGGTGTCGCTGTCCACCGCGTACGCGATCGG
TGACGTGTTCGGGATGAAGCACTCCCTGCACCGGGGCATCAAGGGCGCCAAGGGCTTCTA
CGCCGTCTACGCCGGCCTCGTCGCCGCTGCGGCCACCATCGTGCTGATCCCCGGCTCCCC
GCTCGGCCTGCTCACCCAGGGCGTGCAGACCCTCGCCGGGGTCCTGCTGCCCTCCGCCTC
CGTCTTCCTGCTGCTGCTCTGCAACGACAAGCAGGTCCTCGGACCGTGGGTGAACGGGCC
CAAGACCAACGCCTTCACCGCGGCGGTCGTCGGCGTCCTGGTGTCACTGTCGATCATCCT
CACCGCCTCGGTGCTCTTCCCCGACATCAGCGCGGCCGCCATCCTCGACATCATGGCCGG
CTGCGGCGTCGCCGGAGTGCTGGCCGCCGGCTACGCCTTCACCCGCCGGCGCACCGCCAC
CAAGGAAGACCCCATCGACCGCACCGGCCGCGACTCGTGGCGGATGCCGCCGCTGGAGAC
GCTGACCCGGCCGGTCATGTCCACCGGCCGCAAGATCGGTATGGGAGCCcTGCGCACCTA
CCTGCTGGTCGCGGCGGTCCTGGTCGTCATCAAGATCGTCCAGGTTGCCCTCGGCAGCTG
ACCCACGCACGTCGACAACCGACCACTCCCGTGCCGGGGTGGCGGCGGCACCTCCCCGCC
CGCCGCCACCCCACCGACCCCTcAcGGAGATGGgAGGGCACCCATGCGCCTTCTCCCGCA
CCTCACCAAGCTCACCGCACCGGCCCGGCGGCACCACCACGCCACCGACCAACGTCCTGG
CCCGAGCCCCACCGGCCACATCTGCCcGCGTGTGCAGTTGGCCCTGCATGACGGCACCGA
GCGGGAGTACCTGCTCGACGGCCCCAGTACCTGCCCACTCCCCCGCGATCCGCGCGCcAG
GTACGAGCcGCGCGTGCACCTGGCcTACCTCCTcGCCcAGCAGGGCcACGAcGCCCACTG
GCTCGCCCGCTtCGCcGACCTGCcGCTGCCCGCGGCCGACCGCCTCACCGAAGCCGCCTC
CTCGGCCACCCGAGCCGGACACGCTCCGTAGCTCCCGCGGGCACTGAAGCCCGCACACCA
CCGCATCGTTCACCCGCCCCCGGCCATGCCTGTCCTACGCCGACAGCGCGCCGCCCCACG
GAGGTGACTCCCGCATGTCCGTCTTCACCGCTGTCCACATCCACCGCCCCGCCCTCCGGC
GCGGGAACACCCGCCGCGTCGTACGCGACTTGCTCTCCGCAGTGCTGCGGCGCATCGCCG
ACAGCCCTCTCGACAGCACCGTTGTCCGCACACTGCCCCGTCCGGCGTCCGCGACCGGGG
CGACCGGCCGGGAGCGGCCCACTGGGCTGCACGCCCACTGGCA





作者: gaoyang636    时间: 2012-11-12 09:10
如果这么写,是不是应该在while循环前,把 $/ 改为 ">"
作者: hubenxia    时间: 2012-11-12 10:08
#!/usr/bin/perl -w
open DATA,"<seq.fna";
open SEQUENCE,">result.txt";
my %hash;
my $last;
while (<DATA> {
if (/^\>/) {
$last = $_ ;
}
else {
$hash{$last} = $_;
}
open DABA, "<list.txt";
while ($line=<DABA> {
($number) = $line =~/^(\S+)\s+/;
if ($last =~/$number/) {
print SEQUENCE $last;
print SEQUENCE $hash{$last};
print $last;
print $hash{$last};
}
}
close DABA;
}
close DATA;
close SEQUENCE;




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2