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

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

Exceptions

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

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

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

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

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

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

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

Exceptions

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

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

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.

  • The following values are defined:
    • "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.

Remarks

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.