计算sam文件每个染色体匹配reads数,GC碱基数,GC含量。
gccount_reads.pl
#!/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]} +&#