Perl基础系列合集
Posted pythonic生物人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Perl基础系列合集相关的知识,希望对你有一定的参考价值。
"pythonic生物人"的第42篇分享。
原创不易,点个“赞“或"在看"鼓励下呗!
将之前学习Perl的所有文章汇总以便查阅。
以下完全为了凑字数
#!/usr/bin/perl
use strict;
use warnings;
my (%hash,%GC,%ATGC);
open IN,"<",$ARGV[0];
while(<IN>){
chomp;
next if /^@/;#跳过@开头的行
my @line=split;
next if $line[2] eq "*";#跳过未匹配上的序列
next if $line[4] < 25;#排除比对质量小于25的序列
#计算ATGC的碱基个数
my $G = ($line[9] =~ s/G/G/g);
my $C = ($line[9] =~ s/C/C/g);
my $A = ($line[9] =~ s/A/A/g);
my $T = ($line[9] =~ s/T/T/g);
my $GC = $G + $C;
#计算每个染色体匹配到的read数,GC碱基个数,总碱基个数
$hash{$line[2]} ++;
$GC{$line[2]} += $GC;
$ATGC{$line[2]} += ($GC + $A + $T);
}
close IN;
foreach (keys %hash){
printf "$_ $hash{$_} $GC{$_} %.2f%% ",($GC{$_}/$ATGC{$_})*100;
}
以上是关于Perl基础系列合集的主要内容,如果未能解决你的问题,请参考以下文章