免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1590 | 回复: 2
打印 上一主题 下一主题

提取目的序列,我的程序运行后没有结果 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 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




论坛徽章:
0
2 [报告]
发表于 2012-11-12 09:10 |只看该作者
如果这么写,是不是应该在while循环前,把 $/ 改为 ">"

论坛徽章:
0
3 [报告]
发表于 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;
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP