Class QuantitativeAberration

The class QuantitativeAberration describes a quantitative aberration. A quantitative aberration is characterized by the fragment of the chromosome which has been lost or gained. A multiplicator shows how often that gain or loss has happened. It can be converted into a human readable shape using the Simplified Computer readable Cytogenetic Notation (SCCN).

Overview

QuantitativeAberration
New()
New(QuantitativeString: String, Optional Format: String = "S", Optional Resolution: eResolutionLevel = eResolutionLevel.ResolutionNone)
AberrationType(): QuantitativeAberrationType
EndBand(): Band
Fragment(): Fragment
MultiplicatorMax(): Integer
MultiplicatorMin(): Integer
Resolution(): ChromosomeData.eResolutionLevel
StartBand(): Band
clone(): Object {Implements ICloneable.Clone}
compareTo(obj: Object): Integer {Implements IComparable.CompareTo}
equals(ByRef SecondQuantitativeAberration: QuantitativeAberration, Optional IgnoreMultiplicators: Boolean = True, Optional IgnoreQuestionMarks. Boolean = False) As Boolean
expandToResolution(Resolution: eResolutionLevel): QuantitativeAberration
extendsOver(ByRef CompareBand: Band): Boolean
getGainsLossesStructs(Resolution: eResolutionLevel): GainsLossesStructs
hasUncertainty(): Boolean
isGain(): Boolean
isLoss(): Boolean
toString(): String
toString(format: String): String
translateAberrationTypeToString(AberrationType: QuantitativeAberration.QuantitativeAberrationType): String {static}
translateStringToAberrationType(AberrationString: String): QuantitativeAberration.QuantitativeAberrationType {static}

Programming Language

  • Microsoft Visual Basic .Net.

Availability

Constructors

Public Sub New()

Initializes a new QuantitativeAberration object. Its properties are set to null references or 0, resp. They can be set by accessing these properties directly.

Actually, this constructor is meant for COM compatibility only.

Public Sub New(ByVal QuantitativeString As String, Optional ByVal Format As String = "", Optional ByVal Resolution As Band.eResolutionLevel = Band.eResolutionLevel.ResolutionNone)

Initializes a new QuantitativeAberration object.

Parameters

  • QuantitativeString: a textual description of the quantitative aberration using SCCN.
  • Format: "O" indicates that the textual description is in original style SCCN, any other value indicates new style (default: new style).
  • Resolution: level of banding resolution met by this description (default: unknown resolution).

Exceptions

  • ArgumentException: If the textual description of the quantitative aberration does not meet the patterns (regular expressions) used to recognize its constituents, an ArgumentException containing a description of the problem is thrown.

Remarks

  • The input string corresponds to the string returned by the "toString" method.
  • The resolution level is only used when expanding to a specified resolution level.

Examples

  • myQuanAberr = New QuantitativeAberration("(22)+(q112q13)x1~2") initializes a QuantitativeAberration object describing a gain of fragment "22q112->22q13" which occured one or two times

Interfaces

IComparable

is implemented with the compareTo function.

ICloneable

is implemented with the clone function.

Enumerations

The class provides the QuantitativeAberrationType enumeration.

Enum QuantitativeAberrationType

This enumeration describes the type of a QuantitativeAberration.

Value Meaning
Loss = -1 the fragment has been lost.
None = 0 the type is unknown.
Gain = 1 the fragment has been gained.

Properties

Public Property AberrationType() As QuantitativeAberrationType

Gets or sets the type of this QuantitativeAberration.

Property Value

  • the type (gain, loss, unknown) of this QuantitativeAberration.

Parameters

  • None.

Remarks

Public Property EndBand() As Band

Gets or sets the band the fragment involved in the quantitave aberration ends with.

Property Value

  • the band the fragment involved in the quantitave aberration ends with.

Parameters

  • None.

Exceptions

Remarks

  • Make sure that StartBand has been set directly or indirectly before setting the EndBand. If both StartBand and EndBand are to be changed, use the Fragment property instead.

Public Property Fragment() As Fragment

Gets or sets the fragment involved in the quantitave aberration.

Property Value

  • the fragment involved in the quantitave aberration.

Parameters

  • None.

Remarks

  • If the Fragment property is changed, StartBand and EndBand are calculated from it.

Public Property MultiplicatorMin() As Integer

Gets or sets the (minimum) multiplicator for the quantitative aberration.

Property Value

  • the (minimum) multiplicator for the quantitative aberration.

Parameters

  • None.

Remarks

  • The minimum multiplicator indicates how often a fragment was found to be lost or gained. If not specifically set, it is 1 by default.
  • When changed later, no actions are taken to enforce that the minimum multiplicator is not more than the maximum multiplicator.

Public Property MultiplicatorMax() As Integer

Gets or sets the maximum multiplicator for the quantitative aberration.

Property Value

  • the maximum multiplicator for the quantitative aberration.

Parameters

  • None.

Remarks

  • The maximum multiplicator indicates the maximum value how often a fragment was found to be lost or gained. If not specifically set, it is 1 by default.
  • When changed later, no actions are taken to enforce that the maximum multiplicator is at least as much as the minimum multiplicator.

Public Property Resolution() As ChromosomeData.eResolutionLevel

Gets or sets the banding resolution level the description of the fragment involved in this quantitave aberration meets.

Property Value

Parameters

  • None.

Remarks

Public Property StartBand() As Band

Gets or sets the band the fragment involved in the quantitave aberration starts with.

Property Value

  • the band the fragment involved in the quantitave aberration starts with.

Parameters

  • None.

Exceptions

  • Exception, if StartBand is set to a band residing on a chromosome different than the chromosome of EndBand.

Remarks

  • If both StartBand and EndBand are to be changed, use the Fragment property instead.

Methods

Public Function clone() As Object Implements ICloneable.Clone

Creates a deep copy of the QuantitativeAberration object.

Return Value

  • A deep copy of the QuantitativeAberration object.

Implements

Remarks

Public Function compareTo(ByVal obj As Object) As Integer Implements IComparable.CompareTo

Compares this instance to a specified QuantitativeAberration object and returns an indication of their relative values.

Return Value

  • <-1: This QuantitativeAberration resides on a chromosome with lower number, or if both QuantitativeAberrations are on the same chromosome, this one is closer to the p-terminus.
  • -1: The QuantitativeAberrations share the same chromosomal break points, but have different types.
  • 0: The QuantitativeAberrations are equal.
  • +1: The QuantitativeAberrations share the same chromosomal break points, but have different types.
  • >+1: This QuantitativeAberration resides on a chromosome with higher number, or if both QuantitativeAberrations are on the same chromosome, this one is closer to the q-terminus.

Parameters

  • obj: the QuantitativeAberration to be compared with this QuantitativeAberration.

Exceptions

  • ArgumentException: is thrown when obj cannot be cast into QuantitativeAberration type.

Implements

Remarks

  • QuantitativeAberrations are ordered according to the place of their occurence on the chromosome. Hence, comparison is in the first step delegated to the Fragment class (call to Fragment.compareTo()). If two different aberrations took place at the same position, they are ordered according to the QuantitativeAberrationType enumeration.

Public Overloads Function equals(ByRef SecondQuantitativeAberration As QuantitativeAberration, Optional ByRef IgnoreMultiplicators As Boolean = True, Optional ByVal IgnoreQuestionMarks As Boolean = False) As Boolean

Determines whether this instance and SecondQuantitativeAberration are equal.

Return Value

  • true, if the type of aberration, the involved fragment, and optionally multiplicators and question marks are the same in both objects.
  • false, otherwise.

Parameters

  • SecondQuantitativeAberration: a reference to the quantitative aberration to compare with the current QuantitativeAberration.
  • IgnoreMultiplicators: the objects may be deemed equal if they differ only in their multiplicators (true by default)
  • IgnoreQuestionMarks: the objects may be deemed equal if they differ only in their question marks (false by default)

Public Function expandToResolution(ByRef Resolution As Band.eResolutionLevel) As QuantitativeAberration

Returns a QuantitativeAberration corresponding to this aberration at the specified resolution.

Return Value

  • a QuantitativeAberration corresponding to this aberration at the specified resolution.

Parameters

Remarks

Public Function extendsOver(ByRef CompareBand As Band) As Boolean

Determines whether CompareBand resides on the fragment gained or lost with this aberration.

Return Value

  • true, if CompareBand resides on the fragment of this aberration.
  • false, otherwise

Parameters

  • CompareBand: a reference to the band whose position relative to the fragment of this aberration is to be determined.

Remarks

Public Function getGainsLossesStructs(ByVal Resolution As Band.eResolutionLevel) As GainsLossesStructs

Returns a list of bands at the given resolution level with the number of gains, losses and structural (qualitative) aberrations having occured there (also called "cytoband list"). Because this object describes a quantitative aberration, structural aberrations are zero.

Return Value

  • a GainsLossesStructs object listing bands at the given resolution level with the number of gains, losses and structural aberrations having occured there.

Parameters

Remarks

  • This return type is also used by the QualitativeAberration object. For compatibilty, it contains both gains and losses as well as structural aberrations.

Public Function hasUncertainty() As Boolean

Indicates whether this QuantitativeAberration object has some uncertainty.

Return Value

  • true, if a band of the fragment involved has an uncertainty.
  • false, otherwise.

Remarks

Public Function isGain() As Boolean

Indicates whether this QuantitativeAberration object describes a gain of a fragment.

Return Value

  • true, if this instance describes a gain of a fragment.
  • false, otherwise.

Public Function isLoss() As Boolean

Indicates whether this QuantitativeAberration object describes a loss of a fragment.

Return Value

  • true, if this instance describes a loss of a fragment.
  • false, otherwise.

Public Shadows Function toString() As String

Returns a textual description of the quantitative aberration using the Simplified Computer readable Cytogenetic Notation (SCCN).

Return Value

  • a textual description of the quantitative aberration using SCCN.

Remarks

Public Shadows Function toString(ByVal format As String) As String

Returns a textual description of the quantitative aberration using the Simplified Computer readable Cytogenetic Notation (SCCN).

Return Value

  • a textual description of the quantitative aberration using SCCN.

Parameters

  • format: "S" causes the new style (standard) SCCN to be used for the aberration type, "O" the old style notation; "M" is a short format for data mining purposes.

Remarks

  • If an unknown format is specified, the standard format will be used.

Public Shared Function translateAberrationTypeToString(ByVal AberrationType As QuantitativeAberration.QuantitativeAberrationType) As String

Returns a textual description for the specified QuantitativeAberrationType.

Return Value

  • a textual description for the specified QuantitativeAberration type.

Parameters

Remarks

Public Shared Function translateStringToAberrationType(ByVal AberrationString As String) As QuantitativeAberration.QuantitativeAberrationType

Returns a QuantitativeAberrationType for the specified textual description.

Return Value

  • a QuantitativeAberration type for the specified textual description.

Parameters

  • AberrationString: the textual description to be translated.

Remarks

Interaction with other classes

Classes using QuantitativeAberration

The QuantitativeAberration class is integral part of its collection class QuantitativeAberrations.

It is transiently used by the Aberration class during the analysis of a single aberration. The Chromosome class uses it when determining gains and losses for a derivative chromosome. A more indirect use is by the Karyotype class via the QuantitativeAberrations class.

Classes used by QuantitativeAberration

Every QuantitativeAberration object contains exactly two Band objects and one Fragment object composed of those two bands.

The GainLossStruct and GainsLossesStructs classes are used in a function returning the latter type.