Class Karyotypes
The class Karyotypes describes the karyotypes of different clones of a tumour. It provides functions for accessing the individual karyotypes and calculating a composite karyotype.A karyotypes object can also be viewed as a "case".
Overview
Karyotypes |
New() |
New(KaryotypeList: String) |
Aberrations(): Aberrations {read-only} |
CaseID(): String |
CaseDescription(): String |
CompositeKaryotype: Karyotype {read-only} |
item(index. Integer): Karyotype {default; read-only} |
QualitativeAberrations(): QualitativeAberrations {read-only} |
QuantitativeAberrations(): QuantitativeAberrations {read-only} |
add(ByRef NewKaryotype: Karyotype): void |
analyseAll(): void |
count(): Integer |
expand(ByRef KaryotypeToBeExpanded: Karyotype, ByRef HelperKaryotype: Karyotype): Boolean {shared} |
GetEnumerator(): IEnumerator {Implements IEnumerable.GetEnumerator} |
setKaryotypeList(KaryotypeList: String) |
toString(): 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 Karyotypes object.Remarks
- Apart from its use with VBA (MS Access), this constructor can be used for generating an empty collection which can then be filled using the add function or the setKaryotypeList function.
Examples
- When using VBA (MS Access), the descriptions of the individual karyotypes have to be added into a string with a "/" as a separator:
Dim myKaryotype1 As String
Dim myKaryotype2 As String
Dim myKaryotypes As Karyotypes
myKaryotype1 = "46,XX,t(9;22)(q34;q11)"
myKaryotype2 = "47,XX,t(9;22)(q34;q11),+der(22)t(9;22)"
myKaryotpes = New Karyotypes
myKaryotypes.setKaryotypeList(myKaryotype1 & "/" & myKaryotype2)
Public Sub New(ByVal KaryotypeList As String)
Instantiates a new Karyotypes object. Its internal collection is filled with the karyotypes described in the list.Parameters
- KaryotypeList: a slash ("/") separated list of karyotypes written in ISCN.
Exceptions
- ArgumentNullException: The KaryotypeList must not be empty.
Remarks
- Delegates to the setKaryotypeList function.
Examples
- Dim myKaryotypes As Karyotypes
myKaryotpes = New Karyotypes("46,XX,t(9;22)(q34;q11)/47,XX,t(9;22)(q34;q11),+der(22)t(9;22)")
Interfaces
IEnumerable
is implemented with the GetEnumerator function.Enumerations
The class does not provide enumerations.Properties
Public ReadOnly Property Aberrations() As Aberrations
Gets the aberrations associated with these karyotypes.Property Value
- the aberrations associated with these karyotypes.
Remarks
- The aberrations are calculated only once; when they are requested again, the previous value is returned.
- If the CompositeKaryotype is valid, the aberrations are retrieved from it. Else, aberrations are retrieved from all valid karyotypes of the collection. If no karyotype is valid, an empty Aberrations object will be returned.
Public Property CaseID() As String
Gets or sets the identifier for the case.Property Value
- the identifier for the case.
Remarks
- A case identifier is required for data mining purposes only.
Public Property CaseDescription() As String
Gets or sets the description for the case.Property Value
- the description for the case.
Remarks
- This property is fully optional.
Public ReadOnly Property CompositeKaryotype() As Karyotype
Gets a composite karyotype calculated from the karyotypes of the collection.Property Value
- a composite karyotype calculated from the karyotypes of the collection.
Exceptions
- InvalidOperationException: may be thrown by the Karyotype.combine method used here for the calculation of the composite karyotype.
Remarks
- Delegates to the Karyotype.combine method.
Default Public ReadOnly Property item(ByVal index As Integer) As Karyotype
Gets the Karyotype object (case) at the specified index.Parameters
- index: The zero-based index of the element to get.
Property Value
- The Karyotype 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 Karyotype object in the Karyotypes object by using the following syntax: myKaryotypes(index).
Public ReadOnly Property QualitativeAberrations() As QualitativeAberrations
Gets the QualitativeAberrations associated with these karyotypes.Property Value
- the QualitativeAberrations associated with these karyotypes.
Remarks
- The QualitativeAberrations are calculated only once; when they are requested again, the previous value is returned.
- If the CompositeKaryotype is valid, the QualitativeAberrations are retrieved from it. Else, aberrations are retrieved from all valid karyotypes of the collection. If no karyotype is valid, an empty QualitativeAberrations object will be returned.
Public ReadOnly Property QuantitativeAberrations() As QuantitativeAberrations
Gets the QuantitativeAberrations associated with these karyotypes.Property Value
- the QuantitativeAberrations associated with these karyotypes.
Remarks
- The QuantitativeAberrations are calculated only once; when they are requested again, the previous value is returned.
- If the CompositeKaryotype is valid, the QualitativeAberrations are retrieved from it. Else, aberrations are retrieved from all valid karyotypes of the collection. If no karyotype is valid, an empty QuantitativeAberrations object will be returned.
Methods
Public Sub add(ByRef NewKaryotype As Karyotype)
Adds NewKaryotype to the collection of karyotypes.Return Value
- None
Parameters
- NewKaryotype: a reference to the karyotype to be added to the collection.
Exceptions
- ArgumentNullException: NewKaryotype must not be a null reference.
Remarks
- A reference is added, not a clone.
-
Changing the karyotype externally will also change this karyotype in the
collection;
inside the collection, the karyotype may be changed for analysis or break points addition. - Calculated values of the collection (Aberrations, CompositeKaryotype etc). are reset to null references.
Public Sub analyseAll()
Analyses all karyotypes of the collection.Return Value
- None
Parameters
- None
Remarks
- The analysis is only performed once, except when changes were introduced into the collection meanwhile.
- The individual karyotypes are analysed by a call to Karyotype.isValidKaryotype().
- If break points are missing for aberrations, they are searched for from other karyotypes of the same investigation.
- The "idem" term is replaced by the appropriate aberrations from the first karyotype in the series.
Public Function count() As Integer
Gets the number of Karyotype objects actually contained in the Karyotypes object.Public Function GetEnumerator() As IEnumerator Implements IEnumerable.GetEnumerator
Returns an enumerator that can iterate through the collection of band objects of this Bands object.Implements
Public Sub setKaryotypeList(ByVal KaryotypeList As String)
Fills the internal collection of karyotypes with the karyotypes from the list.Parameters
- KaryotypeList: a slash ("/") separated list of karyotypes written in ISCN.
Exceptions
- ArgumentNullException: The KaryotypeList must not be empty.
- InvalidOperationException: The internal collection of the Karyotypes object is not empty.
Remarks
- This function is available for use with VBA (MS Access).
- It can be used in connection with the parameter-less constructor only.
- It must not be called a second time.