in reply to Re^3: Stuck with manipulating an array
in thread Stuck with manipulating an array
open IN2, $first_tmp; while(<IN2>) { if($_=~/^(chr.*?)REC:(.*)/) { $respective_chrom=$1; $all_entries=$2; @split_entries=(); @split_entries = split(/\#/, $all_entries); @split_sep_entries=(); %collapsed_loci_HoA=(); print ">".$respective_chrom."\n"; foreach $sep_entry(@split_entries) { @split_sep_entries = split(/\t/, $sep_entry); $locus_to_use = $split_sep_entries[1]; $rest_entry=$split_sep_entries[0]."\t".$split_sep_entries[ +2]."\t". $split_sep_entries[3]."\t".$split_sep_entries[ +4]."\t". $split_sep_entries[5]."\t".$split_sep_entries[ +6]."\t". $split_sep_entries[7]; push @{ $collapsed_loci_HoA{$locus_to_use} }, $rest_entry; } $start; @answer; @array_of_loci = keys %collapsed_loci_HoA; for (sort { $b <=> $a } @array_of_loci) { if( not defined $start or $_ > $start + 1000 ) { push @answer, [ $_ ]; $start = $_; } else { push @{ $answer[-1] }, $_; } } for my $i ( 0 .. $#answer ) { print "$i\t [ @{$answer[$i]} ]\n"; } print "//\n"; } } close IN2;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: Stuck with manipulating an array
by tybalt89 (Monsignor) on Aug 28, 2017 at 14:26 UTC | |
by Anonymous Monk on Aug 28, 2017 at 14:39 UTC |