[Bioperl-l] Bio::Seq::SeqWithQuality status

Florent Angly florent.angly at gmail.com
Tue Jan 13 14:39:36 EST 2009

There is some text in Bio::Seq::Quality that may explain why someone 
marked it as DEPRECATED in the first place:
> This object stores base quality values together with the sequence
> string.
> It is a reimplementation of Chad Matsalla's Bio::Seq::SeqWithQuality
> module using Bio::Seq::MetaI.
> The implementation is based on Bio::Seq::Meta::Array. qual() and
> trace() are base methods to store and retrieve information that have
> extensions to retrieve values as a scalar (e.g. qual_text() ), or get
> or set subvalues (e.g. subqual() ). See L<Bio::Seq::MetaI> for more 
> details.
> All the functional code is in Bio::Seq::Meta::Array.
> There deprecated methods that are included for compatibility with
> Bio::Seq::SeqWithQuality. These will print a warning unless verbosity
> of the object is set to be less than zero.
> Differences from Bio::Seq::SeqWithQuality
> It is not possible to fully follow the interface of
> Bio::Seq::SeqWithQuality since internally a Bio::Seq::SeqWithQuality
> object is a composite of two independent objects: a Bio::PrimarySeq
> object and Bio::Seq::PrimaryQual object. Both of these objects can be
> created separately and merged into Bio::Seq::SeqWithQuality.
> This implementation is based on Bio::Seq::Meta::Array that is a subclass
> of Bio::PrimarySeq that stores any number of meta information in
> unnamed arrays.
> Here we assume that two meta sets, called 'qual' and 'trace_indices' are
> attached to a sequence. (But there is nothing that prevents you to add
> as many named meta sets as you need using normal meta() methods).
> qual() is an alias to meta(), qualat($loc) is an alias to
> submeta($loc,$loc).
> trace_indices() in Bio::Seq::SeqWithQuality has been abbreviated to
> trace() and is an alias to named_meta('trace').
> You can create an object without passing any arguments to the
> constructor (Bio::Seq::SeqWithQuality fails without alphabet). It will
> warn about not being able to set alphabet unless you set verbosity of
> the object to a negative value.
> After the latest rewrite, the meta information sets (quality and
> trace) no longer cover all the residues automatically. Methods to
> check the length of meta information (L<quality_length>,
> L<trace_length>)and to see if the ends are flushed to the sequence
> have been added (L<quality_is_flush>, L<trace_is_flush>). To force
> the old functinality, set L<force_flush> to true.
> qual_obj() and seq_obj() methods do not exist!
> Finally, there is only one set of descriptors (primary_id, display_id,
> accession_number) for the object.

Chris Fields wrote:
> What is the current status of this module?  Florent Angly has marked 
> this as deprecated on main trunk (in the POD) but it hasn't been added 
> to the DEPRECATED list, nor can I find any discussion on the mail list 
> about deprecating this module (normally a prerequisite for doing so).
> chris

More information about the Bioperl-l mailing list