Skip to content
Snippets Groups Projects
Commit cb382499 authored by Arne Stabenau's avatar Arne Stabenau
Browse files

added support for created_date and modified_date in gene,exon,transcript and translation

parent cc79c932
No related branches found
No related tags found
No related merge requests found
......@@ -82,7 +82,8 @@ sub _columns {
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 );
esi.stable_id esi.version UNIX_TIMESTAMP(created_date)
UNIX_TIMESTAMP(modified_date) );
}
......@@ -250,12 +251,26 @@ sub store {
#store any stable_id information
if ($exon->stable_id && $exon->version()) {
my $sth = $self->prepare(
my $statement =
"INSERT INTO exon_stable_id " .
"SET version = ?, " .
"SET version = ?, " .
"stable_id = ?, " .
"exon_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\"";
}
my $sth = $self->prepare( $statement );
$sth->execute( $exon->version, $exon->stable_id, $exonId );
}
......@@ -451,12 +466,14 @@ sub _objs_from_sth {
my ( $exon_id, $seq_region_id, $seq_region_start,
$seq_region_end, $seq_region_strand, $phase,
$end_phase, $stable_id, $version );
$end_phase, $stable_id, $version, $created_date,
$modified_date );
$sth->bind_columns( \$exon_id, \$seq_region_id,
\$seq_region_start,
\$seq_region_end, \$seq_region_strand, \$phase,
\$end_phase, \$stable_id, \$version );
\$seq_region_start,
\$seq_region_end, \$seq_region_strand, \$phase,
\$end_phase, \$stable_id, \$version, \$created_date,
\$modified_date );
my $asm_cs;
my $cmp_cs;
......@@ -574,6 +591,8 @@ sub _objs_from_sth {
'-dbID' => $exon_id,
'-stable_id' => $stable_id,
'-version' => $version,
'-created_date' => $created_date || undef,
'-modified_date' => $modified_date || undef,
'-phase' => $phase,
'-end_phase' => $end_phase )
......
......@@ -92,9 +92,10 @@ sub _columns {
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.type g.display_xref_id
gd.description gsi.stable_id gsi.version x.display_label
x.dbprimary_acc x.description x.version exdb.db_name exdb.status
exdb.release );
gd.description 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 );
}
......@@ -776,10 +777,21 @@ sub store {
my $statement = "INSERT INTO gene_stable_id
SET gene_id = ?,
stable_id = ?,
version = ?";
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\"";
}
$sth = $self->prepare($statement);
$sth->execute( $gene_dbID, $gene->stable_id(), $gene->version() );
$sth->execute( $gene_dbID, $gene->stable_id(), $gene->version());
$sth->finish();
}
......@@ -1085,14 +1097,16 @@ sub _objs_from_sth {
my ( $gene_id, $seq_region_id, $seq_region_start, $seq_region_end,
$seq_region_strand, $analysis_id, $type, $display_xref_id,
$gene_description, $stable_id, $version, $xref_display_id,
$gene_description, $stable_id, $version, $created_date,
$modified_date, $xref_display_id,
$xref_primary_acc, $xref_desc, $xref_version, $external_name,
$external_db, $external_status, $external_release );
$sth->bind_columns( \$gene_id, \$seq_region_id, \$seq_region_start,
\$seq_region_end, \$seq_region_strand, \$analysis_id, \$type,
\$display_xref_id, \$gene_description, \$stable_id, \$version,
\$xref_display_id, \$xref_primary_acc, \$xref_desc, \$xref_version,
\$created_date, \$modified_date,
\$xref_display_id, \$xref_primary_acc, \$xref_desc, \$xref_version,
\$external_db, \$external_status,
\$external_release );
......@@ -1217,6 +1231,8 @@ sub _objs_from_sth {
'-dbID' => $gene_id,
'-stable_id' => $stable_id,
'-version' => $version,
'-created_date' => $created_date || undef,
'-modified_date' => $modified_date || undef,
'-description' => $gene_description,
'-external_name' => $external_name,
'-external_db' => $external_db,
......
......@@ -99,7 +99,8 @@ sub _columns {
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
t.display_xref_id tsi.stable_id tsi.version UNIX_TIMESTAMP(created_date)
UNIX_TIMESTAMP(modified_date)
x.display_label exdb.db_name exdb.status );
}
......@@ -653,8 +654,23 @@ sub store {
}
my $statement =
"INSERT INTO transcript_stable_id(transcript_id,stable_id,version)" .
" VALUES(?, ?, ?)";
"INSERT INTO transcript_stable_id ".
"SET transcript_id = ?, ".
" 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\",";
}
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->execute($transc_dbID, $transcript->stable_id, $transcript->version);
$sth->finish();
......@@ -929,12 +945,12 @@ sub _objs_from_sth {
my ( $transcript_id, $seq_region_id, $seq_region_start, $seq_region_end,
$seq_region_strand, $gene_id,
$display_xref_id, $stable_id, $version,
$display_xref_id, $stable_id, $version, $created_date, $modified_date,
$external_name, $external_db, $external_status );
$sth->bind_columns( \$transcript_id, \$seq_region_id, \$seq_region_start,
\$seq_region_end, \$seq_region_strand, \$gene_id,
\$display_xref_id, \$stable_id, \$version,
\$display_xref_id, \$stable_id, \$version, \$created_date, \$modified_date,
\$external_name, \$external_db, \$external_status );
......@@ -1067,6 +1083,8 @@ sub _objs_from_sth {
'-dbID' => $transcript_id,
'-stable_id' => $stable_id,
'-version' => $version,
'-created_date' => $created_date || undef,
'-modified_date' => $modified_date || undef,
'-external_name' => $external_name,
'-external_db' => $external_db,
'-external_status' => $external_status,
......
......@@ -78,7 +78,8 @@ sub fetch_by_Transcript {
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
tlsi.stable_id, tlsi.version, UNIX_TIMESTAMP(tlsi.created_date),
UNIX_TIMESTAMP(tlsi.modified_date)
FROM translation tl
LEFT JOIN translation_stable_id tlsi
ON tlsi.translation_id = tl.translation_id
......@@ -89,8 +90,9 @@ sub fetch_by_Transcript {
$sth->execute( $transcript_id );
my ( $translation_id, $start_exon_id, $end_exon_id,
$seq_start, $seq_end, $stable_id, $version ) =
$sth->fetchrow_array();
$seq_start, $seq_end, $stable_id, $version, $created_date,
$modified_date ) =
$sth->fetchrow_array();
$sth->finish;
if( ! defined $translation_id ) {
return undef;
......@@ -124,7 +126,9 @@ sub fetch_by_Transcript {
-start_exon => $start_exon,
-end_exon => $end_exon,
-stable_id => $stable_id,
-version => $version
-version => $version,
-created_date => $created_date || undef,
-modified_date => $modified_date || undef
);
return $translation;
......@@ -235,9 +239,25 @@ sub store {
throw("Trying to store incomplete stable id information for translation");
}
my $sth = $self->prepare
("INSERT INTO translation_stable_id(translation_id, stable_id, version)".
" VALUES (?, ?, ?)");
my $statement =
"INSERT INTO translation_stable_id ".
"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\"";
}
my $sth = $self->prepare($statement);
$sth->execute($transl_dbID, $translation->stable_id(),
$translation->version());
......@@ -463,7 +483,8 @@ sub fetch_all_by_Transcript_list {
my $max_size = 200;
my ( $tr_id,$tl_id, $start_exon_id, $end_exon_id,
$seq_start, $seq_end, $stable_id, $version );
$seq_start, $seq_end, $stable_id, $version,
$created_date, $modified_date );
my %ex_hash;
......@@ -485,7 +506,8 @@ sub fetch_all_by_Transcript_list {
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
tlsi.stable_id, tlsi.version, UNIX_TIMESTAMP(tlsi.created_date),
UNIX_TIMESTAMP(tlsi.modified_date)
FROM translation tl
LEFT JOIN translation_stable_id tlsi
ON tlsi.translation_id = tl.translation_id
......@@ -494,7 +516,8 @@ sub fetch_all_by_Transcript_list {
$sth->execute();
$sth->bind_columns( \$tr_id, \$tl_id, \$start_exon_id, \$end_exon_id,
\$seq_start, \$seq_end, \$stable_id, \$version );
\$seq_start, \$seq_end, \$stable_id, \$version,
\$created_date, \$modified_date );
while($sth->fetch()) {
my ($start_exon, $end_exon);
......@@ -528,7 +551,9 @@ sub fetch_all_by_Transcript_list {
-start_exon => $start_exon,
-end_exon => $end_exon,
-stable_id => $stable_id,
-version => $version);
-version => $version,
-created_date => $created_date || undef,
-modified_date => $modified_date || undef);
$tr->translation($tl);
......
......@@ -81,13 +81,16 @@ sub new {
my $self = $class->SUPER::new( @_ );
my ( $phase, $end_phase, $stable_id, $version ) =
rearrange( [ "PHASE", "END_PHASE", "STABLE_ID", "VERSION" ], @_ );
my ( $phase, $end_phase, $stable_id, $version, $created_date, $modified_date ) =
rearrange( [ "PHASE", "END_PHASE", "STABLE_ID", "VERSION",
"CREATED_DATE", "MODIFIED_DATE" ], @_ );
$self->{'phase'} = $phase;
$self->{'end_phase'} = $end_phase;
$self->{'stable_id'} = $stable_id;
$self->{'version'} = $version;
$self->{'created_date'} = $created_date;
$self->{'modified_date'} = $modified_date;
return $self;
}
......@@ -590,6 +593,21 @@ sub stable_id {
}
sub created_date {
my $self = shift;
$self->{'created_date'} = shift if ( @_ );
return $self->{'created_date'};
}
sub modified_date {
my $self = shift;
$self->{'modified_date'} = shift if ( @_ );
return $self->{'modified_date'};
}
=head2 version
Arg [1] : string $version
......
......@@ -59,10 +59,11 @@ sub new {
my $self = $class->SUPER::new(@_);
my ( $stable_id, $version, $external_name, $type, $external_db,
$external_status, $display_xref, $description, $transcripts ) =
$external_status, $display_xref, $description, $transcripts,
$created_date, $modified_date ) =
rearrange( [ 'STABLE_ID', 'VERSION', 'EXTERNAL_NAME', 'TYPE',
'EXTERNAL_DB', 'EXTERNAL_STATUS', 'DISPLAY_XREF', 'DESCRIPTION',
'TRANSCRIPTS'], @_ );
'TRANSCRIPTS', 'CREATED_DATE', 'MODIFIED_DATE'], @_ );
if ($transcripts) {
$self->{'_transcript_array'} = $transcripts;
......@@ -71,6 +72,9 @@ sub new {
$self->stable_id( $stable_id );
$self->version( $version );
$self->{'created_date'} = $created_date;
$self->{'modified_date'} = $modified_date;
$self->external_name( $external_name ) if( defined $external_name );
$self->external_db( $external_db ) if( defined $external_db );
$self->external_status( $external_status ) if( defined $external_status );
......@@ -469,6 +473,20 @@ sub stable_id{
}
sub created_date {
my $self = shift;
$self->{'created_date'} = shift if ( @_ );
return $self->{'created_date'};
}
sub modified_date {
my $self = shift;
$self->{'modified_date'} = shift if ( @_ );
return $self->{'modified_date'};
}
=head2 transform
Arg 1 : String $coordinate_system_name
......
......@@ -100,7 +100,7 @@ sub new {
my $self = $class->SUPER::new(@_);
my ( $exons, $stable_id, $version, $external_name, $external_db,
$external_status, $display_xref );
$external_status, $display_xref, $created_date, $modified_date );
#catch for old style constructor calling:
if((@_ > 0) && ref($_[0])) {
......@@ -111,9 +111,10 @@ sub new {
}
else {
( $exons, $stable_id, $version, $external_name, $external_db,
$external_status, $display_xref ) =
$external_status, $display_xref, $created_date, $modified_date ) =
rearrange( [ "EXONS", 'STABLE_ID', 'VERSION', 'EXTERNAL_NAME',
'EXTERNAL_DB', 'EXTERNAL_STATUS', 'DISPLAY_XREF' ], @_ );
'EXTERNAL_DB', 'EXTERNAL_STATUS', 'DISPLAY_XREF',
'CREATED_DATE', 'MODIFIED_DATE' ], @_ );
}
if( $exons ) {
......@@ -123,6 +124,8 @@ sub new {
$self->stable_id( $stable_id );
$self->version( $version );
$self->{'created_date'} = $created_date;
$self->{'modified_date'} = $modified_date;
$self->external_name( $external_name ) if( defined $external_name );
$self->external_db( $external_db ) if( defined $external_db );
$self->external_status( $external_status ) if( defined $external_status );
......@@ -1421,6 +1424,19 @@ sub stable_id{
return $self->{'stable_id'};
}
sub created_date {
my $self = shift;
$self->{'created_date'} = shift if ( @_ );
return $self->{'created_date'};
}
sub modified_date {
my $self = shift;
$self->{'modified_date'} = shift if ( @_ );
return $self->{'modified_date'};
}
=head2 swap_exons
......
......@@ -74,10 +74,11 @@ sub new {
my $class = ref($caller) || $caller;
my ( $start_exon, $end_exon, $seq_start, $seq_end,
$stable_id, $version, $dbID, $adaptor, $seq ) =
$stable_id, $version, $dbID, $adaptor, $seq,
$created_date, $modified_date ) =
rearrange( [ "START_EXON", "END_EXON", "SEQ_START", "SEQ_END",
"STABLE_ID", "VERSION", "DBID", "ADAPTOR",
"SEQ" ], @_ );
"SEQ", "CREATED_DATE", "MODIFIED_DATE" ], @_ );
my $self = bless {
'start_exon' => $start_exon,
......@@ -88,6 +89,8 @@ sub new {
'end' => $seq_end,
'stable_id' => $stable_id,
'version' => $version,
'created_date' => $created_date,
'modified_date' => $modified_date,
'seq' => $seq
}, $class;
......@@ -235,6 +238,19 @@ sub stable_id {
return $self->{'stable_id'};
}
sub created_date {
my $self = shift;
$self->{'created_date'} = shift if ( @_ );
return $self->{'created_date'};
}
sub modified_date {
my $self = shift;
$self->{'modified_date'} = shift if ( @_ );
return $self->{'modified_date'};
}
=head2 transform
......
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