Class Aberrations
The class Aberrations describes a collection of Aberration objects. It provides methods for accessing its members and calculating sums of data from them.
Overview
Aberrations |
New() |
item(index: Integer): Aberration {default; read-only} |
add(ByRef NewAberration: Aberration, Optional CombineMultiplicators: Boolean = False) |
addRange(ByRef NewAberrations: Aberrations) |
clone(): Object {Implements ICloneable.Clone} |
contains(ByRef AberrationToCheck: Aberration, Optional CoreDescriptionOnly: Boolean = False): Boolean |
count(): Integer |
getBreakPoints() Bands |
getCKAS(Optional IgnoreConstitutionalAberrations: Boolean = True): CKAS |
GetEnumerator(): IEnumerator {Implements IEnumerable.GetEnumerator} |
getFusions(Optional IgnoreConstitutionalAberrations: Boolean = True): Fusions |
getQualitativeAberrations(Optional IgnoreConstitutionalAberrations: Boolean = True): QualitativeAberrations |
getQuantitativeAberrations(Optional IgnoreConstitutionalAberrations: Boolean = True): QuantitativeAberrations |
getQuantitativeAberrationsBalanced(Optional IgnoreConstitutionalAberrations: Boolean = True): QuantitativeAberrations |
remove(ByRef Item: Aberration) |
removeAt(index: Integer) |
sort() |
toString(): String |
toString(format: String): String |
Programming Language
- Microsoft Visual Basic .Net.
Availability
- Copyrighted but free software under the GNU Public License.
- Binaries and source code can be obtained from the Download section.
Constructors
Public Sub New()
Instantiates a new Aberrations object. Its internal collection of Aberration objects is empty.Interfaces
ICloneable
is implemented with the clone function.IEnumberable
is implemented with the GetEnumerator function.Enumerations
The class does not provide enumerations.Properties
Default Public ReadOnly Property item(ByVal index As Integer) As Aberration
Gets the Aberration object at the specified index.Parameters
- index: The zero-based index of the element to get.
Property Value
- The Aberration object at the specified index.
Exceptions
- ArgumentOutOfRangeException: index is less than zero or index is equal to or greater than count.
Remarks
- This property provides the ability to access a specific Aberration object in the Aberrations object by using the following syntax: myAberrations(index).
- The property is read only. For adding aberration, use the add or addRange functions which do some further calculation. For removing an aberration, use the remove or removeAt functions, but keep in mind that the aberration may have been changed while being added.
Methods
Public Sub add(ByRef NewAberration As Aberration, Optional ByVal CombineMultiplicators As Boolean = False)
Adds an Aberration to the collection. With the CombineMultiplicators flag, the behaviour regarding the multiplicators of the aberration can be influenced.Parameters
- NewAberration: the Aberration object to be added to the collection.
- CombineMultiplicators: is relevant only, if another aberration of this type is already present in the collection. If CombineMultiplicators is false (default), the minimum and maximum values are added. If true, the multiplicators are combined to a maximum range, i.e. the lowest minimum multiplicator and the greatest maximum multiplicator.
- If another aberration of this type is already present in the collection, a clone of teh original aberration is made to prevent the changes imposed into it from disturbing the original data.
Exceptions
- ArgumentNullException: NewAberration must not be a null reference.
Remarks
- Aberrations of type "idem" are ignored.
Public Sub addRange(ByRef NewAberrations As Aberrations)
Adds all Aberration objects of NewAberrations to the internal collection.Parameters
- NewAberrations: the collection whose Aberration objects are to be added to the collection.
Exceptions
- ArgumentNullException: NewAberrations must not be a null reference.
Remarks
- Calls the add function with each element of the collection. Mulitplicators are added, not combined (i.e. CombineMultiplicators is false).
Public Function clone() As Object Implements ICloneable.Clone
Creates a deep copy of the Aberrations object; i.e. while cloning, each Aberration object contained in the collection is cloned.Return Value
- A deep copy of the Aberrations object.
Implements
Remarks
- A deep copy copies not only the elements of the internal collection, but it does also copy the objects that the references refer to.
Public Function contains(ByRef AberrationToCheck As Aberration, Optional ByVal CoreDescriptionOnly As Boolean = False) As Boolean
Determines whether AberrationToCheck is in the internal collection of the Aberrations object.Parameters
- AberrationToCheck: The Aberration object to locate in the Aberrations object. It must not be a null reference.
- CoreDescriptionOnly: if true, equality is determined with the AberrationDescription property of the aberration objects only. Otherwise, the full aberration is compared (default).
Return Value
- true if AberrationToCheck is found in the Aberrations object; otherwise, false.
Exceptions
- ArgumentNullException: AberrationToCheck must not be a null reference.
Remarks
- This method performs a linear search; therefore, the average execution
time is proportional to count. That is, this method
is an O(n) operation, where n is count.
Public Function count() As Integer
Gets the number of Aberration objects actually contained in the Aberrations object.Public Function getBreakPoints() As Bands
Returns a Bands object containing all chromosomal break points inferred by the aberrations.Return Value
- a Bands object containing all chromosomal break points inferred by the aberrations.
Remarks
- The Bands object may be "empty", e.g. when the aberrations describe gains or losses of a non-aberrant chromosomes only.
- Calls getBreakPoints on each Aberration object.
Public Function getCKAS(IgnoreConstitutionalAberrations As Boolean) as CKAS
Returns a CKAS object describing the complex karyotype aberration score inferred by the aberrations.Return Value
- a CKAS object describing the complex karyotype aberration score inferred by the aberrations.
Parameters
- IgnoreConstitutionalAberrations: indicates if aberrations which are marked as constitutional are ignored for CKAS calculation.
Remarks
- By default, constitutional aberrations are ignored.
Public Function GetEnumerator() As IEnumerator Implements IEnumerable.GetEnumerator
Returns an enumerator that can iterate through the collection of Aberration objects of this Aberrations object.Implements
Remarks
- The underlying collection is not sorted.
Public Function getFusions(IgnoreConstitutionalAberrations As Boolean) as Fusions
Returns the fusions (also known as "junctions") associated with these aberrations.Property Value
- a Fusions object containing the fusions associated with these aberration.
- An empty fusions object, if no fusions are inferred.
Parameters
- IgnoreConstitutionalAberrations: indicates if aberrations which are marked as constitutional are ignored for the calculation of Fusions.
Remarks
- Fusions are also known as "junctions".
- By default, constitutional aberrations are ignored.
- This functionality is still in development.
Public Function getQualitativeAberrations(IgnoreConstitutionalAberrations As Boolean) As QualitativeAberrations
Returns a QualitativeAberrations object containing the qualitative (= structural) aberrations inferred by the aberrations.Return Value
- a QualitativeAberrations object containing the qualitative aberrations inferred by the aberrations.
Parameters
- IgnoreConstitutionalAberrations: indicates if aberrations which are marked as constitutional are ignored for the calculation of Qualitative Aberrations.
Remarks
- If the aberration does not mean a qualitative change, the object returned may be empty.
- Calls getQualitativeAberrations on each aberration of the collection.
Public Function getQuantitativeAberrations(IgnoreConstitutionalAberrations As Boolean) As QuantitativeAberrations
Returns a QuantitativeAberrations object containing the quantitative (= numeric) aberrations inferred by the aberrations.Return Value
- a QuantitativeAberrations object containing the quantitative aberrations inferred by the aberrations.
Parameters
- IgnoreConstitutionalAberrations: indicates if aberrations which are marked as constitutional are ignored for the calculation of Quantitative Aberrations.
Remarks
- If each of the aberrations is balanced, there is no numeric change and hence the returned object may be emtpy.
- Calls getQuantitativeAberrations on each aberration of the collection.
Public Function getQuantitativeAberrationsBalanced(IgnoreConstitutionalAberrations As Boolean) As QuantitativeAberrations
Returns a QuantitativeAberrations object containing the quantitative (= numeric) aberrations inferred by the aberrations. The gains and losses of the fragments have been balanced against each other.Return Value
- a QuantitativeAberrations object containing the balance of quantitative aberrations inferred by the aberrations.
Parameters
- IgnoreConstitutionalAberrations: indicates if aberrations which are marked as constitutional are ignored for the calculation of Quantitative Aberrations.
Remarks
- If the aberrations are balanced in total, there is no numeric change and hence the returned object may be emtpy.
- Calls QuantitativeAberrations.balance on the QuantitativeAberrations calculated above.
Public Sub remove(ByRef Item As Aberration)
Removes the specified element from the collection.Parameters
- Item: the Aberration object to be removed from the collection.
Exceptions
- ArgumentNullException: Item must not be a null reference.
Remarks
- If the element to be removed is not conatined in the collection, no action is done.
Public Sub removeAt(ByVal index As Integer)
Removes the element with the specified index from the collection.Parameters
- index: The zero-based index of the element to remove.
Exceptions
- ArgumentOutOfRangeException: The index must be at least zero and less than count.
Remarks
- The elements that follow the removed element move up to occupy the vacated spot; their indexes are also updated.
Public Sub sort()
Sorts the Aberration objects in the collection.Remarks
- Uses the compareTo method of the Aberration class.
- Aberrations are sorted by their first chromosomal break point, then by their type of (structural) aberration.
Public Shadows Function toString() As String
Returns a textual description of the aberrations using the ISCN.Remarks
- Passes through to toString("S").
Public Shadows Function toString(format As String) As String
Returns a textual description of the aberrations using the ISCN.Return Value
- a textual description of the aberrations.
Parameters
- format: the type of formating to be used.
- "S": standard (lenient) description. Makes use of the original description.
- "E": exact description. All items are recalculated with strict adherence to the ISCN manual.
- "M": data mining option. A short description containing the original aberration descriptions after removal of uncertainties and an indication of gain/loss.
The following values are defined:
Remarks
- The aberrations are sorted first.
- They are separated by commata.
- Calls toString(format as String) on each Aberration object.
Interaction with other classes
Classes using Aberrations
An Aberrations object is a constituent of the Karyotype object. Further Aberrations objects are used temporarily in many functions of the Karyotype class.
Also an Aberration object contains an Aberrations object, if the aberration describes a derivative chromosome; then, the aberrations leading to that derivative chromosome are stored in that Aberrations object.
Classes used by Aberrations
The Aberrations class uses some classes of the CyDAS framework temporarily, especially for output purposes: Bands, QualitativeAberrations, QuantitativeAberrations and, of course, Aberration.