# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DESCRIPTION <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-# List all tracks availible in a local installation of the Biopieces Genome Browser.
+# Intersects two tracks in the Biopieces Genome Browser.
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-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( "BGB_USER" );
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 );
+ }
+ }
}
}