Bio::PrimarySeq man page on Pidora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Pidora logo
[printable version]

Bio::PrimarySeq(3)    User Contributed Perl Documentation   Bio::PrimarySeq(3)

NAME
       Bio::PrimarySeq - Bioperl lightweight Sequence Object

SYNOPSIS
	 # Bio::SeqIO for file reading, Bio::DB::GenBank for
	 # database reading

	 use Bio::Seq;
	 use Bio::SeqIO;
	 use Bio::DB::GenBank;

	 # make from memory

	 $seqobj = Bio::PrimarySeq->new ( -seq => 'ATGGGGTGGGCGGTGGGTGGTTTG',
					  -id  => 'GeneFragment-12',
					  -accession_number => 'X78121',
					  -alphabet => 'dna',
					  -is_circular => 1 );
	 print "Sequence ", $seqobj->id(), " with accession ",
	   $seqobj->accession_number, "\n";

	 # read from file

	 $inputstream = Bio::SeqIO->new(-file => "myseq.fa",
					-format => 'Fasta');
	 $seqobj = $inputstream->next_seq();
	 print "Sequence ", $seqobj->id(), " and desc ", $seqobj->desc, "\n";

	 # to get out parts of the sequence.

	 print "Sequence ", $seqobj->id(), " with accession ",
	   $seqobj->accession_number, " and desc ", $seqobj->desc, "\n";

	 $string  = $seqobj->seq();
	 $string2 = $seqobj->subseq(1,40);

DESCRIPTION
       PrimarySeq is a lightweight Sequence object, storing the sequence, its
       name, a computer-useful unique name, and other fundamental attributes.
       It does not contain sequence features or other information.  To have a
       sequence with sequence features you should use the Seq object which
       uses this object.

       Although new users will use Bio::PrimarySeq a lot, in general you will
       be using it from the Bio::Seq object. For more information on Bio::Seq
       see Bio::Seq. For interest you might like to know that Bio::Seq has-a
       Bio::PrimarySeq and forwards most of the function calls to do with
       sequence to it (the has-a relationship lets us get out of a otherwise
       nasty cyclical reference in Perl which would leak memory).

       Sequence objects are defined by the Bio::PrimarySeqI interface, and
       this object is a pure Perl implementation of the interface. If that's
       gibberish to you, don't worry. The take home message is that this
       object is the bioperl default sequence object, but other people can use
       their own objects as sequences if they so wish. If you are interested
       in wrapping your own objects as compliant Bioperl sequence objects,
       then you should read the Bio::PrimarySeqI documentation

       The documentation of this object is a merge of the Bio::PrimarySeq and
       Bio::PrimarySeqI documentation.	This allows all the methods which you
       can call on sequence objects here.

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 one
       of the Bioperl mailing lists.  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
       the bugs and their resolution.  Bug reports can be submitted via the
       web:

	 http://bugzilla.open-bio.org/

AUTHOR - Ewan Birney
       Email birney@ebi.ac.uk

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

   new
	Title	: new
	Usage	: $seq	  = Bio::PrimarySeq->new( -seq => 'ATGGGGGTGGTGGTACCCT',
						  -id  => 'human_id',
						  -accession_number => 'AL000012',
						  );

	Function: Returns a new primary seq object from
		  basic constructors, being a string for the sequence
		  and strings for id and accession_number.

		  Note that you can provide an empty sequence string. However, in
		  this case you MUST specify the type of sequence you wish to
		  initialize by the parameter -alphabet. See alphabet() for possible
		  values.
	Returns : a new Bio::PrimarySeq object
	Args	: -seq	       => sequence string
		  -display_id  => display id of the sequence (locus name)
		  -accession_number => accession number
		  -primary_id  => primary id (Genbank id)
		  -version     => version number
		  -namespace   => the namespace for the accession
		  -authority   => the authority for the namespace
		  -description => description text
		  -desc	       => alias for description
		  -alphabet    => sequence type (alphabet) (dna|rna|protein)
		  -id	       => alias for display id
		  -is_circular => boolean field for whether or not sequence is circular
		  -direct      => boolean field for directly setting sequence (requires alphabet also set)
		  -ref_to_seq  => boolean field indicating the sequence is a reference (?!?)
		  -nowarnonempty => boolean field for whether or not to warn when sequence is empty

   seq
	Title	: seq
	Usage	: $string    = $obj->seq()
	Function: Returns the sequence as a string of letters. The
		  case of the letters is left up to the implementer.
		  Suggested cases are upper case for proteins and lower case for
		  DNA sequence (IUPAC standard), but you should not rely on this.
	Returns : A scalar
	Args	: Optionally on set the new value (a string). An optional second
		  argument presets the alphabet (otherwise it will be guessed).

   validate_seq
	Title	: validate_seq
	Usage	: if(! $seq->validate_seq($seq_str) ) {
		       print "sequence $seq_str is not valid for an object of
		       alphabet ",$seq->alphabet, "\n";
		  }
	Function: Validates a given sequence string. A validating sequence string
		  must be accepted by seq(). A string that does not validate will
		  lead to an exception if passed to seq().

		  The implementation provided here does not take alphabet() into
		  account. Allowed are all letters (A-Z) and '-','.','*','?','=',
		  and '~'.

	Example :
	Returns : 1 if the supplied sequence string is valid for the object, and
		  0 otherwise.
	Args	: The sequence string to be validated.

   subseq
	Title	: subseq
	Usage	: $substring = $obj->subseq(10,40);
		  $substring = $obj->subseq(10,40,NOGAP)
		  $substring = $obj->subseq(-START=>10,-END=>40,-REPLACE_WITH=>'tga')
	Function: returns the subseq from start to end, where the first sequence
		  character has coordinate 1 number is inclusive, ie 1-2 are the
		  first two characters of the sequence
	Returns : a string
	Args	: integer for start position
		  integer for end position
			OR
		  Bio::LocationI location for subseq (strand honored)
		  Specify -NOGAP=>1 to return subseq with gap characters removed
		  Specify -REPLACE_WITH=>$new_subseq to replace the subseq returned
		  with $new_subseq in the sequence object

   length
	Title	: length
	Usage	: $len = $seq->length();
	Function: Get the length of the sequence in number of symbols (bases
		  or amino acids).

		  You can also set this attribute, even to a number that does
		  not match the length of the sequence string. This is useful
		  if you don''t want to set the sequence too, or if you want
		  to free up memory by unsetting the sequence. In the latter
		  case you could do e.g.

		      $seq->length($seq->length);
		      $seq->seq(undef);

		  Note that if you set the sequence to a value other than
		  undef at any time, the length attribute will be
		  invalidated, and the length of the sequence string will be
		  reported again. Also, we won''t let you lie about the length.

	Example :
	Returns : integer representing the length of the sequence.
	Args	: Optionally, the value on set

   display_id
	Title	: display_id or display_name
	Usage	: $id_string = $obj->display_id();
	Function: returns the display id, aka the common name of the Sequence object.

		  The semantics of this is that it is the most likely string to
		  be used as an identifier of the sequence, and likely to have
		  "human" readability.	The id is equivalent to the ID field of
		  the GenBank/EMBL databanks and the id field of the
		  Swissprot/sptrembl database. In fasta format, the >(\S+) is
		  presumed to be the id, though some people overload the id to
		  embed other information. Bioperl does not use any embedded
		  information in the ID field, and people are encouraged to use
		  other mechanisms (accession field for example, or extending
		  the sequence object) to solve this.

		  With the new Bio::DescribeableI interface, display_name aliases
		  to this method.

	Returns : A string
	Args	: None

   accession_number
	Title	: accession_number or object_id
	Usage	: $unique_key = $obj->accession_number;
	Function: Returns the unique biological id for a sequence, commonly
		  called the accession_number. For sequences from established
		  databases, the implementors should try to use the correct
		  accession number. Notice that primary_id() provides the
		  unique id for the implemetation, allowing multiple objects
		  to have the same accession number in a particular implementation.

		  For sequences with no accession number, this method should
		  return "unknown".

		  [Note this method name is likely to change in 1.3]

		  With the new Bio::IdentifiableI interface, this is aliased
		  to object_id

	Returns : A string
	Args	: A string (optional) for setting

   primary_id
	Title	: primary_id
	Usage	: $unique_key = $obj->primary_id;
	Function: Returns the unique id for this object in this
		  implementation. This allows implementations to manage their
		  own object ids in a way the implementaiton can control
		  clients can expect one id to map to one object.

		  For sequences with no natural primary id, this method
		  should return a stringified memory location.

	Returns : A string
	Args	: A string (optional, for setting)

   alphabet
	Title	: alphabet
	Usage	: if( $obj->alphabet eq 'dna' ) { /Do Something/ }
	Function: Get/Set the alphabet of sequence, one of
		  'dna', 'rna' or 'protein'. This is case sensitive.

		  This is not called <type> because this would cause
		  upgrade problems from the 0.5 and earlier Seq objects.

	Returns : a string either 'dna','rna','protein'. NB - the object must
		  make a call of the type - if there is no alphabet specified it
		  has to guess.
	Args	: optional string to set : 'dna' | 'rna' | 'protein'

   desc
	Title	: desc or description
	Usage	: $obj->desc($newval)
	Function: Get/set description of the sequence.

		  'description' is an alias for this for compliance with the
		  Bio::DescribeableI interface.

	Example :
	Returns : value of desc (a string)
	Args	: newvalue (a string or undef, optional)

   can_call_new
	Title	: can_call_new
	Usage	:
	Function:
	Example :
	Returns : true
	Args	:

   id
	Title	: id
	Usage	: $id = $seq->id()
	Function: This is mapped on display_id
	Example :
	Returns :
	Args	:

   is_circular
	Title	: is_circular
	Usage	: if( $obj->is_circular) { /Do Something/ }
	Function: Returns true if the molecule is circular
	Returns : Boolean value
	Args	: none

Methods for Bio::IdentifiableI compliance
   object_id
	Title	: object_id
	Usage	: $string    = $obj->object_id()
	Function: A string which represents the stable primary identifier
		  in this namespace of this object. For DNA sequences this
		  is its accession_number, similarly for protein sequences.

		  This is aliased to accession_number().
	Returns : A scalar

   version
	Title	: version
	Usage	: $version    = $obj->version()
	Function: A number which differentiates between versions of
		  the same object. Higher numbers are considered to be
		  later and more relevant, but a single object described
		  the same identifier should represent the same concept.

	Returns : A number

   authority
	Title	: authority
	Usage	: $authority	= $obj->authority()
	Function: A string which represents the organisation which
		  granted the namespace, written as the DNS name for
		  organisation (eg, wormbase.org).

	Returns : A scalar

   namespace
	Title	: namespace
	Usage	: $string    = $obj->namespace()
	Function: A string representing the name space this identifier
		  is valid in, often the database name or the name
		  describing the collection.

	Returns : A scalar

Methods for Bio::DescribableI compliance
       This comprises of display_name and description.

   display_name
	Title	: display_name
	Usage	: $string    = $obj->display_name()
	Function: A string which is what should be displayed to the user.
		  The string should have no spaces (ideally, though a cautious
		  user of this interface would not assumme this) and should be
		  less than thirty characters (though again, double checking
		  this is a good idea).

		  This is aliased to display_id().
	Returns : A scalar

   description
	Title	: description
	Usage	: $string    = $obj->description()
	Function: A text string suitable for displaying to the user a
		  description. This string is likely to have spaces, but
		  should not have any newlines or formatting - just plain
		  text. The string should not be greater than 255 characters
		  and clients can feel justified at truncating strings at 255
		  characters for the purposes of display.

		  This is aliased to desc().
	Returns : A scalar

Methods Inherited from Bio::PrimarySeqI
       These methods are available on Bio::PrimarySeq, although they are
       actually implemented on Bio::PrimarySeqI

   revcom
	Title	: revcom
	Usage	: $rev = $seq->revcom()
	Function: Produces a new Bio::SeqI implementing object which
		  is the reversed complement of the sequence. For protein
		  sequences this throws an exception of
		  "Sequence is a protein. Cannot revcom".

		  The id is the same id as the orginal sequence, and the
		  accession number is also indentical. If someone wants to
		  track that this sequence has be reversed, it needs to
		  define its own extensions.

		  To do an inplace edit of an object you can go:

		  $seqobj = $seqobj->revcom();

		  This of course, causes Perl to handle the garbage
		  collection of the old object, but it is roughly speaking as
		  efficient as an inplace edit.

	Returns : A new (fresh) Bio::SeqI object
	Args	: none

   trunc
	Title	: trunc
	Usage	: $subseq = $myseq->trunc(10,100);
	Function: Provides a truncation of a sequence,

	Example :
	Returns : A fresh Bio::SeqI implementing object.
	Args	:

Internal methods
       These are internal methods to PrimarySeq

   _guess_alphabet
	Title	: _guess_alphabet
	Usage	:
	Function: Determines (and sets) the type of sequence: dna, rna, protein
	Example :
	Returns : one of strings 'dna', 'rna' or 'protein'.
	Args	: none

perl v5.14.1			  2011-07-22		    Bio::PrimarySeq(3)
[top]

List of man pages available for Pidora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net