Bio-EnsEMBL
view release on metacpan or search on metacpan
lib/Bio/EnsEMBL/Map/DBSQL/DitagFeatureAdaptor.pm view on Meta::CPAN
if($have_dbIDs){
$sql = "INSERT INTO ditag_feature ( 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 ) VALUES ";
foreach my $ditag_feature (@good_ditag_features) {
$sqladd = "";
if($inserts){ $sqladd = ", " }
$sqladd .= "(". $ditag_feature->ditag_feature_id.", ".$ditag_feature->ditag_id.", ".
($ditag_feature->slice->get_seq_region_id).", ". $ditag_feature->start.", ".
$ditag_feature->end.", '".$ditag_feature->strand."', ".$ditag_feature->analysis->dbID.", ".
$ditag_feature->hit_start.", ".$ditag_feature->hit_end.", '".$ditag_feature->hit_strand.
"', '".$ditag_feature->cigar_line."', '".$ditag_feature->ditag_side."', ".
$ditag_feature->ditag_pair_id.")";
$sql .= $sqladd;
$inserts++;
}
}
else{
$sql = "INSERT INTO ditag_feature ( 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 ) VALUES ";
foreach my $ditag_feature (@good_ditag_features) {
$sqladd = "";
if($inserts){ $sqladd = ", " }
$sqladd .= "(". $ditag_feature->ditag_id.", ".($ditag_feature->slice->get_seq_region_id).", ".
$ditag_feature->start.", ".$ditag_feature->end.", '".$ditag_feature->strand."', ".
$ditag_feature->analysis->dbID.", ".$ditag_feature->hit_start.", ".$ditag_feature->hit_end.
", '".$ditag_feature->hit_strand."', '".$ditag_feature->cigar_line."', '".
$ditag_feature->ditag_side."', ".$ditag_feature->ditag_pair_id.")";
$sql .= $sqladd;
$inserts++;
}
}
#STORE
if($inserts){
print STDERR "\nHave $inserts Features.\n";
eval{
$db->dbc->do($sql);
};
if($@){
warning("Problem inserting ditag feature batch!".$@."\n");
}
}
else{
warn "Nothing stored!";
}
}
=head2 update
Arg [1] : ditagFeature to update
Description: update an existing ditagFeature with new values
Returntype : 1 on success
Status : At Risk
=cut
sub update {
my ($self, $ditagFeature) = @_;
my $sth = $self->prepare( "UPDATE ditag_feature
SET 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=?
where ditag_feature_id=?;" );
$sth->bind_param(1, $ditagFeature->ditag_id, SQL_INTEGER);
$sth->bind_param(1, $ditagFeature->seq_region_id, SQL_INTEGER);
$sth->bind_param(1, $ditagFeature->seq_region_start, SQL_INTEGER);
$sth->bind_param(1, $ditagFeature->seq_region_end, SQL_INTEGER);
$sth->bind_param(1, $ditagFeature->seq_region_strand, SQL_TINYINT);
$sth->bind_param(1, $ditagFeature->hit_start, SQL_INTEGER);
$sth->bind_param(1, $ditagFeature->hit_end, SQL_INTEGER);
$sth->bind_param(1, $ditagFeature->hit_strand, SQL_TINYINT);
$sth->bind_param(1, $ditagFeature->cigar_line, SQL_LONGVARCHAR);
$sth->bind_param(1, $ditagFeature->ditag_side, SQL_VARCHAR);
$sth->bind_param(1, $ditagFeature->ditag_pair_id, SQL_INTEGER);
$sth->bind_param(1, $ditagFeature->dbID, SQL_INTEGER);
my $result =$sth->execute();
return $result;
}
=head2 list_dbIDs
Args : None
Example : my @feature_ids = @{$dfa->list_dbIDs()};
Description: Gets an array of internal IDs for all DitagFeature objects in
the current database.
Arg[1] : <optional> int. not 0 for the ids to be sorted by the seq_region.
Returntype : List of ints
Exceptions : None
Status : Stable
=cut
sub list_dbIDs {
my ($self, $ordered) = @_;
return $self->_list_dbIDs('ditag_feature', undef, $ordered);
}
1;
( run in 0.524 second using v1.01-cache-2.11-cpan-f56aa216473 )