chrX 2680092 2744539 XG 1
chrX 2680090 2744529 XG 2
chrX 2680080 2744519 XG 3
chrX 2680070 2744509 XG 4
chrX 2680070 2744509 DT 1
chrX 2680090 2744519 DT 2
####
chrX 2680070 2744539 XG 4
chrX 2680070 2744519 DT 2
####
#!/usr/bin/perl -w
use strict;
use List::Util qw(max);
use List::Util qw(min);
my $input0 = $ARGV[0];
open (DATA,$input0) || die "cannot open input0";
my %gene_hash;
while()
{
chomp;
my ($chr, $start, $end, $gene, $ex) = split(/\t/, $_);
my $gene_key = $chr.":".$gene;
push( @{ $gene_hash{$gene_key} }, $start );
push( @{ $gene_hash{$gene_key} }, $end );
push( @{ $gene_hash{$gene_key} }, $ex );
}
foreach my $key (keys %gene_hash)
{
my ($c, $g) = split(/\:/, $key );
print "$c\t$g\t";
my $Low=min( @ {$gene_hash{$key} } );
my $High=max( @ {$gene_hash{$key} } );
my $High_ex=max( @ {$gene_hash{$key} } );
{
print "$Low\t$High\t$High_ex";
}
print "\n";
}
__DATA__
####
chrX XG 1 2744539 2744539
chrX DT 1 2744519 2744519