NAME
Bio::DB::SeqHound - Database object interface to SeqHound
SYNOPSIS
use Bio::DB::SeqHound;$sh = Bio::DB::SeqHound->new();$seq = $sh->get_Seq_by_acc("CAA28783"); # Accession Number# or ...$seq = $sh->get_Seq_by_gi(4557225); # GI Number
VERSION
1.1
DESCRIPTION
SeqHound is a database of biological sequences and structures. This script allows the retrieval of sequence objects (Bio::Seq) from the SeqHound database at the Blueprint Initiative.
Bioperl extension permitting use of the SeqHound Database System developed by researchers at
The Blueprint InitiativeSamuel Lunenfeld Research InstituteMount Sinai HospitalToronto, Canada
FEEDBACK/BUGS
known bugs: fail to get sequences for some RefSeq record with CONTIG, example GI = 34871762
MAILING LISTS
User feedback is an integral part of the evolution of this Bioperl module. Send your comments and suggestions preferably to seqhound.usergroup mailing lists. Your participation is much appreciated.
WEBSITE
For more information on SeqHound http://dogboxonline.unleashedinformatics.com/
DISCLAIMER
This software is provided 'as is' without warranty of any kind.
AUTHOR
Rong Yao, Hao Lieu, Ian Donaldson
APPENDIX
The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _
new
Title : newUsage : $sh = Bio::DB::SeqHound->new(@options);Function: Creates a new seqhound handleReturns : New seqhound handleArgs :
Routines Bio::DB::WebDBSeqI from Bio::DB::RandomAccessI
get_Seq_by_id
Title : get_Seq_by_idUsage : $seq = $db->get_Seq_by_id('ROA1_HUMAN');Function: Gets a Bio::Seq object by its nameReturns : a Bio::Seq objectArgs : the id (as a string) of a sequenceThrows : "id does not exist" exceptionExample : Each of these calls retrieves the same sequence record$seq = $db->get_Seq_by_id(56); #retrieval by GI$seq = $db->get_Seq_by_id("X02597"); #retrieval by NCBI accession$seq = $db->get_Seq_by_id("BTACHRE"); #retrieval by sequence "name"a sequence "name" is a secondary identifier (usually assigned by thesubmitting database external to the NCBI) that may not be visible inthe GenBank flat file version of the record but is always present inthe ASN.1 format.Note : Since in GenBank.pm, this function accepts a gi, an accession numberor a sequence name, SeqHound also satisfies these inputs.If the input uid is a number, it is treated as a gi, if the uid is astring, it is treated as an accession number first. If the search stillfails, it is treated as a sequence name.Since SeqHound stores biological data from different source sequencedatabases like: GenBank, GenPept, SwissProt, EMBL, RefSeq,you can pass ids from the above databases to this function.The Bio::Seq object returned by this function is identical to theBio::Seq generated by the GenBank.pm and GenPept.pm.The Bio::Seq object returned by this function sometimes has minordifference in the SeqFeature from the Bio::Seq object generatedin RefSeq.pm.The Bio::Seq objects created from this function will have the NCBIversions of the SwissProt and EMBL sequence data information.
get_Seq_by_acc
Title : get_Seq_by_accUsage : $seq = $db->get_Seq_by_acc('M34830');Function: Gets a Seq object by accession numbersReturns : a Bio::Seq objectArgs : the accession number as a stringThrows : "id does not exist" exceptionNote : Since in GenBank.pm, this function accepts an accession numberor a sequence name, SeqHound also satisfies these inputs.If the input uid is a string, it is treated as an accession number first.If the search fails, it is treated as a sequence name.Since SeqHound stores biological data from different source sequencedatabases like: GenBank, GenPept, SwissProt, EMBL, RefSeq,you can pass ids from the above databases to this function.The Bio::Seq object returned by this function is identical to theBio::Seq generated by the GenBank.pm and GenPept.pm.The Bio::Seq object returned by this function sometimes has minordifference in the SeqFeature from the Bio::Seq object generatedin RefSeq.pm.The Bio::Seq objects created from this function will have the NCBIversions of the SwissProt and EMBL sequence data information.
get_Seq_by_gi
Title : get_Seq_by_giUsage : $seq = $sh->get_Seq_by_gi('405830');Function: Gets a Bio::Seq object by gi numberReturns : A Bio::Seq objectArgs : gi number (as a string)Throws : "gi does not exist" exceptionNote : call the same code get_Seq_by_id
get_Seq_by_version
Title : get_Seq_by_versionUsage : $seq = $db->get_Seq_by_version('X77802');Function: Gets a Bio::Seq object by sequence versionReturns : A Bio::Seq objectArgs : accession.version (as a string)Throws : "acc.version does not exist" exceptionNote : SeqHound only keeps the most up-to-date version of a sequence. Sofor the above example, use$seq = $db->get_Seq_by_acc('X77802');instead of X77802.1
get_Stream_by_query
Title : get_Stream_by_queryUsage : $seq = $db->get_Stream_by_query($query);Function: Retrieves Seq objects from Entrez 'en masse', rather than oneat a time. For large numbers of sequences, this is far superiorthan get_Stream_by_[id/acc]().Example : $query_string = 'Candida maltosa 26S ribosomal RNA gene';$query = Bio::DB::Query::GenBank->new(-db=>'nucleotide',-query=>$query_string);$stream = $sh->get_Stream_by_query($query);or$query = Bio::DB::Query::GenBank->new (-db=> 'nucleotide',-ids=>['X02597', 'X63732', 11002, 4557284]);$stream = $sh->get_Stream_by_query($query);Returns : a Bio::SeqIO stream objectArgs : $query : A Bio::DB::Query::GenBank object. It is suggested thatyou create a Bio::DB::Query::GenBank object and get the entrycount before you fetch a potentially large stream.
get_Stream_by_id
Title : get_Stream_by_idUsage : $stream = $db->get_Stream_by_id(['J05128', 'S43442', 34996479]);Function: Gets a series of Seq objects by unique identifiersReturns : a Bio::SeqIO stream objectArgs : $ref : a reference to an array of unique identifiers forthe desired sequence entries, according to genbank.pmthis function accepts gi, accession numberand sequence nameNote : Since in GenBank.pm, this function accepts a gi, an accession numberor a sequence name, SeqHound also satisfies these inputs.If the input uid is a number, it is treated as a gi, if the uid is astring, it is treated as an accession number first. If the search stillfails, it is treated as a sequence name.Since SeqHound stores biological data from different source sequencedatabases like: GenBank, GenPept, SwissProt, EMBL, RefSeq,you can pass ids from the above databases to this function.The Bio::Seq object returned by this function is identical to theBio::Seq generated by the GenBank.pm and GenPept.pm.The Bio::Seq object returned by this function sometimes has minordifference in the SeqFeature from the Bio::Seq object generatedin RefSeq.pm.The Bio::Seq objects created from this function will have the NCBIversions of the SwissProt and EMBL sequence data information.
get_Stream_by_acc
Title : get_Stream_by_accUsage : $seq = $db->get_Stream_by_acc(['M98777', 'M34830']);Function: Gets a series of Seq objects by accession numbersReturns : a Bio::SeqIO stream objectArgs : $ref : a reference to an array of accession numbers forthe desired sequence entriesNote : For SeqHound, this just calls the same code for get_Stream_by_id()
get_Stream_by_gi
Title : get_Stream_by_giUsage : $seq = $db->get_Seq_by_gi([161966, 255064]);Function: Gets a series of Seq objects by gi numbersReturns : a Bio::SeqIO stream objectArgs : $ref : a reference to an array of gi numbers forthe desired sequence entriesNote : For SeqHound, this just calls the same code for get_Stream_by_id()
get_request
Title : get_requestUsage : my $lcontent = $self->get_request;Function: get the output from SeqHound API http callReturns : the result of the remote call from SeqHoundArgs : %qualifiers = a hash of qualifiers(SeqHound function name, id, query etc)Example : $lcontent = $self->get_request(-funcname=>'SeqHoundGetGenBankff',-query=>'gi',-uid=>555);Note : this function overrides the implementation in Bio::DB::WebDBSeqI.
postprocess_data
Title : postprocess_dataUsage : $self->postprocess_data (-funcname => $funcname,-lcontent => $lcontent,-outtype => $outtype);Function: process return String from http seqrem calloutput type can be a string or a Bio::SeqIO object.Returns : voidArgs : $funcname is the API function name of SeqHound$lcontent is a string output from SeqHound server http call$outtype is a string or a Bio::SeqIO objectExample : $seqio = $self->postprocess_data ( -lcontent => $lcontent,-funcname => 'SeqHoundGetGenBankffList',-outtype => 'Bio::SeqIO');or$gi = $self->postprocess_data( -lcontent => $lcontent,-funcname => 'SeqHoundFindAcc',-outtype => 'string');Note : this method overrides the method works for genbank/genpept,this is for SeqHound
_get_gi_from_name
Title : _get_gi_from_nameUsage : $self->_get_gi_from_name('J05128');Function: get the gene identifier from a sequence namein SeqHound databaseReturn : gene identifier or undefArgs : a string represented sequence name
_get_gi_from_acc
Title : _get_gi_from_accUsage : $self->_get_gi_from_acc('M34830')Function: get the gene identifier from an accession numberin SeqHound databaseReturn : gene identifier or undefArgs : a string represented accession number
_get_Seq_from_gbff
Title : _get_Seq_from_gbffUsage : $self->_get_Seq_from_gbff($str)Function: get the Bio::SeqIO stream object from gi or a list of giin SeqHound databaseReturn : Bio::SeqIO or undefArgs : a string represented gene identifier ora list of gene identifiersExample : $seq = $self->_get_Seq_from_gbff(141740);or$seq = $self->_get_Seq_from_gbff([141740, 255064, 45185482]);
_init_SeqHound
Title : _init_SeqHoundUsage : $self->_init_SeqHound();Function: call SeqHoundInit at blueprint serverReturn : $result (TRUE or FALSE)Args :
_MaxSizeArray
Title : _MaxSizeArrayUsage : $self->_MaxSizeArray(\@arr)Function: get an array with the limit sizeReturn : an array with the limit sizeArgs : a reference to an array