[Bioperl-l] More general Bio::Assembly::Contig question (was Bio::Tools::Run::Cap3 usage question)

Paolo Pavan paolo.pavan at gmail.com
Fri Nov 27 06:35:03 EST 2009

Dear Florent,
Thank you for your kind answer and for your efforts spent in this module.
Since you are working on these topics I would like to seize the day and put
you some questions about some doubts I have in mind, if you agree, of course
Some times ago I tried to work with bioperl, loading the data from an ACE
file originated by Newbler; my need was to extract part of the contig like
an alignment of reads and I tought to do it with a slice() method, since I
saw Bio::Assembly::Contig implements Bio::AlignI interface. Unfortunately I
realize that this interface is inherited but not implemented.
I tried to hack it by adding a slice method which would act on a
Bio::Alignment created from the array of LocatableSeqs representing the

This is the question:
If I'm not wrong (please correct me if yes), Bio::Assembly::Contig class
stores reads informations in:

Anyone of these 3 features _align_clipping, _aligned_coord,
_quality_clipping, contains a Bio::SeqFeature::Generic, which of them is
more suitable to the purpose expressed before, the slice method?
And more, If you apologize me for being too long, is consequently to the
previous: I don't have perfectly clear the purpose of this 3 feature per
read, can you explain it?

Really thanks you for the time you would spend.
Bye bye,

2009/11/24 Florent Angly <florent.angly at gmail.com>

> Hi Paolo,
> It turns out that there is no standard for what is to be passed to the
> Bio::Tools::Run wrappers and returned by them. I noticed the inconsistency
> between the assembly wrappers recently while implementing support for new
> wrapper. I implemented inital support for additional de novo assembly
> programs in BioPerl (454 Newbler and Minimo) a couple of weeks ago and Mark
> Jensen added support for Maq, a program that assembler reads against a
> reference. In the process, all the assembly wrappers were changed to take
> the same type of input data (a FASTA sequence or an array reference of
> sequence objects) and return one of the following:
>   * a Bio::Assembly::Scaffold object (the default), or
>   * a Bio::Assembly::IO object, or
>   * the name of a file for the output of the assembler
> Use the out_type method to set up which output you want, e.g.:
>   $factory->out_type('Bio::Assembly::IO');
> or
>   $factory->out_type('cap3_results.ace');
> You'll have to use the code in the bioperl-run subversion if you want to
> use these new features.
> Cheers,
> Florent
> Paolo Pavan wrote:
>> Dear,
>> I'm confused about the proper usage of the module Bio::Tools::Run::Cap3.
>> As documented in the pod, the run(@seqs) method returns the cap3 report
>> file
>> while I expect to return a Bio::Assembly object, consistently with other
>> Bio::Tools::Run classes.
>> However, I went around this by getting from the factory object the
>> location
>> and the names of the temp output files (actually accessing a private
>> property, although) and reading them via the Assembly::IO system.
>> I was just wandering what is the proper designed way to do this job.
>> Thank you for enlighten the way!
>> Paolo
>> _______________________________________________
>> Bioperl-l mailing list
>> Bioperl-l at lists.open-bio.org
>> http://lists.open-bio.org/mailman/listinfo/bioperl-l

More information about the Bioperl-l mailing list