[Biopython-dev] Sequential SFF IO

Kevin Jacobs <jacobs@bioinformed.com> bioinformed at gmail.com
Fri Jan 28 13:54:47 UTC 2011


On Fri, Jan 28, 2011 at 7:34 AM, Brad Chapman <chapmanb at 50mail.com> wrote:

> Kevin and Peter;
> I'm really enjoying this discussion -- thanks for talking this
> through here.
>
> > For just 5' barcode detection, I am using a memoized scheme that computes
> > anchored alignments and then stores the result in a hash table
> > (match/mismatch, edit distance).  This approach allows me to reject
> barcodes
> > with too small an edit distance to the next best candidate.  It is
> > reasonably fast for our fairly long 454 barcode set (10-'mers), though I
> do
> > have an optional Cython version of the edit distance routine.  The
> > pure-Python version is pretty zippy and can decode a 454 run in a minute
> or
> > two.
>
> This sounds like a nice approach. Do you have code available or is
> it not packaged up yet?
>

It is still under development with some of the refinements I mentioned in a
non-public branch and have not percolated out to my Google code version.
 However, a previous version is available from:

http://code.google.com/p/glu-genetics/source/browse/glu/modules/seq/unbarcode.py#



> I wrote up a barcode detector, remover and sorter for our Illumina
> reads. There is nothing especially tricky in the implementation: it
> looks for exact matches and then checks for approximate matches,
> with gaps, using pairwise2:
>
>
> https://github.com/chapmanb/bcbb/blob/master/nextgen/scripts/barcode_sort_trim.py
>
> The "best_match" function could be replaced with different
> implementations, using the rest of the script as scaffolding to do
> all of the other sorting, trimming and output.
>
>
Nice!   I didn't know about pairwise2, though I figured BioPython would have
something to that effect.

-Kevin



More information about the Biopython-dev mailing list