用了stringDB这个包做完了蛋白质互作后得到了如下表格,
现在想统计每个目标基因链接的其他数目,像其他文章里找hug gene,尝试其他办法未解,无奈准备写一个小脚本解决。
于是就想用perl搞定。(就是统计该文本中第二列相同gene的数目)
这是我的初始代码:[Perl] 纯文本查看 复制代码 use warnings;
use strict;
my $file=$ARGV[0];
open(RF,"$file") or die $!;
my @arry=();
my @spli=();
while(my $line=<RF>){
chomp($line);
@spli=split(/\t/,$line);
my $lim=$spli[1];
my @arry=$lim;
foreach $_(@arry){
print $_."\n";
}
}
foreach $_(@arry){
my $count=0
}
我把第二列写到了同一数组@arry中,但无后续思路,太菜是这样的。。。
随后请教群里大神,大神用哈希很快就解决该问题了
附上大神代码:[Perl] 纯文本查看 复制代码 use strict;
use warnings;
open my $gene,"DEGppi.txt" or die $!;
my %hash_gene;
while (<$gene>) {
chomp;
next if(m/^#/);
my @tmp = split /\t/,$_;
$hash_gene{$tmp[1]}++;
}
close $gene;
open my $out,"> outfile.txt" or die $!;
foreach (sort {$a cmp $b} keys %hash_gene) {
# body...
print $out "$_\t$hash_gene{$_}\n"
}
close $out;
短短几行搞定。。。强。。。
|