来个小程序perl如下序列:E078 10 CTACATCCAACA 21 100E034 10 ATCCACATCAA
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/10/08 05:34:50
来个小程序perl
如下序列:
E078 10 CTACATCCAACA 21 100
E034 10 ATCCACATCAAGGATT 25 100
E012 59 CCAAGTTTT 67 100
E012 62 CAGAATCGGAGGAGGAAA 79 100
E056 39 AAGGTTTACAAGGTTCACCTC 59 100
E012 36 GCTGCCAACACCAA 49 100
E012 24 GACCAAATCGTCAAGATGGCCAA 46 100
E034 21 AACAAGATC 29 100
E012 4 CCGAGAAGCGCGGAAAGCGTCA 25 100
E034 57 AACCTTCCAAACGTC 71 100
目的:1 把有E012开头的行都提出来.2算出E012开头的序列,占总序列的百分比.
结果如下:
E012 59 CCAAGTTTT 67 100
E012 62 CAGAATCGGAGGAGGAAA 79 100
E012 36 GCTGCCAACACCAA 49 100
E012 24 GACCAAATCGTCAAGATGGCCAA 46 100
E012 4 CCGAGAAGCGCGGAAAGCGTCA 25 100
占据率:0.5(E012有5个,E开头行有10个,故5/10=0.5)
如下序列:
E078 10 CTACATCCAACA 21 100
E034 10 ATCCACATCAAGGATT 25 100
E012 59 CCAAGTTTT 67 100
E012 62 CAGAATCGGAGGAGGAAA 79 100
E056 39 AAGGTTTACAAGGTTCACCTC 59 100
E012 36 GCTGCCAACACCAA 49 100
E012 24 GACCAAATCGTCAAGATGGCCAA 46 100
E034 21 AACAAGATC 29 100
E012 4 CCGAGAAGCGCGGAAAGCGTCA 25 100
E034 57 AACCTTCCAAACGTC 71 100
目的:1 把有E012开头的行都提出来.2算出E012开头的序列,占总序列的百分比.
结果如下:
E012 59 CCAAGTTTT 67 100
E012 62 CAGAATCGGAGGAGGAAA 79 100
E012 36 GCTGCCAACACCAA 49 100
E012 24 GACCAAATCGTCAAGATGGCCAA 46 100
E012 4 CCGAGAAGCGCGGAAAGCGTCA 25 100
占据率:0.5(E012有5个,E开头行有10个,故5/10=0.5)
my $E_num = 0;
my $E_total = 0;
my $res = 0;
while ()
{
if ($_ =~m/^E012.*?/g)
{
$E_num = $E_num + 1;
print $_;
}
if ($_ = ~m/^E.*?/g)
{
$E_total = $E_total +1;
}
}
$res = $E_num/$E_total;
print "占据率:$res(E012有 $E_num个,E开头行有$E_total个,故$res)";
以上假设命令行文件读取,可以参照自行修改
再问: 谢谢你,新年快乐。。 #!usr/bin/perl -W open IN,"E文件.txt"; open OUT,">E结果文件.txt"; my $E_num = 0; my $E_total = 0; my $res = 0; while (){ if ($_ =~m/^E012.*?/g) { $E_num = $E_num + 1; print OUT $_; } if ($_ = ~m/^E.*?/g) { $E_total = $E_total +1; } } $res = $E_num/$E_total; print OUT "占据率:$res";
再答: 这个有点小错误:修改下吧! 1.open OUT,">E结果文件.txt";这句改成 open OUT,">>E结果文件.txt"; 2.while (){ 这句改成 while (){ 最后关闭文件: close(IN); close(OUT);
my $E_total = 0;
my $res = 0;
while ()
{
if ($_ =~m/^E012.*?/g)
{
$E_num = $E_num + 1;
print $_;
}
if ($_ = ~m/^E.*?/g)
{
$E_total = $E_total +1;
}
}
$res = $E_num/$E_total;
print "占据率:$res(E012有 $E_num个,E开头行有$E_total个,故$res)";
以上假设命令行文件读取,可以参照自行修改
再问: 谢谢你,新年快乐。。 #!usr/bin/perl -W open IN,"E文件.txt"; open OUT,">E结果文件.txt"; my $E_num = 0; my $E_total = 0; my $res = 0; while (){ if ($_ =~m/^E012.*?/g) { $E_num = $E_num + 1; print OUT $_; } if ($_ = ~m/^E.*?/g) { $E_total = $E_total +1; } } $res = $E_num/$E_total; print OUT "占据率:$res";
再答: 这个有点小错误:修改下吧! 1.open OUT,">E结果文件.txt";这句改成 open OUT,">>E结果文件.txt"; 2.while (){ 这句改成 while (){ 最后关闭文件: close(IN); close(OUT);
来个小程序perl如下序列:E078 10 CTACATCCAACA 21 100E034 10 ATCCACATCAA
有两个fastaq格式的DNA序列文件,想写一个perl程序完成!
如何运行一个perl程序
求助一个程序(perl程序)
求perl的统计程序,统计病毒序列中的ATCG总数,以及各个核苷酸所占比例【病毒DNA中有四种核苷酸,即ACTG】
C语言程序:求下面分数序列的前10项之和:2/1,3/2,5/3,8/5,13/8,21/13,...(程序填空)
perl $@
在perl中如下定义是什么意思
用perl语言测DNA序列,全部分给你!
编写一段关于blast提取序列的Perl语言
求名词解释:-10序列和-35序列
关于perl的问题现有a文件100:00:16,000 --> 00:00:19,000When I was 10 ye