- 論壇徽章:
- 2
|
回復(fù) 2# 815138698
還有一個問題,就是還要輸出第一列重復(fù)的元素有多少個,我是分開輸出成了兩個文件,我想輸出到一個文件中,不知道該怎么實現(xiàn),
#21 163351 TGAAAGACGATGGTAGTGAGA
#22 162964 TGAAAGACGATGGTAGTGAGAT
#23 124151 TGAAAGACGATGGTAGTGAGATA
#22 76720 GCAGTAAGTGGGAGACTCGGTG
#23 75618 TGAAAGACGATGGTAGTGAGATT
#24 71631 CGGGCTTGGCAGAATCAGCGGGGA
die "usage $0 input output1 output2 output3" unless @ARGV==4;
open IN, "$ARGV[0]";
open OUT, ">","$ARGV[1]";
my $n=0;
my @it;
my @its;
my @length;
my @expression=0;
my %expression;
while(<IN>){
chomp;
$n++;
@its=split /\t/,$_;
push @length,$its[0];
push @expression,$its[1];
print OUT ">chr-$n\t$its[0]\t$its[1]\n$its[2]\n";
$expression{$its[0]} += $its[1] ;
}
open OUT,">","$ARGV[2]";
# printf "%s \b %s \n",$_,$expression{$_} foreach(sort (keys %expression));
map {print OUT " $_\t$expression{$_}\n"} sort (keys %expression);
open OUT,">","$ARGV[3]";
my %lengthc;
++$lengthc{$_} for @length;
map{print OUT "$_\t$lengthc{$_}\n"} sort keys %lengthc;
上面是我寫的輸出到了兩個文件中,
|
|