[Biopython-dev] Follow up to bug incoming/75

Jeffrey Chang jchang at smi.stanford.edu
Tue Jul 16 03:32:16 EDT 2002


Hi Daishi,

Thanks for the bug report and patch.  I will look into this soon.

Jeff


On Mon, Jul 15, 2002 at 04:15:44PM -0700, daishi at egcrc.net wrote:
> I believe that the following patch fixes the problem that
> I mentioned in the bug report (side note: I couldn't seem
> to find a way to follow up on the bug report through the
> web interface provided - did I miss something?)
> 
> I'm not entirely sure that I understood all of the code,
> however, so please consider the patch with that in mind.
> In particular, I didn't entirely understand the code at
> L332-333 in the CVS version 1.3 of fastpairwise.py.
> I had to comment them out in my patch to get things to
> work properly.
> 
> Daishi
> 
> 
> *** /usr/local/src/biopython/Bio/Align/fastpairwise.py	Tue Jul  9 15:08:53 2002
> --- fastpairwise.py	Mon Jul 15 16:03:05 2002
> ***************
> *** 302,308 ****
>            else:
>                # Since the length of the alignment is unknown, set an
>                # offset from the end of the alignment.
> !             begin, end = 0, -len(seqA)
>                if not end:
>                    end = None
>            x = seqA, seqB, score, begin, end, row, col, []
> --- 302,308 ----
>            else:
>                # Since the length of the alignment is unknown, set an
>                # offset from the end of the alignment.
> !             begin, end = None, -len(seqA)
>                if not end:
>                    end = None
>            x = seqA, seqB, score, begin, end, row, col, []
> ***************
> *** 329,341 ****
>                    nbegin = begin
>                    nseqA = cseqA[:-taillen] + seqA
>                    nseqB = cseqB[:-taillen] + seqB
> !                 if nbegin < cbegin:
> !                     nbegin = cbegin
>                    x = nseqA, nseqB, score, nbegin, end, -1, -1, path
>                    in_process.append(x)
>            elif row < 0 and col < 0:
>                # This one is done.  Put it into the tracebacks list and
>                # continue.
>                tracebacks.append((seqA, seqB, score, begin, end))
>                path.pop()   # Don't cache the last step.
>                # Update the cache.
> --- 329,343 ----
>                    nbegin = begin
>                    nseqA = cseqA[:-taillen] + seqA
>                    nseqB = cseqB[:-taillen] + seqB
> ! #                if nbegin < cbegin:
> ! #                    nbegin = cbegin
>                    x = nseqA, nseqB, score, nbegin, end, -1, -1, path
>                    in_process.append(x)
>            elif row < 0 and col < 0:
>                # This one is done.  Put it into the tracebacks list and
>                # continue.
> +             if not begin:
> +                 begin = 0
>                tracebacks.append((seqA, seqB, score, begin, end))
>                path.pop()   # Don't cache the last step.
>                # Update the cache.
> ***************
> *** 347,360 ****
>            elif row < 0:
>                nseqA = gap_char + seqA
>                nseqB = sequenceB[col:col+1] + seqB
> !             if not global_alignment:
>                    begin = col + 1
>                x = nseqA, nseqB, score, begin, end, row, col-1, path
>                in_process.append(x)
>            elif col < 0:
>                nseqA = sequenceA[row:row+1] + seqA
>                nseqB = gap_char + seqB
> !             if not global_alignment:
>                    begin = row + 1
>                x = nseqA, nseqB, score, begin, end, row-1, col, path
>                in_process.append(x)
> --- 349,362 ----
>            elif row < 0:
>                nseqA = gap_char + seqA
>                nseqB = sequenceB[col:col+1] + seqB
> !             if not (global_alignment or begin):
>                    begin = col + 1
>                x = nseqA, nseqB, score, begin, end, row, col-1, path
>                in_process.append(x)
>            elif col < 0:
>                nseqA = sequenceA[row:row+1] + seqA
>                nseqB = gap_char + seqB
> !             if not (global_alignment or begin):
>                    begin = row + 1
>                x = nseqA, nseqB, score, begin, end, row-1, col, path
>                in_process.append(x)
> 
> _______________________________________________
> Biopython-dev mailing list
> Biopython-dev at biopython.org
> http://biopython.org/mailman/listinfo/biopython-dev



More information about the Biopython-dev mailing list