# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+use warnings;
use strict;
use Maasha::Fasta;
use Maasha::Biopieces;
+use Maasha::Bowtie;
+use Maasha::BWA;
use Maasha::NCBI;
use Maasha::Match;
use Maasha::UCSC;
$tmp_dir = Maasha::Biopieces::get_tmpdir();
$default = $ENV{ 'BP_DATA' };
-$formats = 'fasta,blast,vmatch,phastcons';
+$formats = 'fasta,blast,vmatch,bowtie,bwa,phastcons';
$options = Maasha::Biopieces::parse_options(
[
Maasha::Filesys::dir_create_if_not_exists( "$dir/genomes" );
Maasha::Filesys::dir_create_if_not_exists( "$dir/genomes/$genome" );
-if ( grep { $_ =~ /fasta|blast|vmatch/i } @{ $options->{ "formats" } } )
+if ( grep { $_ =~ /fasta|blast|vmatch|bowtie|bwa/i } @{ $options->{ "formats" } } )
{
if ( -f "$dir/genomes/$genome/fasta/$genome.fna" )
{
{
Maasha::Fasta::put_entry( $entry, $fh_out );
}
- elsif ( $fh_out and $record->{ "CHR" } and $record->{ "CHR_BEG" } and $record->{ "STEP" } and $record->{ "VALS" } )
+ elsif ( $fh_out and $record->{ "CHR" } and $record->{ "CHR_BEG" } and $record->{ "STEP" } and $record->{ "VALS" } ) # TODO: clean this!
{
print $fh_out "fixedStep chrom=$record->{ 'CHR' } start=$record->{ 'CHR_BEG' } step=$record->{ 'STEP' }\n";
Maasha::Biopieces::put_record( $record, $out ) if not $options->{ "no_stream" };
}
+close $fh_out if $fh_out;
+
foreach $format ( @{ $options->{ 'formats' } } )
{
- if ( $format =~ /^fasta$/i ) { Maasha::Fasta::fasta_index( "$fasta_dir/$genome.fna", "$dir/genomes/$genome/fasta/$genome.index" ) }
+ print STDERR qq(Creating format: $format for $genome ... ) if $options->{ 'verbose' };
+
+ if ( $format =~ /^fasta$/i ) { Maasha::Fasta::fasta_index( "$fasta_dir/$genome.fna", $fasta_dir, "$genome.index" ) }
elsif ( $format =~ /^blast$/i ) { Maasha::NCBI::blast_index( "$genome.fna", $fasta_dir, "$dir/genomes/$genome/blast", "dna", $genome ) }
- elsif ( $format =~ /^blat$/i ) { print STDERR "BLAT FORMAT NOT IMPLEMENTED" }
+ elsif ( $format =~ /^blat$/i ) { warn "BLAT FORMAT NOT IMPLEMENTED\n" }
elsif ( $format =~ /^vmatch$/i ) { Maasha::Match::vmatch_index( "$genome.fna", $fasta_dir, "$dir/genomes/$genome/vmatch", $tmp_dir ) }
+ elsif ( $format =~ /^bowtie$/i ) { Maasha::Bowtie::bowtie_index( "$fasta_dir/$genome.fna", "$dir/genomes/$genome/bowtie", $genome, $options->{ 'verbose' } ) }
+ elsif ( $format =~ /^bwa$/i ) { Maasha::BWA::bwa_index( "$fasta_dir/$genome.fna", "$dir/genomes/$genome/bwa", $genome, $options->{ 'verbose' } ) }
elsif ( $format =~ /^phastcons$/i ) { Maasha::UCSC::phastcons_index( "$genome.pp", $phastcons_dir ) }
-}
-close $fh_out if $fh_out;
+ print STDERR qq(done.\n) if $options->{ 'verbose' };
+}
Maasha::Biopieces::close_stream( $in );
Maasha::Biopieces::close_stream( $out );