Skip to content
Snippets Groups Projects
Commit 217a209e authored by Felix Kokocinski's avatar Felix Kokocinski
Browse files

use analysis-id when fetching pairs

parent 667bfe22
No related branches found
No related tags found
No related merge requests found
......@@ -98,6 +98,7 @@ sub fetch_by_dbID {
Arg [1] : ditag dbID
Arg [2] : (optional) ditag-pair dbID
Arg [3] : (optional) analysis ID
Example : @my_tags = @{$ditagfeature_adaptor->fetch_all_by_ditag_id($my_id)};
Description: Retrieves all ditagFeatures from the database linking to a specific ditag-id
Returntype : listref of Bio::EnsEMBL::Map::DitagFeature
......@@ -106,7 +107,7 @@ sub fetch_by_dbID {
=cut
sub fetch_all_by_ditagID {
my ($self, $ditag_id, $ditag_pair_id) = @_;
my ($self, $ditag_id, $ditag_pair_id, $analysis_id) = @_;
my $sql = "SELECT ditag_feature_id, ditag_id, seq_region_id, seq_region_start,
seq_region_end, seq_region_strand, analysis_id, hit_start, hit_end,
......@@ -116,6 +117,9 @@ sub fetch_all_by_ditagID {
if($ditag_pair_id){
$sql .= "AND ditag_pair_id = ? ";
}
if($analysis_id){
$sql .= "AND analysis_id = ? ";
}
$sql .= "ORDER BY ditag_pair_id";
my $sth = $self->prepare($sql);
if($ditag_pair_id){
......
......@@ -183,14 +183,18 @@ sub get_ditag_location {
else{
my ($ditag_a, $ditag_b, $more);
eval{
($ditag_a, $ditag_b, $more) = @{$self->adaptor->fetch_all_by_ditagID($self->ditag_id, $self->ditag_pair_id)};
($ditag_a, $ditag_b, $more) = @{$self->adaptor->fetch_all_by_ditagID($self->ditag_id,
$self->ditag_pair_id,
$self->analysis->analysis_id)};
};
if($@ or !defined($ditag_a) or !defined($ditag_b)){
throw("Cannot find 2nd tag of pair (".$self->dbID.", ".$self->ditag_id.", ".$self->ditag_pair_id.")");
throw("Cannot find 2nd tag of pair (".$self->dbID.", ".$self->ditag_id.", ".
$self->ditag_pair_id.", ".$self->analysis->analysis_id.")");
}
else{
if(defined $more){
throw("More than two DitagFeatures were returned for ".$self->dbID.", ".$self->ditag_id.", ".$self->ditag_pair_id);
throw("More than two DitagFeatures were returned for ".$self->dbID.", ".$self->ditag_id
.", ".$self->ditag_pair_id);
}
($ditag_a->start < $ditag_b->start) ? ($start = $ditag_a->start) : ($start = $ditag_b->start);
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment