各行が次のように見える CSV ファイルを解析しています。
10998,4499,SLC27A5,Q9Y2P5,GO:0000166,GO:0032403,GO:0005524,GO:0016874,GO:0047747,GO:0004467,GO:0015245,,,,,,,,,,,,,, 、、、、、、、、、、、、、、、、、、、
各行の終わりにコンマがあるようです。
最初の用語、この場合は「10998」を取得し、それに関連する GO 用語の数を取得します。したがって、この場合の私の出力は、
出力:
10998,7
しかし、代わりに 299 が表示されます。全体として、各行に 303 個のコンマがあることに気付きました。また、末尾のコンマを簡単に削除する方法がわかりません。誰でもこの問題を解決するのを手伝ってもらえますか?
ありがとう!
私のコード:
use strict;
use warnings;
open my $IN, '<', 'test.csv' or die "can't find file: $!";
open(CSV, ">GO_MF_counts_Genes.csv") or die "Error!! Cannot create the file: $!\n";
my @genes = ();
my $mf;
foreach my $line (<$IN>) {
chomp $line;
my @array = split(/,/, $line);
my @GO = splice(@array, 4);
my $GO = join(',', @GO);
$mf = count($GO);
print CSV "$array[0],$mf\n";
}
sub count {
my $go = shift @_;
my $count = my @go = split(/,/, $go);
return $count;
}