Mercurial > repos > jdv > b2b_summarize_run
annotate summarize_run.pl @ 0:bd599efae04d draft
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
| author | jdv | 
|---|---|
| date | Wed, 17 Jul 2019 17:48:19 -0400 | 
| parents | |
| children | 10c319d654df | 
| rev | line source | 
|---|---|
| 0 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 1 #!/usr/bin/perl | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 2 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 3 use strict; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 4 use warnings; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 5 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 6 use Getopt::Long; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 7 use BioX::Seq::Stream; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 8 use List::Util qw/sum/; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 9 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 10 my $fn_raw1; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 11 my $fn_raw2; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 12 my $fn_filt1; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 13 my $fn_filt2; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 14 my $fn_bedgraph; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 15 my $fn_qc1; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 16 my $fn_qc2; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 17 my $fn_consensus; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 18 my $fn_out; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 19 my $n_threads = 1; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 20 my $max_aln = 100000; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 21 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 22 GetOptions( | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 23 'raw_1=s' => \$fn_raw1, | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 24 'raw_2=s' => \$fn_raw2, | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 25 'filt_1=s' => \$fn_filt1, | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 26 'filt_2=s' => \$fn_filt2, | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 27 'bedgraph=s' => \$fn_bedgraph, | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 28 'fastqc_1=s' => \$fn_qc1, | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 29 'fastqc_2=s' => \$fn_qc2, | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 30 'consensus=s' => \$fn_consensus, | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 31 'out=s' => \$fn_out, | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 32 'threads=i' => \$n_threads, | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 33 'max_aln=i' => \$max_aln, | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 34 ); | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 35 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 36 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 37 my @counts; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 38 for ($fn_raw1, $fn_raw2, $fn_filt1, $fn_filt2) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 39 open my $in, '-|', 'wc', '-l', $_; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 40 my $ret = <$in>; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 41 close $in; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 42 chomp $ret; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 43 my ($count, $fn) = split ' ', $ret; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 44 die "line length not multiple of four for $_\n" | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 45 if ($count % 4); | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 46 push @counts, $count/4; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 47 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 48 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 49 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 50 die "raw pair count mismatch\n" if ($counts[0] != $counts[1]); | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 51 die "filtered pair count mismatch\n" if ($counts[2] != $counts[3]); | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 52 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 53 #warn "calculating fragment length stats...\n"; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 54 my @lens; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 55 open my $stream, '-|', "frag_lens","--forward",$fn_filt1,"--reverse",$fn_filt2,"--ref",$fn_consensus,"--threads",$n_threads,"--max_aln",$max_aln; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 56 while (<$stream>) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 57 chomp $_; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 58 push @lens, $_; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 59 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 60 close $stream; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 61 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 62 my $frag_mean = int( sum(@lens)/scalar(@lens)+0.5 ); | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 63 my $frag_sd = int( sqrt( sum( map {($_ - $frag_mean)**2} @lens)/(scalar(@lens)-1) )+0.5 ); | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 64 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 65 # extract FastQC data | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 66 #warn "extracting FastQC stats...\n"; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 67 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 68 my @five_nums; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 69 for my $fn ($fn_qc1, $fn_qc2) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 70 open my $in, '<', $fn; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 71 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 72 my $in_data = 0; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 73 my @data; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 74 LINE: | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 75 while (my $line = <$in>) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 76 chomp $line; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 77 if ($in_data) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 78 if ($line =~ /^>>END_MODULE/) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 79 last LINE; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 80 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 81 next if ($line =~ /^#/); | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 82 my ($score, $count) = split ' ', $line; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 83 push @data, [$score,$count]; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 84 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 85 elsif ($line =~ /^>>Per sequence quality scores/) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 86 $in_data = 1; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 87 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 88 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 89 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 90 push @five_nums, data_to_5( @data ); | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 91 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 92 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 93 # Count contigs | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 94 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 95 my $p = BioX::Seq::Stream->new($fn_consensus); | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 96 my %n_contigs; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 97 my @names; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 98 while (my $seq = $p->next_seq) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 99 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 100 my $id = $seq->id; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 101 push @names, $id; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 102 while ($seq =~ /[^Nn]+/g) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 103 ++$n_contigs{$id}; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 104 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 105 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 106 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 107 # Parse assembly depth info | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 108 #warn "calculating coverage stats...\n"; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 109 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 110 open my $in, '<', $fn_bedgraph; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 111 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 112 my %cov_5nums; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 113 my %counts; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 114 my $last_end; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 115 my $last_contig; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 116 my $head = <$in>; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 117 while (my $line = <$in>) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 118 chomp $line; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 119 my ($contig,$start,$end,$depth) = split "\t", $line; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 120 $last_contig //= $contig; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 121 if ($contig ne $last_contig) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 122 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 123 my @depths = sort {$a <=> $b} keys %counts; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 124 my @data; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 125 for (@depths) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 126 push @data, [$_, $counts{$_}]; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 127 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 128 $cov_5nums{$last_contig} = data_to_5( @data ); | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 129 $last_contig = $contig; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 130 %counts = (); | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 131 $last_end = undef; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 132 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 133 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 134 if (defined($last_end) && $last_end < $start) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 135 $counts{0} += $start - $last_end; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 136 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 137 $counts{$depth} += $end - $start; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 138 $last_end = $end; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 139 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 140 my @depths = sort {$a <=> $b} keys %counts; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 141 my @data; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 142 for (@depths) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 143 push @data, [$_, $counts{$_}]; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 144 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 145 $cov_5nums{$last_contig} = data_to_5( @data ); | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 146 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 147 open my $out, '>', $fn_out; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 148 print {$out} join("\t", | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 149 '#id', | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 150 'raw_read_pairs', | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 151 'filt_read_pairs', | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 152 'frag_len_mean', | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 153 'frag_len_sd', | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 154 'forward_qual', | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 155 'reverse_qual', | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 156 'n_contigs', | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 157 'coverage_depth', | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 158 ), "\n"; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 159 for my $id (@names) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 160 print {$out} join("\t", | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 161 $id, | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 162 $counts[0], | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 163 $counts[2], | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 164 $frag_mean, | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 165 $frag_sd, | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 166 $five_nums[0], | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 167 $five_nums[1], | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 168 $n_contigs{$id}, | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 169 $cov_5nums{$id}, | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 170 ), "\n"; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 171 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 172 close $out; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 173 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 174 exit; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 175 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 176 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 177 sub data_to_5 { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 178 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 179 my (@data) = @_; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 180 my $total = sum map {$_->[1]} @data; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 181 my @five_num; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 182 my $curr = 0; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 183 for my $i (0..$#data) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 184 $curr += $data[$i]->[1]; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 185 for my $j (0..4) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 186 next if (defined $five_num[$j]); | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 187 my $quant = $j/4; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 188 if ($curr/$total > $quant) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 189 $five_num[$j] = $data[$i]->[0]; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 190 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 191 elsif ($curr/$total == $quant) { | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 192 $five_num[$j] = $i < $#data | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 193 ? int(($data[$i]->[0]+$data[$i+1]->[0])/2) | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 194 : $data[$i]->[0]; | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 195 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 196 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 197 } | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 198 return join('|',@five_num); | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 199 | 
| 
bd599efae04d
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/b2b_utils commit b5d52d0664b01d252cf61b98be373d09f1ecc2df
 jdv parents: diff
changeset | 200 } | 
