Bio::EnsEMBL::ExternalData::Expression SeqTagAdaptor
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
Toolbar
WebCvsRaw content
Summary
Bio::EnsEMBL::ExternalData::Expression::SeqTagAdaptor
Package variables
No package variables defined.
Included modules
Bio::Annotation::DBLink
Bio::EnsEMBL::ExternalData::BaseAdaptor
Bio::EnsEMBL::ExternalData::Expression::SeqTag
strict
Inherit
Bio::EnsEMBL::ExternalData::BaseAdaptor
Synopsis
    my $dbname='expression';
my $tag_ad= Bio::EnsEMBL::ExternalData::Expression::SeqTagAdaptor->new($obj);
$tag_ad->dbname($dbname);
my $tag=$sta->fetch_by_Name("AAAAAAAAAA");
Description
Represents information on one Clone
Methods
_fetch
No description
Code
_fetch_aliases
No description
Code
_list
No description
Code
_prepare_list
No description
Code
fetch_allDescriptionCode
fetch_by_LibraryList_NameDescriptionCode
fetch_by_LibraryList_dbIDs
No description
Code
fetch_by_Library_NameDescriptionCode
fetch_by_Library_dbIDDescriptionCode
fetch_by_Library_dbID_SeqTag_dbIDDescriptionCode
fetch_by_Library_dbID_above_frequencyDescriptionCode
fetch_by_Library_dbID_above_relative_frequencyDescriptionCode
fetch_by_Library_dbID_below_relative_frequencyDescriptionCode
fetch_by_NameDescriptionCode
fetch_by_Name_with_allAliasesDescriptionCode
fetch_by_SynonymDescriptionCode
fetch_by_Synonym_with_allAliases_1
No description
Code
fetch_by_dbIDDescriptionCode
list_all_idsDescriptionCode
list_all_namesDescriptionCode
list_by_aliasDescriptionCode
multiplierDescriptionCode
Methods description
fetch_allcode    nextTop
 Title   : fetch_all
Usage : $obj->fetch_all
Function:
Example :
Returns : array of seqtag objects
Args :
fetch_by_LibraryList_NamecodeprevnextTop
 Title   : fetch_by_LibraryList_Name
Usage : $obj->fetch_by_LibraryList_Name
Function:
Example :
Returns : array of seqtag objects
Args : array of library names
fetch_by_Library_NamecodeprevnextTop
 Title   : fetch_by_Library_Name
Usage : $obj->fetch_by_Library_Name
Function:
Example :
Returns : array of seqtag objects
Args : library name
fetch_by_Library_dbIDcodeprevnextTop
 Title   : fetch_by_Library_dbID
Usage : $obj->fetch_by_Library_dbID
Function:
Example :
Returns : array of seqtag objects
Args : library id
fetch_by_Library_dbID_SeqTag_dbIDcodeprevnextTop
 Title   : fetch_by_Library_dbID_SeqTag_dbID
Usage : $obj->fetch_by_Library_dbID_SeqTag_dbID
Function:
Example :
Returns : array of seqtag objects
Args : library id,seqtag db id
fetch_by_Library_dbID_above_frequencycodeprevnextTop
 Title   : fetch_by_Library_dbID_above_frequency
Usage : $obj->fetch_by_Library_dbID_above_frequency
Function: this method is supposed to be used from LibraryAdaptor
Example :
Returns : array of seqtag objects above absolute frequency
Args : libray id, frequency
fetch_by_Library_dbID_above_relative_frequencycodeprevnextTop
 Title   : fetch_by_Library_dbID_above_relative_frequency
Usage : $obj->fetch_by_Library_dbID_above_relative_frequency
Function: this method is supposed to be used from LibraryAdaptor
Example :
Returns : array of seqtag objects above relative frequency
Args : libray id, frequency
fetch_by_Library_dbID_below_relative_frequencycodeprevnextTop
 Title   : fetch_by_Library_dbID_below_relative_frequency
Usage : $obj->fetch_by_Library_dbID_below_relative_frequency
Function: this method is supposed to be used from LibraryAdaptor
Example :
Returns : array of seqtag objects below relative frequency
Args : libray id, frequency
fetch_by_NamecodeprevnextTop
 Title   : fetch_by_Name
Usage : $obj->fetch_by_Name
Function:
Example :
Returns :array of seqtag objects
Args :seqtag name or alias
fetch_by_Name_with_allAliasescodeprevnextTop
 Title   : fetch_by_Name_with_allAliases
Usage : $obj->fetch_by_Name_with_allAliases
Function:
Example :
Returns :array of seqtag objects
Args :seqtag name or alias
fetch_by_SynonymcodeprevnextTop
 Title   : fetch_by_Synonym
Usage : $obj->fetch_by_Synonym
Function:
Example :
Returns :array of seqtag objects
Args :seqtag name or alias
fetch_by_dbIDcodeprevnextTop
 Title   : fetch_by_dbID
Usage : $obj->fetch_by_dbID
Function:
Example :
Returns :seqtag object
Args :db id
list_all_idscodeprevnextTop
 Title   : list_all_ids
Usage : $obj->list_all_ids($newval)
Function:
Example :
Returns : array of seqtag db ids
Args :
list_all_namescodeprevnextTop
 Title   : list_all_names
Usage : $obj->list_all_names($newval)
Function:
Example :
Returns : array of seqtag names
Args :
list_by_aliascodeprevnextTop
 Title   : list_by_alias
Usage : $obj->list_by_alias($alias)
Function:
Example :
Returns : array of seqtag db ids
Args :
multipliercodeprevnextTop
 Title   : multiplier
Usage : $obj->multiplier($newval)
Function:
Example :
Returns : value of multiplier
Args : newvalue (optional)
Methods code
_fetchdescriptionprevnextTop
sub _fetch {
    my ($self,$statement)=@_;

    my @tags;
    my $sth = $self->prepare($statement);    
    $sth->execute();
    
    my ($library_id,$source,$name,$db,$external_name,$frequency,$relative_frequency);

    $sth->bind_columns(undef,\$library_id,\$source,\$name,\$db,\$external_name,\$frequency,\$relative_frequency);

    while ($sth->fetch){	
	my @args=($library_id,$source,$name,$frequency,$relative_frequency);	
	my $tg=Bio::EnsEMBL::ExternalData::Expression::SeqTag->new($self,@args);
	push @tags,$tg;
	
	my $link = new Bio::Annotation::DBLink;
	$link->database($db);
	$link->primary_id($external_name);
	$tg->add_DBLink($link);
	
    }    
    return @tags;
}
_fetch_aliasesdescriptionprevnextTop
sub _fetch_aliases {
    my ($self,$statement)=@_;

    my @tags;
    my $sth = $self->prepare($statement);    
    $sth->execute();
    
    my ($name,$external_name,$db);

    $sth->bind_columns(undef,\$name,\$external_name,\$db);

    while ($sth->fetch){	
	my ($library_id,$source,$frequency,$relative_frequency);
	my @args=($library_id,$source,$name,$frequency,$relative_frequency);	
	my $tg=Bio::EnsEMBL::ExternalData::Expression::SeqTag->new($self,@args);
	push @tags,$tg;
	
	my $link = new Bio::Annotation::DBLink;
	$link->database($db);
	$link->primary_id($external_name);
	$tg->add_DBLink($link);
	
    }    
    return @tags;
}
_listdescriptionprevnextTop
sub _list {
 my ($self,$statement)=@_;
 my @tag_ids;
 my $sth = $self->prepare($statement);    
 $sth->execute();

 while (my $nm=$sth->fetchrow_array){
     push @tag_ids,$nm;
 }

 return @tag_ids;
}
_prepare_listdescriptionprevnextTop
sub _prepare_list {
    my ($self,@ids)=@_;
    
    my $string;
    foreach my $id(@ids){
	$string .= $id . ","; 
    }
    chop $string;
    
    if ($string) { $string = "($string)";} 

    return $string;
}
fetch_alldescriptionprevnextTop
sub fetch_all {
    my ($self)=shift;

   
    my $multiplier=$self->multiplier;    

    my $statement="select s.seqtag_id,s.source,s.name,
                          sa.db_name,sa.external_name,f.frequency,
                          ceiling((f.frequency*$multiplier/l.total_seqtags) -1) as relative_frequency
                   from   seqtag s,frequency f,seqtag_alias sa 
                   where  s.seqtag_id=f.seqtag_id and sa.seqtag_id=s.seqtag_id";

    return $self->_fetch($statement);
}
fetch_by_LibraryList_NamedescriptionprevnextTop
sub fetch_by_LibraryList_Name {
    my ($self,@ids)=@_;

    $self->throw("need a list of library ids") unless  @ids && $#ids>=0;
    
    my $list=$self->_prepare_list(@ids);
    
    unless ($list){
	return ();
    }
    
   
    my $multiplier=$self->multiplier; 

    my $statement="select s.seqtag_id,s.source,s.name,
                          sa.db_name,sa.external_name,f.frequency,    
                          ceiling((f.frequency*$multiplier/l.total_seqtags) -1) as relative_frequency
                   from   seqtag s,frequency f,seqtag_alias sa,
                          library l   
                   where  s.seqtag_id=f.seqtag_id and sa.seqtag_id=s.seqtag_id 
                   and    l.library_id=f.library_id and l.name in $list";
    
    return $self->_fetch($statement);
}
fetch_by_LibraryList_dbIDsdescriptionprevnextTop
sub fetch_by_LibraryList_dbIDs {
    my ($self,@ids)=@_;

    $self->throw("need a list of library ids") unless  @ids && $#ids>=0;
    
    my $list=$self->_prepare_list(@ids);

    unless ($list){
	return ();
    }
           
   
    my $multiplier=$self->multiplier; 
    my $statement="select   s.seqtag_id,s.source,s.name,
                            sa.db_name,sa.external_name,f.frequency, 
                            ceiling((f.frequency*$multiplier/l.total_seqtags) -1) as relative_frequency
                   from     seqtag s,frequency f,seqtag_alias sa,
                            library l  
                   where    s.seqtag_id=f.seqtag_id and sa.seqtag_id=s.seqtag_id 
                   and      l.library_id=f.library_id and f.library_id in $list limit 10";

   
    return $self->_fetch($statement);
}
fetch_by_Library_NamedescriptionprevnextTop
sub fetch_by_Library_Name {
    my ($self,$name)=@_;

  $self->throw("need a library name") unless  $name;

   
    my $multiplier=$self->multiplier; 
    my $statement="select s.seqtag_id,s.source,s.name,
                          sa.db_name,sa.external_name,f.frequency,    
                          ceiling((f.frequency*$multiplier/l.total_seqtags) -1) as relative_frequency
                   from   seqtag s,frequency f,seqtag_alias sa,
                          library l  
                   where  s.seqtag_id=f.seqtag_id and sa.seqtag_id=s.seqtag_id 
                   and    l.library_id=f.library_id and l.name='$name'";

    return $self->_fetch($statement);
}
fetch_by_Library_dbIDdescriptionprevnextTop
sub fetch_by_Library_dbID {
    my ($self,$id)=@_;

    $self->throw("need a library id") unless  $id;

   
    my $multiplier=$self->multiplier; 
    my $statement="select s.seqtag_id,s.source,s.name,
                          sa.db_name,sa.external_name,f.frequency, 
                          ceiling((f.frequency*$multiplier/l.total_seqtags) -1) as relative_frequency
                   from   seqtag s,frequency f,seqtag_alias sa,
                          library l  
                   where  s.seqtag_id=f.seqtag_id and sa.seqtag_id=s.seqtag_id 
                   and    l.library_id=f.library_id and f.library_id='$id'";

    return $self->_fetch($statement);
}
fetch_by_Library_dbID_SeqTag_dbIDdescriptionprevnextTop
sub fetch_by_Library_dbID_SeqTag_dbID {
    my ($self,$library_id,$id)=@_;

    $self->throw("need a library id") unless  $library_id;
    $self->throw("need a seqtag id") unless  $id;

   
    my $multiplier=$self->multiplier; 
    my $statement="select s.seqtag_id,s.source,s.name,
                          sa.db_name,sa.external_name,f.frequency, 
                          ceiling((f.frequency*$multiplier/l.total_seqtags) -1) as relative_frequency
                   from   seqtag s,frequency f,seqtag_alias sa,
                          library l  
                   where  s.seqtag_id=f.seqtag_id and sa.seqtag_id=s.seqtag_id 
                   and    l.library_id=f.library_id and f.library_id='$library_id' and s.seqtag_id=$id";

    return $self->_fetch($statement);
}
fetch_by_Library_dbID_above_frequencydescriptionprevnextTop
sub fetch_by_Library_dbID_above_frequency {
    my ($self,$id,$frequency)=@_;



    $self->throw("need a library id") unless  $id;
    $self->throw("need a frequency value") unless  $frequency;

   
    my $multiplier=$self->multiplier; 

    my $statement="select s.seqtag_id,s.source,s.name,sa.db_name,sa.external_name,f.frequency,
                   ceiling((f.frequency*$multiplier/l.total_seqtags) -1) as relative_frequency
                   from   seqtag s,frequency f,seqtag_alias sa 
                   where  s.seqtag_id=f.seqtag_id 
                   and    sa.seqtag_id=s.seqtag_id 
                   and    f.library_id='$id' and f.frequency>$frequency";


    return $self->_fetch($statement);
}
fetch_by_Library_dbID_above_relative_frequencydescriptionprevnextTop
sub fetch_by_Library_dbID_above_relative_frequency {
    my ($self,$id,$frequency,$multiplier)=@_;

    $self->throw("need a library id") unless  $id;
    $self->throw("need a frequency value") unless  $frequency;
    $multiplier=$self->multiplier unless $multiplier; 
   
    my $statement="select   s.seqtag_id,s.source,s.name,sa.db_name,sa.external_name,f.frequency,  
                            ceiling((f.frequency*$multiplier/l.total_seqtags) -1) as relative_frequency
                   from     seqtag s,frequency f,library l,seqtag_alias sa  
                   where    s.seqtag_id=f.seqtag_id                                    
                   and      l.library_id=f.library_id 
                   and      sa.seqtag_id=s.seqtag_id 
                   and      f.library_id='$id' and  
                            ceiling((f.frequency*$multiplier/l.total_seqtags) -1)>$frequency
                   order by relative_frequency desc";


    return $self->_fetch($statement);
}
fetch_by_Library_dbID_below_relative_frequencydescriptionprevnextTop
sub fetch_by_Library_dbID_below_relative_frequency {
    my ($self,$id,$frequency,$multiplier)=@_;

    $self->throw("need a library id") unless  $id;
    $self->throw("need a frequency value") unless  $frequency;
    $multiplier=$self->multiplier unless $multiplier; 
   

    my $statement="select   s.seqtag_id,s.source,s.name,sa.db_name,sa.external_name,f.frequency,  
                            ceiling((f.frequency*$multiplier/l.total_seqtags) -1) as relative_frequency
                   from     seqtag s,frequency f,library l,seqtag_alias sa  
                   where    s.seqtag_id=f.seqtag_id                                    
                   and      l.library_id=f.library_id 
                   and      sa.seqtag_id=s.seqtag_id 
                   and      f.library_id='$id' and  
                            ceiling((f.frequency*$multiplier/l.total_seqtags) -1)<$frequency
                   order by relative_frequency desc";


    return $self->_fetch($statement);
}
fetch_by_NamedescriptionprevnextTop
sub fetch_by_Name {
    my ($self,$lib_id,$name)=@_;
 
    $self->throw("need a library id") unless  $lib_id;
    $self->throw("need a tag name") unless  $name;

    
    my $multiplier=$self->multiplier; 

    my $statement="select s.seqtag_id,s.source,s.name,
                          sa.db_name,sa.external_name,f.frequency,
                          ceiling((f.frequency*$multiplier/l.total_seqtags) -1) as relative_frequency
                   from   seqtag s,frequency f,seqtag_alias sa,
                          library l 
                   where  s.seqtag_id=f.seqtag_id and sa.seqtag_id=s.seqtag_id  
                   and    l.library_id=f.library_id and l.library_id=$lib_id and s.name='$name' group by s.seqtag_id";


    return $self->_fetch($statement);
}
fetch_by_Name_with_allAliasesdescriptionprevnextTop
sub fetch_by_Name_with_allAliases {
    my ($self,$name)=@_;
    
    $self->throw("need a tag name") unless  $name;   

    my $statement="select s.name,sa.external_name, sa.db_name 
                   from   seqtag s,seqtag_alias sa  
                   where  sa.seqtag_id=s.seqtag_id  and s.name='$name'";

    return $self->_fetch_aliases($statement);
}
fetch_by_SynonymdescriptionprevnextTop
sub fetch_by_Synonym {
    my ($self,$lib_id,$synonym)=@_;
 
    $self->throw("need a library id") unless  $lib_id;
    $self->throw("need a tag synonym") unless  $synonym;

    
    my $multiplier=$self->multiplier; 

    my $statement="select s.seqtag_id,s.source,s.name,
                          sa.db_name,sa.external_name,f.frequency,
                          ceiling((f.frequency*$multiplier/l.total_seqtags) -1) as relative_frequency
                   from   seqtag s,frequency f,seqtag_alias sa,
                          library l 
                   where  s.seqtag_id=f.seqtag_id and sa.seqtag_id=s.seqtag_id  
                   and    l.library_id=f.library_id and l.library_id=$lib_id and sa.external_name='$synonym'";


    return $self->_fetch($statement);
}
fetch_by_Synonym_with_allAliases_1descriptionprevnextTop
sub fetch_by_Synonym_with_allAliases_1 {
    my ($self,$synonym)=@_;
 
#    $self->throw("need a library id") unless  $lib_id;
$self->throw("need a tag synonym") unless $synonym; # my $multiplier=$self->multiplier;
# my $statement="select s.seqtag_id,s.source,s.name,
# sa1.db_name,sa1.external_name,f.frequency,
# ceiling((f.frequency*$multiplier/l.total_seqtags) -1) as relative_frequency
# from seqtag s,frequency f,seqtag_alias sa1, seqtag_alias sa2,
# library l
# where s.seqtag_id=f.seqtag_id and sa1.seqtag_id=s.seqtag_id and sa1.seqtag_id=sa2.seqtag_id
# and l.library_id=f.library_id and l.library_id=$lib_id and sa2.external_name='$synonym'";
# my $statement="select t.name,s1.external_name,s1.db_name
# from seqtag_alias s1,seqtag_alias s2,seqtag t
# where s1.seqtag_id=s2.seqtag_id and t.seqtag_id=s1.seqtag_id
# and s2.external_name='$synonym'";
# my $statement="select
# return $self->_fetch_aliases($statement);
}
fetch_by_dbIDdescriptionprevnextTop
sub fetch_by_dbID {
    my ($self,$id)=@_;
 

    $self->throw("need a db id") unless  $id;

    
    my $multiplier=$self->multiplier; 

    my $statement="select s.seqtag_id,s.source,s.name,
                          sa.db_name,sa.external_name,f.frequency,
                          ceiling((f.frequency*$multiplier/l.total_seqtags) -1) as relative_frequency
                   from   seqtag s,frequency f,seqtag_alias sa, 
                          library l 
                   where  s.seqtag_id=f.seqtag_id and sa.seqtag_id=s.seqtag_id
                   and    l.library_id=f.library_id and s.seqtag_id=$id";

    my @tags=$self->_fetch($statement);  
    if ($#tags>=0){
	return shift @tags;
    }else {return;}
}
list_all_idsdescriptionprevnextTop
sub list_all_ids {
    my ($self)=shift;

   
    my $statement="select seqtag_id from seqtag";

    return $self->_list($statement);
}
list_all_namesdescriptionprevnextTop
sub list_all_names {
    my ($self)=shift;

   
    my $statement="select name from seqtag";

    return $self->_list($statement);
}
list_by_aliasdescriptionprevnextTop
sub list_by_alias {
    my ($self,$alias)=@_;

   
    my $statement="select s.name from seqtag s,seqtag_alias sa 
                   where s.seqtag_id=sa.seqtag_id and sa.external_name='$alias'";

    return $self->_list($statement);
}
multiplierdescriptionprevnextTop
sub multiplier {
   my ($obj,$value) = @_;
   if( defined $value) {
      $obj->{'_multiplier'} = $value;
  } elsif (!defined$obj->{'_multiplier'})  {
      $obj->{'_multiplier'}=1000000;
  }
    return $obj->{'_multiplier'};
}
General documentation
CONTACTTop
Describe contact details here
APPENDIXTop
The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _
fetch_by_LibraryList_dbIDTop
 Title   : fetch_by_LibraryList_dbID
Usage : $obj->fetch_by_LibraryList_dbID
Function:
Example :
Returns : array of seqtag objects
Args : array of library ids