Skip to content
Snippets Groups Projects
Commit fc198f11 authored by Daniel Rios's avatar Daniel Rios
Browse files

modified to use functions instead of the calls to UNIX methods from MySQL

parent ecb17d56
No related branches found
No related tags found
No related merge requests found
......@@ -80,10 +80,15 @@ sub _tables {
sub _columns {
my $self = shift;
return qw( e.exon_id e.seq_region_id e.seq_region_start e.seq_region_end
e.seq_region_strand e.phase e.end_phase
esi.stable_id esi.version UNIX_TIMESTAMP(created_date)
UNIX_TIMESTAMP(modified_date) );
my $created_date = $self->db->dbc->from_date_to_seconds("created_date");
my $modified_date = $self->db->dbc->from_date_to_seconds("modified_date");
return ( 'e.exon_id', 'e.seq_region_id', 'e.seq_region_start' ,'e.seq_region_end',
'e.seq_region_strand', 'e.phase','e.end_phase',
'esi.stable_id', 'esi.version',$created_date,
$modified_date );
# esi.stable_id esi.version UNIX_TIMESTAMP(created_date)
# UNIX_TIMESTAMP(modified_date) );
}
......@@ -263,17 +268,18 @@ sub store {
"stable_id = ?, " .
"exon_id = ?, ";
if( $exon->created_date() ) {
$statement .= "created_date = from_unixtime( ".$exon->created_date()."),";
} else {
$statement .= "created_date = \"0000-00-00 00:00:00\",";
}
if( $exon->modified_date() ) {
$statement .= "modified_date = from_unixtime( ".$exon->modified_date().")";
} else {
$statement .= "modified_date = \"0000-00-00 00:00:00\"";
}
$statement .= "created_date = " . $self->db->dbc->from_seconds_to_date($exon->created_date()) . ",";
# if( $exon->created_date() ) {
# $statement .= "created_date = from_unixtime( ".$exon->created_date()."),";
# } else {
# $statement .= "created_date = \"0000-00-00 00:00:00\",";
# }
$statement .= "modified_date = " . $self->db->dbc->from_seconds_to_date($exon->modified_date()) ;
# if( $exon->modified_date() ) {
# $statement .= "modified_date = from_unixtime( ".$exon->modified_date().")";
# } else {
# $statement .= "modified_date = \"0000-00-00 00:00:00\"";
# }
my $sth = $self->prepare( $statement );
......@@ -650,8 +656,10 @@ sub get_stable_entry_info {
#$self->throw("can't fetch stable info with no dbID");
return;
}
my $sth = $self->prepare("SELECT stable_id, UNIX_TIMESTAMP(created),
UNIX_TIMESTAMP(modified), version
my $created_date = $self->db->dbc->from_date_to_seconds("created_date");
my $modified_date = $self->db->dbc->from_date_to_seconds("modified_date");
my $sth = $self->prepare("SELECT stable_id, " . $created_date . ",
" . $modified_date . ", version
FROM exon_stable_id
WHERE exon_id = ");
......
......@@ -91,13 +91,15 @@ sub _tables {
sub _columns {
my $self = shift;
return qw( g.gene_id g.seq_region_id g.seq_region_start g.seq_region_end
g.seq_region_strand g.analysis_id g.biotype g.display_xref_id
g.description g.status g.source
gsi.stable_id gsi.version UNIX_TIMESTAMP(gsi.created_date)
UNIX_TIMESTAMP(gsi.modified_date)
x.display_label x.dbprimary_acc x.description x.version
exdb.db_name exdb.status exdb.release exdb.db_display_name );
my $created_date = $self->db->dbc->from_date_to_seconds("gsi.created_date");
my $modified_date = $self->db->dbc->from_date_to_seconds("gsi.modified_date");
return ( 'g.gene_id', 'g.seq_region_id', 'g.seq_region_start', 'g.seq_region_end',
'g.seq_region_strand', 'g.analysis_id' ,'g.biotype', 'g.display_xref_id',
'g.description', 'g.status', 'g.source',
'gsi.stable_id', 'gsi.version', $created_date,
$modified_date,
'x.display_label' ,'x.dbprimary_acc', 'x.description', 'x.version',
'exdb.db_name', 'exdb.status', 'exdb.release' ,'exdb.db_display_name' );
}
......@@ -829,17 +831,18 @@ sub store {
SET gene_id = ?,
stable_id = ?,
version = ?, ";
if( $gene->created_date() ) {
$statement .= "created_date = from_unixtime( ".$gene->created_date()."),";
} else {
$statement .= "created_date = \"0000-00-00 00:00:00\",";
}
if( $gene->modified_date() ) {
$statement .= "modified_date = from_unixtime( ".$gene->modified_date().")";
} else {
$statement .= "modified_date = \"0000-00-00 00:00:00\"";
}
$statement .= "created_date = " . $self->db->dbc->from_seconds_to_date($gene->created_date()) . ",";
# if( $gene->created_date() ) {
# $statement .= "created_date = from_unixtime( ".$gene->created_date()."),";
# } else {
# $statement .= "created_date = \"0000-00-00 00:00:00\",";
# }
$statement .= "modified_date = " . $self->db->dbc->from_seconds_to_date($gene->modified_date());
# if( $gene->modified_date() ) {
# $statement .= "modified_date = from_unixtime( ".$gene->modified_date().")";
# } else {
# $statement .= "modified_date = \"0000-00-00 00:00:00\"";
# }
$sth = $self->prepare($statement);
$sth->bind_param(1,$gene_dbID,SQL_INTEGER);
......@@ -851,11 +854,11 @@ sub store {
# store the dbentries associated with this gene
my $dbEntryAdaptor = $db->get_DBEntryAdaptor();
foreach my $dbe ( @{$gene->get_all_DBEntries} ) {
$dbEntryAdaptor->store( $dbe, $gene, "Gene" );
}
# we allow transcripts not to share equal exons and instead have copies
# For the database we still want sharing though, to have easier time with
# stable ids. So we need to have a step to merge exons together before store
......@@ -864,7 +867,6 @@ sub store {
foreach my $trans ( @{$gene->get_all_Transcripts} ) {
foreach my $e ( @{$trans->get_all_Exons} ) {
my $key = $e->hashkey();
if( exists $exons{ $key } ) {
$trans->swap_exons( $e, $exons{$key} );
} else {
......@@ -904,7 +906,6 @@ sub store {
}
if(defined($dxref_id)) {
$sth = $self->prepare
("UPDATE gene SET display_xref_id = ? WHERE gene_id = ?");
$sth->bind_param(1,$dxref_id,SQL_INTEGER);
......@@ -1451,17 +1452,17 @@ sub fetch_all_by_transcript_supporting_evidence {
my $anal_where = "AND a.analysis_id = f.analysis_id AND a.analysis_id=? " if ($analysis);
my $sql = "SELECT DISTINCT(g.gene_id)
FROM gene g,
transcript t,
transcript_supporting_feature sf,
$feature_type f
$anal_from
WHERE g.gene_id = t.gene_id
AND t.transcript_id = sf.transcript_id
AND sf.feature_id = f.${feature_type}_id
AND sf.feature_type = ?
AND f.hit_name=?
$anal_where";
FROM gene g,
transcript t,
transcript_supporting_feature sf,
$feature_type f
$anal_from
WHERE g.gene_id = t.gene_id
AND t.transcript_id = sf.transcript_id
AND sf.feature_id = f.${feature_type}_id
AND sf.feature_type = ?
AND f.hit_name=?
$anal_where";
my $sth = $self->prepare($sql);
......@@ -1627,10 +1628,14 @@ sub get_stable_entry_info {
throw("Needs a gene object, not a $gene");
}
my $sth = $self->prepare("SELECT stable_id, UNIX_TIMESTAMP(created),
UNIX_TIMESTAMP(modified), version
my $created_date = $self->db->dbc->from_date_to_seconds("created_date");
my $modified_date = $self->db->dbc->from_date_to_seconds("modified_date");
my $sth = $self->prepare("SELECT stable_id, " . $created_date . "," .
$modified_date . ", version
FROM gene_stable_id
WHERE gene_id = ?");
$sth->bind_param(1,$gene->dbID,SQL_INTEGER);
$sth->execute();
......
......@@ -98,11 +98,14 @@ sub _tables {
sub _columns {
my $self = shift;
return qw( t.transcript_id t.seq_region_id t.seq_region_start t.seq_region_end
t.seq_region_strand t.gene_id
t.display_xref_id tsi.stable_id tsi.version UNIX_TIMESTAMP(created_date)
UNIX_TIMESTAMP(modified_date) t.description t.biotype t.status
x.display_label exdb.db_name exdb.status exdb.db_display_name);
my $created_date = $self->db->dbc->from_date_to_seconds("created_date");
my $modified_date = $self->db->dbc->from_date_to_seconds("modified_date");
return ( 't.transcript_id', 't.seq_region_id', 't.seq_region_start', 't.seq_region_end',
't.seq_region_strand', 't.gene_id',
't.display_xref_id', 'tsi.stable_id','tsi.version', $created_date,
$modified_date, 't.description', 't.biotype', 't.status',
'x.display_label', 'exdb.db_name' ,'exdb.status', 'exdb.db_display_name');
}
......@@ -698,17 +701,20 @@ sub store {
" stable_id = ?, ".
"version = ?, ";
if( $transcript->created_date() ) {
$statement .= "created_date = from_unixtime( ".$transcript->created_date()."),";
} else {
$statement .= "created_date = \"0000-00-00 00:00:00\",";
}
$statement .= "created_date = " . $self->db->dbc->from_seconds_to_date($transcript->created_date()) . ",";
if( $transcript->modified_date() ) {
$statement .= "modified_date = from_unixtime( ".$transcript->modified_date().")";
} else {
$statement .= "modified_date = \"0000-00-00 00:00:00\"";
}
# if( $transcript->created_date() ) {
# $statement .= "created_date = from_unixtime( ".$transcript->created_date()."),";
# } else {
# $statement .= "created_date = \"0000-00-00 00:00:00\",";
# }
$statement .= "modified_date = " . $self->db->dbc->from_seconds_to_date($transcript->modified_date()) ;
# if( $transcript->modified_date() ) {
# $statement .= "modified_date = from_unixtime( ".$transcript->modified_date().")";
# } else {
# $statement .= "modified_date = \"0000-00-00 00:00:00\"";
# }
my $sth = $self->prepare($statement);
$sth->bind_param(1,$transc_dbID,SQL_INTEGER);
......
......@@ -77,12 +77,14 @@ sub fetch_by_Transcript {
throw("Bio::EnsEMBL::Transcript argument is required.");
}
my $lsi_created_date = $self->db->dbc->from_date_to_seconds("tlsi.created_date");
my $lsi_modified_date = $self->db->dbc->from_date_to_seconds("tlsi.modified_date");
my $sql = "
SELECT tl.translation_id, tl.start_exon_id,
tl.end_exon_id, tl.seq_start, tl.seq_end,
tlsi.stable_id, tlsi.version, UNIX_TIMESTAMP(tlsi.created_date),
UNIX_TIMESTAMP(tlsi.modified_date)
FROM translation tl
tlsi.stable_id, tlsi.version, " . $lsi_created_date . ", ". $lsi_modified_date .
" FROM translation tl
LEFT JOIN translation_stable_id tlsi
ON tlsi.translation_id = tl.translation_id
WHERE tl.transcript_id = ?";
......@@ -257,18 +259,19 @@ sub store {
"SET translation_id = ?, ".
" stable_id = ?, ".
"version = ?, ";
if( $translation->created_date() ) {
$statement .= "created_date = from_unixtime( ".$translation->created_date()."),";
} else {
$statement .= "created_date = \"0000-00-00 00:00:00\",";
}
if( $translation->modified_date() ) {
$statement .= "modified_date = from_unixtime( ".$translation->modified_date().")";
} else {
$statement .= "modified_date = \"0000-00-00 00:00:00\"";
}
$statement .= "created_date = " . $self->db->dbc->from_seconds_to_date($translation->created_date()) . ",";
# if( $translation->created_date() ) {
# $statement .= "created_date = from_unixtime( ".$translation->created_date()."),";
# } else {
# $statement .= "created_date = \"0000-00-00 00:00:00\",";
# }
$statement .= "modified_date = " . $self->db->dbc->from_seconds_to_date($translation->modified_date()) ;
# if( $translation->modified_date() ) {
# $statement .= "modified_date = from_unixtime( ".$translation->modified_date().")";
# } else {
# $statement .= "modified_date = \"0000-00-00 00:00:00\"";
# }
my $sth = $self->prepare($statement);
......@@ -528,12 +531,15 @@ sub fetch_all_by_Transcript_list {
$id_str = " = " . $ids[0];
}
my $created_date = $self->db->dbc->from_date_to_seconds("tlsi.created_date");
my $modified_date = $self->db->dbc->from_date_to_seconds("tlsi.modified_date");
my $sth = $self->prepare
("SELECT tl.transcript_id, tl.translation_id, tl.start_exon_id,
tl.end_exon_id, tl.seq_start, tl.seq_end,
tlsi.stable_id, tlsi.version, UNIX_TIMESTAMP(tlsi.created_date),
UNIX_TIMESTAMP(tlsi.modified_date)
FROM translation tl
tlsi.stable_id, tlsi.version, " . $created_date . "," .
$modified_date .
" FROM translation tl
LEFT JOIN translation_stable_id tlsi
ON tlsi.translation_id = tl.translation_id
WHERE tl.transcript_id $id_str");
......
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