[Bioperl-l] Next-gen modules

Sendu Bala bix at sendu.me.uk
Wed Jun 17 18:10:57 EDT 2009

Chris Fields wrote:
> On Jun 17, 2009, at 1:20 PM, Sendu Bala wrote:
>> Tristan Lefebure wrote:
>>> Hello,
>>> Regarding next-gen sequences and bioperl, following my experience, 
>>> another issue is bioperl speed. For example, if you want to trim bad 
>>> quality bases at ends of 1E6 Solexa reads using Bio::SeqIO::fastq and 
>>> some methods in Bio::Seq::Quality, well, you've got to be patient 
>>> (but may be I missed some shortcuts...).
>> This is my concern as well. Or, rather, is there actually a 
>> significant set of users out there who are dealing with next-gen 
>> sequencing and would consider using BioPerl for their work?
>> I'm working with all the 1000-genomes data at the Sanger, and we at 
>> least are probably never going to use BioPerl for the work.
> Are you using pure perl or (gasp) something else?  ;>

We use some perl stuff, some C stuff. My own stuff is OO perl, but much 
lighter weight than BioPerl. Absolute minimal object creation.

>>> A pure perl solution will be between 100 to 1000x faster... Would it 
>>> be possible to have an ultra-light quality object with few simple 
>>> methods for next-gen reads?
>> The fastq parser itself already seems pretty fast. The way to get the 
>> speedup is to not create any Bio::Seq* objects but just return the 
>> data directly. At that point it's not taking much advantage of 
>> BioPerl. But certainly it could be done...
> I suppose the best way to assess what needs to be done is come up with a 
> set of 'use cases' specifying what users want so we can design around 
> them, otherwise we're shooting in the dark.

Indeed. Though at least I think we can all agree it would be nice to 
have the functionality there even if it's slow. There will always be at 
least some use-cases where the run speed doesn't matter.

> I'm personally wondering if this could be done as a sequence database, 
> something similar in theme to Lincoln's SeqFeature::Store, but sequence 
> only, and returns quality objects in a similar manner (ala Storable)?  
> Not sure whether that's feasible, but it's appears at least scalable.

I think not. Well, at least SeqFeature::Store doesn't scale. Try storing 
millions of features in a database and watch it crawl to complete 
unusability. I can't imagine a db scaling to holding hundreds of TB of 
data either. I'm also not sure what the benefit is. There are already 
high-speed ways of indexing your fastq or bam files.

More information about the Bioperl-l mailing list