[Biopython-dev] Equality in Bio.Restriction.RestrictionType
Peter
biopython at maubp.freeserve.co.uk
Thu Jul 8 12:24:28 UTC 2010
Hi Frédéric et al,
One of the things in Python 3 is that overriding equality (done with __eq__
only since __cmp__ has gone) requires you also override __hash__. One
remaining example of this which triggers a deprecation warning within our
test suite when running with the -3 switch in in Bio.Restriction.
I therefore had a look at how __eq__ and __ne__ are defined in the
RestrictionType class - and strangely they do NOT seem to be inverses.
def __eq__(cls, other):
"""RE == other -> bool
True if RE and other are the same enzyme."""
return other is cls
def __ne__(cls, other):
"""RE != other -> bool.
isoschizomer strict, same recognition site, same restriction -> False
all the other-> True"""
if not isinstance(other, RestrictionType):
return True
elif cls.charac == other.charac:
return False
else:
return True
Frédéric - could you clarify the intent here?
Thanks,
Peter
More information about the Biopython-dev
mailing list