这个故事要从蛋白组分析的数据说起,我想得到评价蛋白组数据质量的图片:

当然我已经利用MaxQuant+Perseus软件得到了蛋白组的差异表达蛋白的结果,为了得到上图的信息,只需要从MaxQuant软件分析得到的txt文件中的proteinGroups.txt中提取出关键的数据:

我只需要将Peptide counts (unique)这一列提取出来,我放到了1.txt文件中:

我完全可以将文本数据导入到EXCEL表格中,利用列筛选的方式统计出Peptide per protein为1....20时,对应蛋白的个数,但是因为懒,我宁愿花上5分钟写个perl脚本,来代替烦碎和重复的操作,因此我写了一个perl脚本:
#! C:\other_disk\D_disk_software\perl64 -w
use utf8;
binmode(STDOUT,":utf8");
#首先接受用户想要统计多少了数字的请求?
print "How many numbers do you want to figure out?";
#标准格式化出,将\n换行符删去
chomp($number = <STDIN>);
$number+=1;
#标量初始化,表明私有变量
my @as = (0,0,0,0,0,0);
#打开文件1.txt的内容,并且读入到文件句柄中
open(FH,"<1.txt")or die "file cannot open, $!";
#一行行遍历文件1.txt中的内容,每当出现对出现的1...20进行计数
foreach (<FH>){
chomp;
for($b = 1; $b < $number; $b = $b + 1){
if($_ eq "$b"){
$as[$b-1]+=1;
}
}
}
close FH;
将计数后的最终的1...20对应的个数打印出来
for( $a = 1; $a < $number; $a = $a + 1 ){
print "Number $a have: $as[$a-1]\n";
}
网友评论