Perl脚本练习
要求
统计每个样本不同表达量区间的基因数量
数据
表达矩阵
思路
- 初始化一个哈希,用于计数
- 表达矩阵的一列为一个样本,对每列每个基因的表达量进行判断,并计数
代码
open(IN, "D:/exp.txt") || die "$!";
open(OUT, ">D:/out.txt") || die "$!";
my %stat =(
"0.5-5"=>0,
"5-100"=>0,
"100"=>0
);
while(my $line = <IN>){
chomp $line;
my @tmp = split(/\t/, $line);
#第一个样本
if ($tmp[1]>=0.5 and $tmp[1]<=5){
$stat{"0.5-5"} ++;
}
if ($tmp[1]>=5 and $tmp[1]<=100){
$stat{"5-100"} ++;
}
if ($tmp[1]>=100 ){
$stat{"100"} ++;
}
}
close(IN);
for my $k(keys %stat){
print OUT "$k\t$stat{$k}\n";
}
close(OUT);