X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bp_bin%2Fformat_genome;h=9b3e4fe81790b7ea159efaad477bb5d87922dbad;hb=2f0fd91b461033529a4a72e161bd133252a22eb6;hp=9fbdcb859d7e1f93be37fd1ca9a6a5aff2b9b026;hpb=1f203b5788a335b1e17f540fa52709ac63c35520;p=biopieces.git diff --git a/bp_bin/format_genome b/bp_bin/format_genome index 9fbdcb8..9b3e4fe 100755 --- a/bp_bin/format_genome +++ b/bp_bin/format_genome @@ -30,6 +30,8 @@ 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; @@ -43,7 +45,7 @@ my ( $default, $formats, $options, $in, $out, $record, $data_out, $entry, $tmp_dir = Maasha::Biopieces::get_tmpdir(); $default = $ENV{ 'BP_DATA' }; -$formats = 'fasta,blast,vmatch,bowtie,phastcons'; +$formats = 'fasta,blast,vmatch,bowtie,bwa,phastcons'; $options = Maasha::Biopieces::parse_options( [ @@ -63,7 +65,7 @@ $genome = $options->{ 'genome' }; Maasha::Filesys::dir_create_if_not_exists( "$dir/genomes" ); Maasha::Filesys::dir_create_if_not_exists( "$dir/genomes/$genome" ); -if ( grep { $_ =~ /fasta|blast|vmatch|bowtie/i } @{ $options->{ "formats" } } ) +if ( grep { $_ =~ /fasta|blast|vmatch|bowtie|bwa/i } @{ $options->{ "formats" } } ) { if ( -f "$dir/genomes/$genome/fasta/$genome.fna" ) { @@ -93,7 +95,7 @@ while ( $record = Maasha::Biopieces::get_record( $in ) ) { 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"; @@ -107,47 +109,27 @@ while ( $record = Maasha::Biopieces::get_record( $in ) ) 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 ) { warn "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 ) { bowtie_index( "$fasta_dir/$genome.fna", "$dir/genomes/$genome/bowtie", $genome, $options->{ 'verbose' } ) } + 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 ); -# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> SUBROUTINES <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - - -sub bowtie_index -{ - # Martin A. Hansen, July 2009. - - # Create a bowtie index for fast sequence mapping. - - my ( $src_file, # filename of source file - $dst_dir, # destination dir to store index - $base_name, # base name of index - $verbose, # verbose flag - ) = @_; - - Maasha::Filesys::dir_create_if_not_exists( $dst_dir ); - - if ( $verbose ) { - Maasha::Common::run( "bowtie-build", "$src_file $dst_dir/$base_name" ); - } else { - Maasha::Common::run( "bowtie-build", "$src_file $dst_dir/$base_name > /dev/null 2>&1" ); - } -} - - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<