Class QualitativeAberration
The class QualitativeAberration describes a qualitative aberration. A qualitative aberration is characterized by the break point in the chromosome where it has happened and by its type of aberration. It can be converted into a human readable shape using the Simplified Computer readable Cytogenetic Notation (SCCN).Overview
QualitativeAberration |
New() |
New(QualitativeString: String, Optional MayContainUncertainties: Boolean = True, Optional Resolution: eResolutionLevel = eResolutionLevel.ResolutionNone) |
AberrationType: eAberrationType |
Band(): Band |
Quantity: Integer |
Questionable(): Boolean |
Resolution(): ChromosomeData.eResolutionLevel |
clone(): Object {Implements ICloneable.Clone} |
compareTo(obj: Object): Integer {Implements IComparable.CompareTo} |
equals(ByRef SecondQualitativeAberration: QualitativeAberration): Boolean |
expandToResolution(Resolution: eResolutionLevel): QualitativeAberration |
getGainsLossesStructs(Resolution: eResolutionLevel): GainsLossesStructs |
hasUncertainty(): Boolean |
toString(): String |
toString(format: String): String |
translateAberrationTypeToString(Type: eAberrationType, Optional format: String = "S"): String {static} |
translateStringToAberrationType(AberrationString: String): eAberrationType {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 QualitativeAberration object. All its internal properties are undefined.Public Sub New(ByRef QualitativeString As String, Optional ByVal MayContainUncertainties As Boolean = True, Optional ByVal Resolution As Band.eResolutionLevel = Band.eResolutionLevel.ResolutionNone)
Initializes a new QualitativeAberration object.Parameters
- QualitativeString: a textual description of the qualitative aberration using SCCN
- MayContainUncertainties: indicates whether uncertainties may be present in the description, true by default
- Resolution: level of banding resolution met by this description
Exceptions
- ArgumentException: If the textual description of the qualitative 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
Examples
- myQualAberr = New QualitativeAberration("t(9)(q34)") initializes a QuantitativeAberration object describing a translocation at band 9q34.
Interfaces
IComparable
is implemented with the compareTo function.ICloneable
is implemented with the clone function.Enumerations
The class provides an enumeration for the type of aberration.Enum eAberrationType
This enumeration describes the type of an aberration. Both the standard description and an extended description are available. Functions inside the CyDAS project are compatible with both versions.
Value | Text | Meaning |
eWholeChromosomeChange | whc | a whole chromosome has been gained or lost |
eAddition | add | addition |
eDeletion | del | any type of deletion |
eDeletionTerminal | delt | deletion of a terminal fragment |
eDeletionNonTerminal | deln | non-terminal deletion = deletion of an interstitial fragment |
eDerivation | der | formation of a derivative chromosome |
eDicentric | dic | formation of a dicentric chromosome |
eDuplication | dup | duplication of a fragment |
eFision | fis | fision of a chromosome at the centromer |
eHomogeneouslyStainingRegion | hsr | insertion of a homogeneously staining region |
eIdem | idem | "idem" notation |
eIsomerization | i | formation of an iso-chromosome |
eIsoDerivation | ider | formation of an iso-derivative chromosome |
eIsoDicentric | idic | formation of an iso-dicentric chromosome |
eInsertion | ins | any type of insertion |
eInsertionIntraChromosomal | insa | insertion between two chromosomes (donor<>acceptor) |
eInsertionInterChromosomal | insr | insertion in one chromosome (donor=acceptor) |
eInversion | inv | inversion |
eQuadruplication | qdp | quadruplication |
eRing | r | formation of a ring chromosome |
eTranslocation | t | any type of translocation |
eTranslocation2Chromosomes | tbc | translocation involving two chromosomes with two break points |
eTranslocation2Chromosomes4Breaks | tbcqb | translocation involving two chromosomes with four break points |
eTranslocation3Chromosomes | ttc | translocation involving three chromosomes with three break points |
eTranslocation3Chromosomes6Breaks | ttchb | translocation involving three chromosomes with six break points |
eTranslocation4Chromosomes | tqc | translocation involving four chromosomes |
eTranslocation5Chromosomes | tpc | translocation involving five chromosomes |
eTranslocation6Chromosomes | thc | translocation involving six chromosomes |
eTranslocation7Chromosomes | tsc | translocation involving seven chromosomes |
eTranslocation8Chromosomes | tnc | translocation involving eight chromosomes |
eTranslocation9Chromosomes | toc | translocation involving nine chromosomes |
eTranslocation10Chromosomes | tdc | translocation involving ten chromosomes |
eTelomericAssociation | tas | telomeric association |
eTricentric | trc | formation of a tricentric chromosome |
eTriplication | trp | triplication |
eUnknownAberration | ukn | any type of non identified aberration |
Properties
Public Property AberrationType As eAberrationType
Gets or sets a value indicating the type of this qualitative aberration.Property Value
- a value indicating the type of this qualitative aberration.
Remarks
- The aberration type is generally set at the initialization of a QualitativeAberration object. There is no need to change it later.
- The values are described in the eAberrationType enumeration.
Public Property Band() As Band
Gets or sets the band involved in this QualitativeAberration.Property Value
- the band involved in this QualitativeAberration.
Remarks
- The band is generally set at the initialization of a QualitativeAberration object; there is no need to change it later.
- When the band property is changed, the Resolution property is reset.
Public Property Quantity As Integer
Gets or sets a value indicating how often this abberation has occured.Property Value
- a value indicating how often this abberation has occured.
Remarks
- During the analysis of a single karyotype, an aberration is counted once only and quantity is not increased if the aberration is found again because it is assumed that it happened only once and then derivative chromosomes containing more aberrations were formed based on the original aberration.
- If more karyotypes are analysed, aberrations occured independently from each other, hence a quantity must be used. This is performed inside the classes of the library only, actually write access to this property outside the library is not necessary though granted.
Public Property Questionable() As Boolean
Gets or sets whether the QualitativeAberration is deemed questionable.Property Value
- a value indicating whether the QualitativeAberration is deemed questionable.
Remarks
- This value is generally set at the initialization of a QualitativeAberration object. There is no need to change it later.
Public Property Resolution() As ChromosomeData.eResolutionLevel
Gets or sets the banding resolution met by this QualitativeAberration.Property Value
- the banding resolution met by this QualitativeAberration.
Remarks
- If the resolution level is eResolutionLevelNone, the value is calculated by calling Band.getMaximumResolution().
- When setting the value, no actions are taken to ensure that the Band really meets the new resolution.
Methods
Public Function clone() As Object Implements ICloneable.Clone
Creates a deep copy of the QualitativeAberration object.Return Value
- A deep copy of the QualitativeAberration object.
Implements
Remarks
- The function calls Band.clone(), hence the clone contains a clone of the constituent Band object.
Public Function compareTo(ByVal obj As Object) As Integer Implements IComparable.CompareTo
Compares this instance to a specified QualitativeAberration object and returns an indication of their relative values.Return Value
- <-100: This QualitativeAberration resides on a chromosome with lower number.
- -100: Both QualitativeAberrations are on the same chromosome, but this one is closer to the p-terminus.
- -1>=x>=99: The QualitativeAberrations share the chromosomal break point, but have different types.
- 0: The QualitativeAberrations are equal.
- 1<=x<=99: The QualitativeAberrations share the chromosomal break point, but have different types.
- +100: Both QualitativeAberrations are on the same chromosome, but this one is closer to the q-terminus.
- >+100: This QualitativeAberration resides on a chromosome with higher number.
Parameters
- obj: the QualitativeAberration to be compared with this QualitativeAberration.
Exceptions
- ArgumentException: is thrown when obj cannot be cast into QualitativeAberration type.
Implements
Remarks
- QualitativeAberrations are ordered according to the place of their occurence on the chromosome. Hence, comparison is in the first step delegated to the band class. If two different aberrations took place at the same position, they are ordered according to the eAberrationType enumeration.
- Additional information from the return value indicates that two objects reside on different chromosomes (values greater than 100), on different locations of the same chromosome (100), or on the same point of a chromosome (values less than 100).
Public Overloads Function equals(ByRef SecondQualitativeAberration As QualitativeAberration) As Boolean
Determines whether this instance and SecondQualitativeAberration are equal.Return Value
- true, if both aberration occured at the same place and are of the same type.
- false, otherwise.
Parameters
- SecondQualitativeAberration: the qualitative aberration to compare with the current QualitativeAberration.
Remarks
- Two QualitativeAberration objects are deemed equal, if they conatin the same band, the same type of qualitative aberration, the same quantity, and the same questionability.
Public Function expandToResolution(ByRef Resolution As Band.eResolutionLevel) As QualitativeAberration
Returns a QualitativeAberration corresponding to this aberration at the given resolution.Return Value
- a QualitativeAberration corresponding to this aberration at the given resolution.
Parameters
- Resolution: the banding resolution to be met by the aberration
Remarks
- Uses the Band.expandToResolution function.
Public Function getGainsLossesStructs(ByVal Resolution As Band.eResolutionLevel) As GainsLossesStructs
Returns a GainsLossesStructs object listing the bands at the given resolution level with the number of gains, losses and structural (qualitative) aberrations having occured there ("cytoband list"). Because this object describes a qualitative aberration, gains and losses are zero.Return Value
- a GainsLossesStructs object listing the bands at the given resolution level with the number of gains, losses and structural (qualitative) aberrations having occured there.
Parameters
- Resolution: the banding resolution to be met by the list.
Remarks
- This return type is also used by the QuantitativeAberration object. For compatibilty, it contains both gains and losses as well as structural aberrations.
Public Function hasUncertainty() As Boolean
Returns if the QualitativeAberrartion has some uncertainty.Return Value
- a value indicating if the QualitativeAberrartion has some uncertainty.
Parameters
- None.
Remarks
- The QualitativeAberrartion has some uncertainty when its Band has some uncertainty (call to Band.hasUncertainty()) or when it is marked Questionable.
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). The type of aberration follows either the ISCN or the expanded notation.Return Value
- a textual description of the quantitative aberration using SCCN.
Parameters
- format: "S" causes the ISCN to be used for the aberration type, "E" the expanded notation.
Remarks
- If an unknown format is specified, the standard format will be used.
- For the "extended" version, see also Enum eAberrationType).
Public Shared Function translateAberrationTypeToString(ByVal Type As eAberrationType, Optional ByVal format As String = "S") As String
Returns a string describing the type of aberration given by the enumeration value. The standard format corresponds to the ISCN whereas the "expanded" format diffentiates farther.Return Value
- a string describing the type of aberration given by the enumeration value.
Parameters
- Type: the type of aberration given by the enumeration value.
- format: "S" (=standard) will return a value according to ISCN, whereas "E" (=expanded) will return a value which allows for more differentiation (see also Enum eAberrationType).
Remarks
- If the format is not specified or an unknown format is specified, the value returned will be in the standard ISCN format.
Public Shared Function translateStringToAberrationType(ByVal AberrationString As String) As eAberrationType
Returns an enumeration value corresponding to the string describing the type of aberration.Return Value
- an enumeration value corresponding to the string describing the type of aberration.
Parameters
- AberrationString: a textual description of the aberration type, either in ISCN or expanded format.
Interaction with other classes
Classes using QualitativeAberration
The QualitativeAberration class is integral part of its collection class QualitativeAberrations.It is transiently used by the Aberration class during the analysis of a single aberration. A more indeirect use is by the Karyotype class via the QualitativeAberrations class.
Classes used by QualitativeAberration
Every QualitativeAberration object contains exactly one Band object.The GainLossStruct and GainsLossesStructs classes are used in a function returning the latter type.