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

fix in fetch_all_by_ditagID()

parent 9d8eeda4
No related branches found
No related tags found
No related merge requests found
......@@ -109,6 +109,7 @@ sub fetch_by_dbID {
sub fetch_all_by_ditagID {
my ($self, $ditag_id, $ditag_pair_id, $analysis_id) = @_;
my $arg = $ditag_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,
hit_strand, cigar_line, ditag_side, ditag_pair_id
......@@ -116,18 +117,15 @@ sub fetch_all_by_ditagID {
WHERE ditag_id = ? ";
if($ditag_pair_id){
$sql .= "AND ditag_pair_id = ? ";
$arg .= ", $ditag_pair_id";
}
if($analysis_id){
$sql .= "AND analysis_id = ? ";
$arg .= ", $analysis_id";
}
$sql .= "ORDER BY ditag_pair_id";
my $sth = $self->prepare($sql);
if($ditag_pair_id){
$sth->execute($ditag_id, $ditag_pair_id);
}
else{
$sth->execute($ditag_id);
}
$sth->execute(split(",",$arg));
my $result = $self->_fetch($sth);
......@@ -208,7 +206,6 @@ sub fetch_all_by_Slice {
$sql .= "df.seq_region_id = ".$slice->get_seq_region_id.
" AND df.seq_region_start <= ".$slice->end.
" AND df.seq_region_end >= ".$slice->start;
print STDERR "\n$sql\n";
my $sth = $self->prepare($sql);
$sth->execute();
......
......@@ -185,11 +185,11 @@ sub get_ditag_location {
eval{
($ditag_a, $ditag_b, $more) = @{$self->adaptor->fetch_all_by_ditagID($self->ditag_id,
$self->ditag_pair_id,
$self->analysis->analysis_id)};
$self->analysis->dbID)};
};
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.", ".$self->analysis->analysis_id.")");
$self->ditag_pair_id.", ".$self->analysis->dbID.")\n".$@);
}
else{
if(defined $more){
......@@ -200,7 +200,7 @@ sub get_ditag_location {
($ditag_a->start < $ditag_b->start) ? ($start = $ditag_a->start) : ($start = $ditag_b->start);
($ditag_a->end > $ditag_b->end) ? ($end = $ditag_a->end) : ($end = $ditag_b->end);
if($ditag_a->strand != $ditag_b->strand){
throw('the strand of the two ditagFeatures are different! '.$ditag_a->strand.'/'.$ditag_b->strand);
throw('the strands of the two ditagFeatures are different! '.$ditag_a->strand.'/'.$ditag_b->strand);
}
}
}
......
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