- 论坛徽章:
- 2
|
回复 2# 815138698
还有一个问题,就是还要输出第一列重复的元素有多少个,我是分开输出成了两个文件,我想输出到一个文件中,不知道该怎么实现,
#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;
上面是我写的输出到了两个文件中,
|
|