Bio::EnsEMBL::DBSQL UnconventionalTranscriptAssociationAdaptor
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
Toolbar
WebCvsRaw content
Summary
Bio::EnsEMBL::DBSQL::UnconventionalTranscriptAssociationAdaptor
Package variables
No package variables defined.
Included modules
Bio::EnsEMBL::DBSQL::BaseAdaptor
Bio::EnsEMBL::UnconventionalTranscriptAssociation
Inherit
Bio::EnsEMBL::DBSQL::BaseAdaptor
Synopsis
  $utaa = $registry->get_adaptor( 'Human', 'Core',
'UnconventionalTranscriptAssociation' );
my $uta = $utaa->fetch_all_by_type('antisense');
Description
This is an adaptor for the retrieval and storage of
UnconventionalTranscriptAssociation objects from the database. Most of
the implementation is in the superclass BaseFeatureAdaptor.
Methods
_objs_from_sth
No description
Code
fetch_all_by_geneDescriptionCode
fetch_all_by_interaction_typeDescriptionCode
fetch_all_by_transcriptDescriptionCode
storeDescriptionCode
Methods description
fetch_all_by_genecode    nextTop
  Arg [1]    : String gene the gene of associations to obtain
Arg [2] : (optional) An interaction type; if set, only associations of this type will be returned.
Example : $utas = $utaa->fetch_all_by_gene($gene, 'antisense');
Description: Obtains all unconventional transcript associations that involve
a particular gene.
Returntype : listREF of Bio::EnsEMBL::UnconventionalTranscriptAssociations
Exceptions : none
Caller : general
Status : At Risk
: under development
fetch_all_by_interaction_typecodeprevnextTop
  Arg [1]    : String type
the type of associations to obtain
Example : $utas = $utaa->fetch_all_by_type('antisense');
Description: Obtains all unconventional transcript associations that
have a particular interaction type.
NOTE: In a multi-species database, this method will
return all the entries matching the search criteria, not
just the ones associated with the current species.
Returntype : listREF of Bio::EnsEMBL::UnconventionalTranscriptAssociations
Exceptions : none
Caller : general
Status : At Risk
: under development
fetch_all_by_transcriptcodeprevnextTop
  Arg [1]    : String transcript the transcript of associations to obtain
Arg [2] : (optional) An interaction type; if set, only associations of this type will be returned.
Example : $utas = $utaa->fetch_all_by_transcript($transcript, 'antisense');
Description: Obtains all unconventional transcript associations that involve
a particular transcript.
Returntype : listREF of Bio::EnsEMBL::UnconventionalTranscriptAssociations
Exceptions : none
Caller : general
Status : At Risk
: under development
storecodeprevnextTop
  Arg [1]    : Bio::EnsEMBL::UnconventionalTranscriptAssociation
the unconventional transcript association to store in the database
Example : $utaa_adaptor->store($uta);
Description: stores unconventional transcript associations in the database
Returntype : none
Exceptions :
Caller : general
Status : At Risk
: under development
Methods code
_objs_from_sthdescriptionprevnextTop
sub _objs_from_sth {
  my ($self, $sth) = @_;

  my $transcript_adaptor = $self->db()->get_TranscriptAdaptor();
  my $gene_adaptor = $self->db()->get_GeneAdaptor();

  my ($gene_id, $transcript_id, $type);
  $sth->bind_columns(\$transcript_id,\$ gene_id,\$ type);

  my @results;

  while($sth->fetch()) {

    my $gene = $gene_adaptor->fetch_by_dbID($gene_id);
    my $transcript = $transcript_adaptor->fetch_by_dbID($transcript_id);

    my $obj = Bio::EnsEMBL::UnconventionalTranscriptAssociation->new($transcript, $gene, $type);
    push @results, $obj;

  }

  return\@ results;
}

1;
}
fetch_all_by_genedescriptionprevnextTop
sub fetch_all_by_gene {
  my( $self, $gene, $type) = @_;

  if(!ref($gene) || !$gene->isa('Bio::EnsEMBL::Gene')) {
    throw('$gene must be a Bio::EnsEMBL::Gene');
  }

  my $sql = "SELECT transcript_id, gene_id, interaction_type FROM unconventional_transcript_association WHERE gene_id = ?";
  $sql .= " AND interaction_type = ?" if ($type);

  my $sth = $self->prepare($sql);

  $sth->bind_param(1, $gene->dbID(), SQL_INTEGER);
  $sth->bind_param(2, $type, SQL_VARCHAR) if ($type);

  $sth->execute();

  my $results = $self->_objs_from_sth($sth);

  $sth->finish();

  return $results;
}
fetch_all_by_interaction_typedescriptionprevnextTop
sub fetch_all_by_interaction_type {
  my( $self, $type) = @_;

  my $sth = $self->prepare("SELECT transcript_id, gene_id, interaction_type " .
			   "FROM unconventional_transcript_association " .
			   "WHERE interaction_type = ?");

  $sth->bind_param(1, $type, SQL_VARCHAR);
  $sth->execute();

  my $results = $self->_objs_from_sth($sth);

  $sth->finish();

  return $results;
}
fetch_all_by_transcriptdescriptionprevnextTop
sub fetch_all_by_transcript {
  my( $self, $transcript, $type) = @_;

  if(!ref($transcript) || !$transcript->isa('Bio::EnsEMBL::Transcript')) {
    throw('$transcript must be a Bio::EnsEMBL::Transcript');
  }

  my $sql = "SELECT transcript_id, gene_id, interaction_type FROM unconventional_transcript_association WHERE transcript_id = ?";
  $sql .= " AND interaction_type = ?" if ($type);

  my $sth = $self->prepare($sql);

  $sth->bind_param(1, $transcript->dbID(), SQL_INTEGER);
  $sth->bind_param(2, $type, SQL_VARCHAR) if ($type);

  $sth->execute();

  my $results = $self->_objs_from_sth($sth);

  $sth->finish();

  return $results;
}
storedescriptionprevnextTop
sub store {
  my( $self, $uta ) = @_;

  if(!ref($uta) || !$uta->isa('Bio::EnsEMBL::UnconventionalTranscriptAssociation')) {
    throw('$uta must be a Bio::EnsEMBL::UnconventionalTranscriptAssociation');
  }

  my $sth = $self->prepare(qq  {INSERT into unconventional_transcript_association
			       (transcript_id, gene_id, interaction_type) VALUES (?,?,?)});

  $sth->bind_param(1, $uta->transcript()->dbID(), SQL_INTEGER);
  $sth->bind_param(2, $uta->gene()->dbID,         SQL_INTEGER);
  $sth->bind_param(3, $uta->interaction_type(),   SQL_VARCHAR);

  $sth->execute();
}
General documentation
LICENSETop
  Copyright (c) 1999-2009 The European Bioinformatics Institute and
Genome Research Limited. All rights reserved.
This software is distributed under a modified Apache license. For license details, please see /info/about/code_licence.html
CONTACTTop
  Please email comments or questions to the public Ensembl
developers list at <ensembl-dev@ebi.ac.uk>.
Questions may also be sent to the Ensembl help desk at <helpdesk@ensembl.org>.