Package Bio :: Module SeqFeature :: Class BetweenPosition
[hide private]
[frames] | no frames]

Class BetweenPosition

source code

      object --+    
               |    
             int --+
                   |
      object --+   |
               |   |
AbstractPosition --+
                   |
                  BetweenPosition

Specify the position of a boundary between two coordinates (OBSOLETE?).

Arguments:
o position - The default integer position
o left - The start (left) position of the boundary
o right - The end (right) position of the boundary

This allows dealing with a position like 123^456. This
indicates that the start of the sequence is somewhere between
123 and 456. It is up to the parser to set the position argument
to either boundary point (depending on if this is being used as
a start or end of the feature). For example as a feature end:

>>> p = BetweenPosition(456, 123, 456)
>>> p
BetweenPosition(456, left=123, right=456)
>>> print(p)
(123^456)
>>> int(p)
456

Integer equality and comparison use the given position,

>>> p == 456
True
>>> p in [455, 456, 457]
True
>>> p > 300
True

The old legacy properties of position and extension give the
starting/lower/left position as an integer, and the distance
to the ending/higher/right position as an integer. Note that
the position object will act like either the left or the right
end-point depending on how it was created:

>>> p2 = BetweenPosition(123, left=123, right=456)
>>> p.position == p2.position == 123
True
>>> p.extension
333
>>> p2.extension
333
>>> p.extension == p2.extension == 333
True
>>> int(p) == int(p2)
False
>>> p == 456
True
>>> p2 == 123
True

Note this potentially surprising behaviour:

>>> BetweenPosition(123, left=123, right=456) == ExactPosition(123)
True
>>> BetweenPosition(123, left=123, right=456) == BeforePosition(123)
True
>>> BetweenPosition(123, left=123, right=456) == AfterPosition(123)
True

i.e. For equality (and sorting) the position objects behave like
integers.

Instance Methods [hide private]
 
__repr__(self)
String representation of the WithinPosition location for debugging.
source code
 
__str__(self)
str(x)
source code
 
_shift(self, offset) source code
 
_flip(self, length) source code

Inherited from int: __abs__, __add__, __and__, __cmp__, __coerce__, __div__, __divmod__, __float__, __floordiv__, __format__, __getattribute__, __getnewargs__, __hash__, __hex__, __index__, __int__, __invert__, __long__, __lshift__, __mod__, __mul__, __neg__, __nonzero__, __oct__, __or__, __pos__, __pow__, __radd__, __rand__, __rdiv__, __rdivmod__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __sub__, __truediv__, __trunc__, __xor__, bit_length, conjugate

Inherited from object: __delattr__, __init__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

Static Methods [hide private]
a new object with type S, a subtype of T

__new__(cls, position, left, right) source code
Properties [hide private]
  position
Legacy attribute to get (left) position as integer (OBSOLETE).
  extension
Legacy attribute to get extension (from left to right) as an integer (OBSOLETE).

Inherited from int: denominator, imag, numerator, real

Inherited from object: __class__

Method Details [hide private]

__new__(cls, position, left, right)
Static Method

source code 


Returns:
a new object with type S, a subtype of T

Overrides: object.__new__
(inherited documentation)

__repr__(self)
(Representation operator)

source code 
String representation of the WithinPosition location for debugging.

Overrides: object.__repr__

__str__(self)
(Informal representation operator)

source code 
str(x)

Overrides: object.__str__
(inherited documentation)

Property Details [hide private]

position

Legacy attribute to get (left) position as integer (OBSOLETE).

Get Method:
unreachable.position(self) - Legacy attribute to get (left) position as integer (OBSOLETE).

extension

Legacy attribute to get extension (from left to right) as an integer (OBSOLETE).

Get Method:
unreachable.extension(self) - Legacy attribute to get extension (from left to right) as an integer (OBSOLETE).