The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Bio::DB::HIV - Database object interface to the Los Alamos HIV Sequence Database

SYNOPSIS

$db = new Bio::DB::HIV;

$seq = $db->get_Seq_by_id('94284');                                 # LANL sequence id
$seq = $db->get_Seq_by_acc('EF432710');                             # GenBank accession

$q = new Bio::DB::Query::HIVQuery( " (C D)[subtype] SI[phenotype] (symptomatic AIDS)[patient_health] " );

$seqio = $db->get_Stream_by_query($q);
$seq = $seqio->next_seq();
($seq->annotation->get_Annotations('Virus'))[0]->{subtype}          # returns 'D'
($seq->annotation->get_Annotations('Patient'))[0]->{patient_health} # returns 'AIDS'
($seq->annotation->get_Annotations('accession'))[0]->{value}        # returns 'K03454'

DESCRIPTION

Bio::DB::HIV, along with Bio::DB::Query::HIVQuery, provides an interface for obtaining annotated HIV and SIV sequences from the Los Alamos National Laboratory (LANL) HIV Sequence Database ( http://www.hiv.lanl.gov/content/sequence/HIV/mainpage.html ). Unannotated sequences can be retrieved directly from the database object, using either LANL ids or GenBank accessions. Annotations are obtained via a query object, and are attached to the correct Bio::Seq objects when the query is handled by Bio::DB::HIV::get_Seq_by_query or Bio::DB::HIV::get_Stream_by_query.

FEEDBACK

Mailing Lists

User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to the Bioperl mailing list. Your participation is much appreciated.

bioperl-l@bioperl.org                  - General discussion
http://bioperl.org/wiki/Mailing_lists  - About the mailing lists

Support

Please direct usage questions or support issues to the mailing list:

bioperl-l@bioperl.org

rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible.

Reporting Bugs

Report bugs to the Bioperl bug tracking system to help us keep track of the bugs and their resolution. Bug reports can be submitted via the web:

https://github.com/bioperl/bioperl-live/issues

AUTHOR - Mark A. Jensen

Email maj@fortinbras.us

CONTRIBUTORS

Mark A. Jensen

APPENDIX

The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _

Constructor

new

Title   : new
Usage   : my $obj = new Bio::DB::HIV();
Function: Builds a new Bio::DB::HIV object
Returns : an instance of Bio::DB::HIV
Args    :

WebDBSeqI compliance

get_request

Title   : get_request
Usage   : my $url = $self->get_request
Function: returns a HTTP::Request object
Returns :
Args    : %qualifiers = a hash of qualifiers with keys in
           (-ids, -format, -mode, -query)
Note    : Several layers of requests are performed to get to the sequence;
          see Bio::DB::Query::HIVQuery.

postprocess_data

 Title   : postprocess_data
 Usage   : $self->postprocess_data ( 'type' => 'string',
				     'location' => \$datastr);
 Function: process downloaded data before loading into a Bio::SeqIO
 Returns : void
 Args    : hash with two keys - 'type' can be 'string' or 'file'
                              - 'location' either file location or string
                                           reference containing data

WebDBSeqI overrides

get_seq_stream

Title   : get_seq_stream
Usage   : my $seqio = $self->get_seq_stream(%qualifiers)
Function: builds a url and queries a web db
Returns : a Bio::SeqIO stream capable of producing sequence
Args    : %qualifiers = a hash qualifiers that the implementing class
          will process to make a url suitable for web querying
Note    : Some tightening up of the baseclass version

get_Stream_by_acc

Title   : get_Stream_by_acc
Usage   : $seq = $db->get_Stream_by_acc([$acc1, $acc2]);
Function: Gets a series of Seq objects by GenBank accession numbers
Returns : a Bio::SeqIO stream object
Args    : an arrayref of accession numbers for
          the desired sequence entries
Note    : For LANL DB, alternative to LANL seqids

get_Stream_by_query

Title   : get_Stream_by_query
Usage   : $stream = $db->get_Stream_by_query($query);
Function: Gets a series of Seq objects by way of a query string or oject
Returns : a Bio::SeqIO stream object
Args    : $query : Currently, only a Bio::DB::Query::HIVQuery object.
          It's a good idea to create the query object first and interrogate
          it for the entry count before you fetch a potentially large stream.

Internals

lanl_base

Title   : lanl_base
Usage   : $obj->lanl_base($newval)
Function: get/set the base url of the LANL HIV database
Example :
Returns : value of lanl_base (a scalar)
Args    : on set, new value (a scalar or undef, optional)

map_db

Title   : map_db
Usage   : $obj->map_db($newval)
Function: get/set the cgi filename for map_db ("Database Map")
Example :
Returns : value of map_db (a scalar)
Args    : on set, new value (a scalar or undef, optional)

make_search_if

Title   : make_search_if
Usage   : $obj->make_search_if($newval)
Function: get/set the cgi filename for make_search_if ("Make Search Interface")
Example :
Returns : value of make_search_if (a scalar)
Args    : on set, new value (a scalar or undef, optional)

search_

Title   : search_
Usage   : $obj->search_($newval)
Function: get/set the cgi filename for the search query page
          ("Search Database")
Example :
Returns : value of search_ (a scalar)
Args    : on set, new value (a scalar or undef, optional)

_map_db_uri

Title   : _map_db_uri
Usage   :
Function: return the full map_db uri ("Database Map")
Example :
Returns : scalar string
Args    : none

_make_search_if_uri

Title   : _make_search_if_uri
Usage   :
Function: return the full make_search_if uri ("Make Search Interface")
Example :
Returns : scalar string
Args    : none

_search_uri

Title   : _search_uri
Usage   :
Function: return the full search cgi uri ("Search Database")
Example :
Returns : scalar string
Args    : none

_session_id

Title   : _session_id
Usage   : $obj->_session_id($newval)
Function: Contains HIV db session id (initialized in _do_lanl_request)
Example :
Returns : value of _session_id (a scalar)
Args    : on set, new value (a scalar or undef, optional)

_response

Title   : _response
Usage   : $obj->_response($newval)
Function: hold the response to search post
Example :
Returns : value of _response (a scalar)
Args    : on set, new value (a scalar or undef, optional)

Dude, sorry

Title   : _sorry
Usage   : $hiv->_sorry
Function: Throws an exception for unsupported option or parameter
Example :
Returns :
Args    : scalar string