AbstractMolecularSequence
in package
implements
Stringable
A molecular sequence is defined by its symbols only : two instances holding the same symbols are interchangeable, so the class carries no identity and exposes no setter. Every transformation returns a brand new instance.
Class AbstractMolecularSequence
Tags
Table of Contents
Interfaces
- Stringable
Constants
- ALPHABET : mixed = ""
- Symbols accepted by the value object, overridden by each concrete class.
- MOL_TYPE : mixed = ""
- Molecule type of the value object, overridden by each concrete class.
Properties
- $value : string
Methods
- __construct() : mixed
- AbstractMolecularSequence constructor.
- __toString() : string
- Allows the value object to be used wherever the library still expects a raw string.
- countSymbol() : int
- Counts how many times a symbol occurs in the sequence.
- equals() : bool
- Two value objects are equal when they are of the same kind and hold the same symbols.
- getAlphabet() : string
- The symbols accepted by this kind of sequence.
- getLength() : int
- Number of symbols held by the sequence.
- getMolType() : string
- The molecule type, as used by SequenceManager (DNA, RNA, PROTEIN).
- getValue() : string
- The wrapped sequence, normalized.
- isEmpty() : bool
- isValid() : bool
- Tells whether every symbol of a string belongs to the alphabet of the value object, without building an instance.
- reverse() : static
- Returns the sequence read from the last symbol to the first one.
- subSequence() : static
- Extracts a portion of the sequence, keeping the same kind of value object.
- assertAlphabet() : void
- Rejects the first symbol which does not belong to the alphabet.
Constants
ALPHABET
Symbols accepted by the value object, overridden by each concrete class.
protected
mixed
ALPHABET
= ""
MOL_TYPE
Molecule type of the value object, overridden by each concrete class.
protected
mixed
MOL_TYPE
= ""
Properties
$value
private
string
$value
Methods
__construct()
AbstractMolecularSequence constructor.
public
__construct(string $sSequence) : mixed
Whitespace is stripped and the remaining symbols are upper-cased before validation, so raw lines coming from a GenBank, EMBL or FASTA file can be wrapped as they are read.
Parameters
- $sSequence : string
-
The raw sequence string
Tags
__toString()
Allows the value object to be used wherever the library still expects a raw string.
public
__toString() : string
Return values
stringcountSymbol()
Counts how many times a symbol occurs in the sequence.
public
countSymbol(string $sSymbol) : int
Parameters
- $sSymbol : string
-
A single symbol, case insensitive
Return values
intequals()
Two value objects are equal when they are of the same kind and hold the same symbols.
public
equals(AbstractMolecularSequence $oOther) : bool
Parameters
- $oOther : AbstractMolecularSequence
Return values
boolgetAlphabet()
The symbols accepted by this kind of sequence.
public
getAlphabet() : string
Return values
stringgetLength()
Number of symbols held by the sequence.
public
getLength() : int
Return values
intgetMolType()
The molecule type, as used by SequenceManager (DNA, RNA, PROTEIN).
public
getMolType() : string
Return values
stringgetValue()
The wrapped sequence, normalized.
public
getValue() : string
Return values
stringisEmpty()
public
isEmpty() : bool
Return values
boolisValid()
Tells whether every symbol of a string belongs to the alphabet of the value object, without building an instance.
public
static isValid(string $sSequence) : bool
Parameters
- $sSequence : string
Return values
boolreverse()
Returns the sequence read from the last symbol to the first one.
public
reverse() : static
Tags
Return values
staticsubSequence()
Extracts a portion of the sequence, keeping the same kind of value object.
public
subSequence(int $iStart[, int|null $iLength = null ]) : static
Parameters
- $iStart : int
-
Zero-based position of the first symbol
- $iLength : int|null = null
-
Number of symbols, until the end when omitted
Tags
Return values
staticassertAlphabet()
Rejects the first symbol which does not belong to the alphabet.
private
assertAlphabet(string $sSequence) : void
Parameters
- $sSequence : string
-
The normalized sequence