]> git.donarmstrong.com Git - biopieces.git/blobdiff - bp_bin/BGB_intersect
removed debug message
[biopieces.git] / bp_bin / BGB_intersect
index 54a9822baa10692091b4e62d9628daa62adcf84d..d41593e7df2ca5db6849b2597257eb48933e3e58 100755 (executable)
@@ -21,7 +21,7 @@
 
 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DESCRIPTION <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
-# List all tracks availible in a local installation of the Biopieces Genome Browser.
+# Intersects two tracks in the Biopieces Genome Browser.
 
 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
@@ -30,20 +30,20 @@ use warnings;
 use strict;
 use Data::Dumper;
 use Maasha::Biopieces;
-use Maasha::BGB::Common;
+use Maasha::BGB::Track;
 use Maasha::KISS;
 
 
 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
 
-my ( $user, $options, $in, $out, $record, @contigs, $contig, $track, @tracks, %hash, $fh1, $fh2, @records );
+my ( $user, $options, $in, $out, $record, @contigs, $contig, $track, @tracks, %hash, $fh1, $fh2, $entries, $entry );
 
-$user    = Maasha::Biopieces::biopiecesrc( "BPB_USER" );
+$user    = Maasha::Biopieces::biopiecesrc( "BGB_USER" );
 
 $options = Maasha::Biopieces::parse_options(
     [
-        { long => 'user',     short => 'u', type => 'string', mandatory => 'yes', default => $user, allowed => undef, disallowed => undef },
+        { long => 'user',     short => 'u', type => 'string', mandatory => 'no',  default => $user, allowed => undef, disallowed => undef },
         { long => 'clade',    short => 'c', type => 'string', mandatory => 'yes', default => undef, allowed => undef, disallowed => undef },
         { long => 'genome',   short => 'g', type => 'string', mandatory => 'yes', default => undef, allowed => undef, disallowed => undef },
         { long => 'assembly', short => 'a', type => 'string', mandatory => 'yes', default => undef, allowed => undef, disallowed => undef },
@@ -61,15 +61,15 @@ while ( $record = Maasha::Biopieces::get_record( $in ) )
     Maasha::Biopieces::put_record( $record, $out );
 }
 
-Maasha::Common::error( qq(Bad user: "$options->{ 'user' }") ) if not grep /^$options->{ 'user' }$/, Maasha::BGB::Common::list_users();
+Maasha::Common::error( qq(Bad user: "$options->{ 'user' }") ) if not grep /^$options->{ 'user' }$/, Maasha::BGB::Track::list_users();
 
-@contigs = Maasha::BGB::Common::list_contigs( $options->{ 'user' }, $options->{ 'clade' }, $options->{ 'genome' }, $options->{ 'assembly' } );
+@contigs = Maasha::BGB::Track::list_contigs( $options->{ 'user' }, $options->{ 'clade' }, $options->{ 'genome' }, $options->{ 'assembly' } );
 
 foreach $contig ( @contigs )
 {
     undef %hash;
 
-    @tracks = Maasha::BGB::Common::list_track_dir( $options->{ 'user' }, $options->{ 'clade' }, $options->{ 'genome' }, $options->{ 'assembly' }, $contig );
+    @tracks = Maasha::BGB::Track::list_track_dir( $options->{ 'user' }, $options->{ 'clade' }, $options->{ 'genome' }, $options->{ 'assembly' }, $contig );
 
     foreach $track ( @tracks )
     {
@@ -82,12 +82,19 @@ foreach $contig ( @contigs )
 
     if ( exists $hash{ '1' } and exists $hash{ '2' } )
     {
+        print STDERR "Intersecting:\n$hash{ '1' } and\n$hash{ '2' }\n\n" if $options->{ 'verbose' };
+
         $fh1 = Maasha::Filesys::file_read_open( "$hash{ '1' }/track_data.kiss" );
         $fh2 = Maasha::Filesys::file_read_open( "$hash{ '2' }/track_data.kiss" );
 
-        @records = Maasha::KISS::kiss_intersect( $fh1, $fh2, $options->{ 'invert' } );
+        $entries = Maasha::KISS::kiss_intersect( $fh1, $fh2, $options->{ 'invert' } );
 
-        map { Maasha::Biopieces::put_record( $_, $out ) } @records;
+        foreach $entry ( @{ $entries } )
+        {
+            if ( $record = Maasha::KISS::kiss2biopiece( $entry ) ) {
+                 Maasha::Biopieces::put_record( $record, $out );
+            }
+        }
     }
 }