open FA,"$ARGV[0]";
while(<FA>){
chomp;
next,if($_=~/^$/);
my ($ID,$kac_site) = split /\t/,$_;
if (exists $hash{$ID}){
$hash{$ID}+=1;
}
else{
$hash{$ID}=1;
}
}
open OU1,">$ARGV[1]"; #计算 每个蛋白修饰位点数目
foreach(sort {$hash{$a}<=>$hash{$b} }keys %hash){
print"$_\t___$hash{$_}\n";
print OU1 "$_\t$hash{$_}\n";
}
foreach(keys %hash){
#print"$_\t$hash{$_}\n";
if($hash{$_}==1){
$NUM{"one"}+=1;
}
elsif($hash{$_}>=2 and $hash{$_}<=5){
#print"XXX";
$NUM{"TWOfive"}+=1;
}
elsif($hash{$_}>5 and $hash{$_}<=10){
$NUM{"Sixten"}+=1;
}
elsif($hash{$_}>10){
$NUM{"dauyuten"}+=1;
}
}
open OU2,">$ARGV[2]";
foreach(keys %NUM){
print OU2 "$_\t$NUM{$_}\n"; #统计不同位点蛋白数目
}
Input file (Tab sperated)
Q10MK5 257
Q10MK5 459
A0A0N7KC82 299
A0A0P0UZQ9 21
A0A0N7KCM0 323
A0A0N7KCM4 415
A0A0N7KD48 94
A0A0N7KD60 248
A0A0N7KDF9 588
...
Run code:
perl Kac_sites_calculate.pl wt_ox_sites.txt OUT1 OUT2
输出结果1
Q6K461 1
Q6ER91 1
Q0JBV4 1
Q8LR61 1
Q40710 1
Q67J05 1
Q6EUD7 1
Q65XK3 1
'''
Q6YUR8 6
Q7XW32 6
Q84TX6 7
Q5NBT9 7
Q8W317 7
Q339K4 7
A0A0P0W4W6 8
P0C361 8
Q10LT8 9
B9G2A8 11
输出结果2
Six_to_ten 21
More_than_ten 1
Two_five 910
one_site 1876
网友评论