LICENSE

Copyright [1999-2015] Wellcome Trust Sanger Institute and the EMBL-European Bioinformatics Institute Copyright [2016-2024] EMBL-European Bioinformatics Institute

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

CONTACT

Please email comments or questions to the public Ensembl
developers list at <http://lists.ensembl.org/mailman/listinfo/dev>.

Questions may also be sent to the Ensembl help desk at
<http://www.ensembl.org/Help/Contact>.

NAME

Bio::EnsEMBL::IdMapping::SyntenyRegion - object representing syntenic regions

SYNOPSIS

# create a new SyntenyRegion from a source and a target gene
my $sr = Bio::EnsEMBL::IdMapping::SyntenyRegion->new_fast( [
    $source_gene->start,  $source_gene->end,
    $source_gene->strand, $source_gene->seq_region_name,
    $target_gene->start,  $target_gene->end,
    $target_gene->strand, $target_gene->seq_region_name,
    $entry->score,
] );

# merge with another SyntenyRegion
my $merged_sr = $sr->merge($sr1);

# score a gene pair against this SyntenyRegion
my $score =
  $sr->score_location_relationship( $source_gene1, $target_gene1 );

DESCRIPTION

This object represents a synteny between a source and a target location. SyntenyRegions are built from mapped genes, and the their score is defined as the score of the gene mapping. For merged SyntenyRegions, scores are combined.

METHODS

new_fast
source_start
source_end
source_strand
source_seq_region_name
target_start
target_end
target_strand
target_seq_region_name
score
merge
stretch
score_location_relationship
to_string

new_fast

Arg[1]      : Arrayref $array_ref - the arrayref to bless into the
              SyntenyRegion object 
Example     : my $sr = Bio::EnsEMBL::IdMapping::SyntenyRegion->new_fast([
                ]);
Description : Constructor. On instantiation, source and target regions are
              reverse complemented so that source is always on forward strand.
Return type : a Bio::EnsEMBL::IdMapping::SyntenyRegion object
Exceptions  : none
Caller      : Bio::EnsEMBL::IdMapping::SyntenyFramework
Status      : At Risk
            : under development

source_start

Arg[1]      : (optional) Int - source location start coordinate
Description : Getter/setter for source location start coordinate.
Return type : Int
Exceptions  : none
Caller      : Bio::EnsEMBL::IdMapping::SyntenyFramework
Status      : At Risk
            : under development

source_end

Arg[1]      : (optional) Int - source location end coordinate
Description : Getter/setter for source location end coordinate.
Return type : Int
Exceptions  : none
Caller      : Bio::EnsEMBL::IdMapping::SyntenyFramework
Status      : At Risk
            : under development

source_strand

Arg[1]      : (optional) Int - source location strand
Description : Getter/setter for source location strand.
Return type : Int
Exceptions  : none
Caller      : Bio::EnsEMBL::IdMapping::SyntenyFramework
Status      : At Risk
            : under development

source_seq_region_name

Arg[1]      : (optional) String - source location seq_region name
Description : Getter/setter for source location seq_region name.
Return type : String
Exceptions  : none
Caller      : Bio::EnsEMBL::IdMapping::SyntenyFramework
Status      : At Risk
            : under development

target_start

Arg[1]      : (optional) Int - target location start coordinate
Description : Getter/setter for target location start coordinate.
Return type : Int
Exceptions  : none
Caller      : Bio::EnsEMBL::IdMapping::SyntenyFramework
Status      : At Risk
            : under development

target_end

Arg[1]      : (optional) Int - target location end coordinate
Description : Getter/setter for target location end coordinate.
Return type : Int
Exceptions  : none
Caller      : Bio::EnsEMBL::IdMapping::SyntenyFramework
Status      : At Risk
            : under development

target_strand

Arg[1]      : (optional) Int - target location strand
Description : Getter/setter for target location strand.
Return type : Int
Exceptions  : none
Caller      : Bio::EnsEMBL::IdMapping::SyntenyFramework
Status      : At Risk
            : under development

target_seq_region_name

Arg[1]      : (optional) String - target location seq_region name
Description : Getter/setter for target location seq_region name.
Return type : String
Exceptions  : none
Caller      : Bio::EnsEMBL::IdMapping::SyntenyFramework
Status      : At Risk
            : under development

score

Arg[1]      : (optional) Float - score
Description : Getter/setter for the score between source and target location.
Return type : Int
Exceptions  : none
Caller      : Bio::EnsEMBL::IdMapping::SyntenyFramework
Status      : At Risk
            : under development

merge

Arg[1]      : Bio::EnsEMBL::IdMapping::SyntenyRegion $sr - another
              SyntenyRegion
Example     : $merged_sr = $sr->merge($other_sr);
Description : Merges two overlapping SyntenyRegions if they meet certain
              criteria (see documentation in the code for details). Score is
              calculated as a combined distance score. If the two
              SyntenyRegions aren't mergeable, this method returns undef.
Return type : Bio::EnsEMBL::IdMapping::SyntenyRegion or undef
Exceptions  : warns on bad scores
Caller      : Bio::EnsEMBL::IdMapping::SyntenyFramework
Status      : At Risk
            : under development

stretch

Arg[1]      : Float $factor - stretching factor
Example     : $stretched_sr = $sr->stretch(2);
Description : Extends this SyntenyRegion to span a $factor * $score more area.
Return type : Bio::EnsEMBL::IdMapping::SyntenyRegion
Exceptions  : none
Caller      : Bio::EnsEMBL::IdMapping::SyntenyFramework
Status      : At Risk
            : under development

score_location_relationship

Arg[1]      : Bio::EnsEMBL::IdMapping::TinyGene $source_gene - source gene
Arg[2]      : Bio::EnsEMBL::IdMapping::TinyGene $target_gene - target gene
Example     : my $score = $sr->score_location_relationship($source_gene,
                $target_gene);
Description : This function calculates how well the given source location
              interpolates on given target location inside this SyntenyRegion.

              Scoring is done the following way: Source and target location
              are normalized with respect to this Regions source and target.
              Source range will then be somewhere close to 0.0-1.0 and target
              range anything around that.

              The extend of the covered area between source and target range
              is a measurement of how well they agree (smaller extend is
              better). The extend (actually 2*extend) is reduced by the size
              of the regions. This will result in 0.0 if they overlap
              perfectly and bigger values if they dont.

              This is substracted from 1.0 to give the score. The score is
              likely to be below zero, but is cut off at 0.0f.

              Finally, the score is multiplied with the score of the synteny
              itself.
Return type : Float
Exceptions  : warns if score out of range
Caller      : Bio::EnsEMBL::IdMapping::SyntenyFramework
Status      : At Risk
            : under development

to_string

Example     : print LOG $sr->to_string, "\n";
Description : Returns a string representation of the SyntenyRegion object.
              Useful for debugging and logging.
Return type : String
Exceptions  : none
Caller      : Bio::EnsEMBL::IdMapping::SyntenyFramework
Status      : At Risk
            : under development