[Biopython-dev] [Bug 2778] Efficiency improvement in function Bio.SeqUtils.GC()
bugzilla-daemon at portal.open-bio.org
bugzilla-daemon at portal.open-bio.org
Thu Mar 5 15:51:20 UTC 2009
http://bugzilla.open-bio.org/show_bug.cgi?id=2778
------- Comment #4 from lpritc at scri.sari.ac.uk 2009-03-05 10:51 EST -------
(In reply to comment #3)
> (In reply to comment #2)
> > I've checked that in, but with the existing code to catch a zero length
> > sequence and return 0 instead of raising a ZeroDivisionError.
> >
> > def GC(seq):
> > """Calculates G+C content, ..."""
> > gc=sum(map(seq.count,['G','C','g','c','S','s']))
> > if gc == 0: return 0
> > return gc*100.0/len(seq)
> >
>
> I think that it is clearer to check that the sequence length is not zero rather
> than assuming that if the sum is zero then the sequence length is also zero.
>
> def GC(seq):
> """Calculates G+C content, ..."""
> gc=sum(map(seq.count,['G','C','g','c','S','s']))
> if len(seq) > 0:
> return gc*100.0/len(seq)
> else:
> return 0
It would probably be clearest, quickest and most efficient to comment that
particular line of the code to point out that it does elegant double-duty as a
check for zero sequence length ;)
--
Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the Biopython-dev
mailing list