use Maasha::Calc;
use Maasha::Filesys;
use Maasha::KISS;
+use Maasha::Biopieces;
use Maasha::Seq;
use vars qw( @ISA @EXPORT );
}
}
+
+sub search_tracks
+{
+ # Martin A. Hansen, December 2009.
+
+ # Uses grep to search all tracks in all contigs
+ # for a given pattern and return a list of KISS entries.
+
+ my ( $cookie, # cookie hash
+ ) = @_;
+
+ # Returns a list.
+
+ my ( $contig, @tracks, $track, $file, $line, $out_file, $fh, $entry, @entries );
+
+ foreach $contig ( @{ $cookie->{ 'LIST_CONTIG' } } )
+ {
+ $cookie->{ 'CONTIG' } = $contig;
+
+ push @tracks, path_tracks( $cookie );
+ }
+
+ foreach $track ( @tracks )
+ {
+ $file = "$track/track_data.kiss";
+
+ if ( -f $file )
+ {
+ $fh = Maasha::Filesys::file_read_open( $file );
+
+ while ( $line = <$fh> )
+ {
+ chomp $line;
+
+ if ( $line =~ /$cookie->{ 'SEARCH' }/i )
+ {
+ $entry = Maasha::KISS::kiss_entry_parse( $line );
+
+ push @entries, $entry;
+ }
+ }
+
+ close $fh;
+ }
+ }
+
+ return wantarray ? @entries : \@entries;
+}
+
+
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
1;