Bio::EnsEMBL::Analysis::RunnableDB::Finished Exonerate
Included librariesPackage variablesGeneral documentationMethods
Toolbar
WebCvsRaw content
Package variables
No package variables defined.
Included modules
Bio::EnsEMBL::Analysis::Config::General
Bio::EnsEMBL::Analysis::Runnable::Finished::Exonerate
Bio::EnsEMBL::DnaDnaAlignFeature
Bio::EnsEMBL::DnaPepAlignFeature
Bio::EnsEMBL::Exon
Bio::EnsEMBL::FeaturePair
Bio::EnsEMBL::Pipeline::SeqFetcher::Finished_Pfetch
Bio::EnsEMBL::Transcript
Bio::EnsEMBL::Translation
Bio::EnsEMBL::Utils::Exception qw ( verbose throw warning )
Inherit
Bio::EnsEMBL::Analysis::RunnableDB::Finished
Synopsis
No synopsis!
Description
No description!
Methods
db_version_searched
No description
Code
fetch_input
No description
Code
Methods description
None available.
Methods code
db_version_searcheddescriptionprevnextTop
sub db_version_searched {
	my ( $self, $arg ) = @_;
	$self->{'_db_version_searched'} = $arg if $arg;
	return $self->{'_db_version_searched'};

}

1;
}
fetch_inputdescriptionprevnextTop
sub fetch_input {
	my ($self) = @_;
	my $slice =
	  $self->fetch_sequence( $self->input_id, $self->db,
		$ANALYSIS_REPEAT_MASKING, 1 );
	$self->query($slice);

	my $maskedslice =
	     $slice->get_repeatmasked_seq( $ANALYSIS_REPEAT_MASKING, $SOFT_MASKING )
	  or throw("Unable to fetch contig");
	my $maskedseq = $maskedslice->seq();

	if ( scalar( $maskedseq =~ s/([CATG])/$1/g ) > 3 ) {
		$self->input_is_void(0);
	}
	else {
		$self->input_is_void(1);
		warning("Need at least 3 nucleotides");
	}

	# Incremental updating of the embl blast db analysis
# The embl blast dbs are made up of release files embl_*
# and update files emnew_*. This block of code makes
# sure that the analysis is only run against new version of either
# of these files.
my @files = split(",", $self->analysis->db_file); my @patches; if($files[-1] =~ /^embl_/){ my $search_only_patch = 0; my $sic = $self->db->get_StateInfoContainer; my $db_version_saved = $sic->fetch_db_version($self->input_id, $self->analysis); my $db_version_current = $self->analysis->db_version; if($db_version_saved) { # split the embl blast db version "12-Mar-06 (85)" to
# patch version "12-Mar-06" and release version "85"
my ($patch_sv,$release_sv) = $db_version_saved =~ /^(\S+)\s+\((\d+)\)$/; my ($patch_cv,$release_cv) = $db_version_current =~ /^(\S+)\s+\((\d+)\)$/; if($release_sv eq $release_cv){ $search_only_patch = 1; print STDOUT "blast db files [ @files ] version $release_sv already searched\n"; # Just to make sure that nothing is going wrong with the incremental updating...
throw("Problem with the embl blast db incremental updating, saved and current version identical !\n saved [$db_version_saved] = current [$db_version_current]\n") unless($patch_sv ne $patch_cv) } } foreach my $file (@files) { my $patch_file = $file; $patch_file =~ s/^embl_/emnew_/g; $search_only_patch ? $file = $patch_file : push @patches,$patch_file; } } $self->analysis->db_file(join(",",@files,@patches)); my %parameters = %{ $self->parameters_hash }; my $runnable = Bio::EnsEMBL::Analysis::Runnable::Finished::Exonerate->new( -analysis => $self->analysis, -program => $self->analysis->program, -query_db => $self->analysis->db_file, -target => $slice, %parameters ); $self->runnable($runnable); return 1;
}
General documentation
NAME - Bio::EnsEMBL::Analysis::RunnableDB::Finished::ExonerateTop
AUTHORTop
Mustapha Larbaoui email ml6@sanger.ac.uk