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

Class OneOfPosition

source code

      object --+    
               |    
             int --+
                   |
      object --+   |
               |   |
AbstractPosition --+
                   |
                  OneOfPosition

Specify a position where the location can be multiple positions.

This models the GenBank 'one-of(1888,1901)' function, and tries
to make this fit within the Biopython Position models. If this was
a start position it should act like 1888, but as an end position 1901.

>>> p = OneOfPosition(1888, [ExactPosition(1888), ExactPosition(1901)])
>>> p
OneOfPosition(1888, choices=[ExactPosition(1888), ExactPosition(1901)])
>>> int(p)
1888

Interget comparisons and operators act like using int(p),

>>> p == 1888
True
>>> p <= 1888
True
>>> p > 1888
False
>>> p + 100
1988

>>> isinstance(p, OneOfPosition)
True
>>> isinstance(p, AbstractPosition)
True
>>> isinstance(p, int)
True

The old legacy properties of position and extension give the
starting/lowest/left-most position as an integer, and the
distance to the ending/highest/right-most position as an integer.
Note that the position object will act like one of the list of
possible locations depending on how it was created:

>>> p2 = OneOfPosition(1901, [ExactPosition(1888), ExactPosition(1901)])
>>> p.position == p2.position == 1888
True
>>> p.extension == p2.extension == 13
True
>>> int(p) == int(p2)
False
>>> p == 1888
True
>>> p2 == 1901
True

Instance Methods [hide private]
 
__repr__(self)
String representation of the OneOfPosition 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, choices)
Initialize with a set of posssible positions.
source code
Properties [hide private]
  position
Legacy attribute to get (left) position as integer (OBSOLETE).
  extension
Legacy attribute to get extension as integer (OBSOLETE).

Inherited from int: denominator, imag, numerator, real

Inherited from object: __class__

Method Details [hide private]

__new__(cls, position, choices)
Static Method

source code 
Initialize with a set of posssible positions.

position_list is a list of AbstractPosition derived objects,
specifying possible locations.

position is an integer specifying the default behaviour.

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

Overrides: object.__new__

__repr__(self)
(Representation operator)

source code 
String representation of the OneOfPosition 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 as integer (OBSOLETE).

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