Bio::EnsEMBL::Utils::Converter
bio_ens_hsp
Toolbar
Package variables
No package variables defined.
Included modules
Inherit
Synopsis
No synopsis!
Description
No description!
Methods
_bio_ens_seqFeature_converter | No description | Code |
_convert_single | No description | Code |
_convert_single_to_alignFeature | No description | Code |
_convert_single_to_featurePair | No description | Code |
_convert_single_to_proteinFeature | No description | Code |
_initialize | No description | Code |
Methods description
None available.
Methods code
_bio_ens_seqFeature_converter | description | prev | next | Top |
sub _bio_ens_seqFeature_converter
{ my ($self) = shift ;
return $self->{_bio_ens_seqFeature_converter} = shift if(@_);
return $self->{_bio_ens_seqFeature_converter};
}
1; } |
sub _convert_single
{ my ($self, $hsp) = @_;
unless(ref($hsp) && $hsp->isa('Bio::Search::HSP::GenericHSP')){
$self->throw("a GenericHSP object needed");
}
my $in = $self->in;
my $out = $self->out;
if($out =~ /^Bio::EnsEMBL::ProteinFeature$/){
return $self->_convert_single_to_proteinFeature($hsp);
}elsif($out =~/^Bio::EnsEMBL::(DnaDna|DnaPep|PepDna)AlignFeature/){
return $self->_convert_single_to_alignFeature($hsp);
}else{
$self->throw("[$in]->[$out], not implemented");
} } |
sub _convert_single_to_alignFeature
{ my ($self, $hsp) = @_;
my $ens_featurePair = $self->_convert_single_to_featurePair($hsp);
my $cigar_string = $hsp->cigar_string;
my @args = (
-feature1 => $ens_featurePair->feature1,
-feature2 => $ens_featurePair->feature2,
-cigar_string => $hsp->cigar_string
);
my $contig = $self->contig;
my $program = $hsp->algorithm;
$self->throw("HSP does not have algorithm value") unless(defined($program));
my $align_feature;
if($program =~ /blastn/i){
$align_feature = new Bio::EnsEMBL::DnaDnaAlignFeature(@args);
}elsif($program =~ /blastx/i){
$align_feature = new Bio::EnsEMBL::DnaPepAlignFeature(@args);
}else{
$self->throw("\[$program\] is not supported yet");
}
return $align_feature; } |
sub _convert_single_to_featurePair
{ my ($self, $hsp) = @_;
my $bio_ens_seqFeature_converter = $self->_bio_ens_seqFeature_converter;
my $ens_feature1 = $bio_ens_seqFeature_converter->_convert_single(
$hsp->feature1);
my $ens_feature2 = $bio_ens_seqFeature_converter->_convert_single(
$hsp->feature2);
$ens_feature1->p_value($hsp->evalue);
$ens_feature1->score($hsp->score);
$ens_feature1->percent_id($hsp->percent_identity);
$ens_feature2->p_value($hsp->evalue);
$ens_feature2->score($hsp->score);
$ens_feature2->percent_id($hsp->percent_identity);
my $featurePair = Bio::EnsEMBL::FeaturePair->new(
-feature1 => $ens_feature1,
-feature2 => $ens_feature2
);
return $featurePair; } |
_convert_single_to_proteinFeature | description | prev | next | Top |
sub _convert_single_to_proteinFeature
{ my ($self, $hsp) = @_;
my $ens_featurePair = $self->_convert_single_to_featurePair($hsp);
my $ens_proteinFeature = Bio::EnsEMBL::ProteinFeature->new(
-feature1 => $ens_featurePair->feature1,
-feature2 => $ens_featurePair->feature2
);
$ens_proteinFeature->seqname($self->translation_id);
return $ens_proteinFeature; } |
sub _initialize
{ my ($self, @args) = @_;
$self->SUPER::_initialize(@args);
my $bio_ens_seqFeature_converter = new Bio::EnsEMBL::Utils::Converter(
-in => 'Bio::SeqFeature::Generic',
-out => 'Bio::EnsEMBL::SeqFeature',
-analysis => $self->analysis,
-contig => $self->contig
);
$self->_bio_ens_seqFeature_converter($bio_ens_seqFeature_converter); } |
General documentation
Copyright (c) 1999-2009 The European Bioinformatics Institute and
Genome Research Limited. All rights reserved.
This software is distributed under a modified Apache license.
For license details, please see
/info/about/code_licence.html