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
- Copyrighted but free software under the GNU Public License.
- Binaries and source code can be obtained from the Download section.
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
- The Types are defined in the QuantitativeAberrationType enumeration.
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
- Exception, if the EndBand is set before the StartBand has been set, or if EndBand resides on a different chromosome than StartBand.
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
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
- the banding resolution level of the fragment involved in this quantitave aberration.
Parameters
- None.
Remarks
- By default, the resolution is set to ResolutionLevelNone.
- The resolution is used when calculating the fragment for a specified resolution level.
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
- The function calls Fragment.clone() which in turn calls Band.clone(), thus the clone contains a clone of the constituent Fragment and Band objects.
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
- Resolution: the banding resolution to be met by the aberration
Remarks
- Uses the Band.expandToResolution() function.
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
- Delegates to Fragment.extendsOverBand().
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
- Resolution: the banding resolution to be met by the list.
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
Remarks
- Calls Band.hasUncertainty() on each band.
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
- delegates to 'toString("S")'.
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
- AberrationType: the QuantitativeAberrationType to be translated.
Remarks
- The inverse function is translateStringToAberrationType().
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
- The inverse function is translateAberrationTypeToString().
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.