CyDAS Home funded by Sponsor: DFG
ISCNAnalyser Documentation Class Aberrations Class Bands Documentation Section HowTo Section Online Analysis Section Download Section Resources Section About Section

Class Band

The class Band describes a point ("band") on a chromosome. It provides methods for ordering bands on chromosomes relative to each other and information used when drawing chromosomes.

Overview

Band
New()
New(Band: String, Optional MayContainUncertainties: Boolean = true)
atResolutionOf(Resolution: eResolutionLevel): String
checkExistence(): void
clone(): Object {Implements ICloneable.Clone}
CompareTo(obj: Object): Integer {Implements IComparable.CompareTo} 
compareTo(SecondBand: Band, MayContainUncertainties: Boolean): Integer 
equals(CompareBand: Band, Optional Strict: Boolean = False): Boolean
expandedBandsAtResolution(Resolution: eResolutionLevel): Bands
expandToResolution(Resolution: eResolutionLevel, MinimumBand: Band, MaximumBand: Band): Boolean
getArm: String
getArmWithoutUncertainty: String
getBand: String
getBandNumber: String
getBandOnly: String
getBandWithoutUncertainty: String
getBrokenLevel: Integer
getChromosome: String
getChromosomeWithoutUncertainty: String
getMaximumResolution: eResolutionLevel
getPaintColor: System.Drawing.Color
getPaintHeight: Integer
getPaintStyle: ePaintStyle
getPaintWidth: ePaintWidth
getRegionEnd: String
getRegionStart: String
hasUncertainty(): Boolean 
isCloserToPTerThan(CompareBand: Band): Boolean
increaseBrokenLevel: void
isCloserToPTerThan(CompareBand: Band, MayContainUncertainties: Boolean): Boolean
isMoreDistalThan(CompareBand: Band): Boolean
isOnOppositeArm(CompareBand: Band): Boolean
isRegion(): Boolean
isTerminus(): Boolean
toString(): String
toString(format: String): String

Programming Language

Availability

Constructors

Public Sub New()

This parameter-less constructor is needed for cloning purposes and must be public because of COM compatibility. It is not intended for normal use. DO NOT USE IT.

Public Sub New(ByRef Band As String, Optional ByVal MayContainUncertainties As Boolean = True)

Instantiates a new band object. "Band" contains the textual description of the band. If you are sure that the description is free of uncertainties (question marks, interval sign), you can set MayContainUncertainties to true in order to enhance performance.

Parameters

Exceptions

Remarks

Examples:

Interfaces

IComparable

is implemented with the compareTo function.

ICloneable

is implemented with the clone function.

Enumerations

The class does not provide enumerations.

Properties

Since the band object expects not to be changed essentially after its initialisation, all its properties are read-only. They were made availbale through their respective getPropertyName functions only (see below).

Methods

Public Function atResolutionOf(ByRef Resolution As eResolutionLevel) As String

Returns a string describing the band at the given ResolutionLevel. If the band description meets a lower resolution level only, an error is raised.

Return Value

Parameters

Exceptions

Remarks

Examples

Public Sub checkExistence()

Checks if the band was defined in the resources file. If it was not found, an exception is thrown.

Return Value

Exceptions

Remarks

Public Function clone() As Object Implements ICloneable.Clone

Returns a copy of the Band object.

Return Value

Implements

Remarks

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

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

Return Value

Parameters

Exceptions

Implements

Remarks

Public Overloads Function compareTo(ByRef SecondBand As Band, ByVal MayContainUncertainties As Boolean) As Integer

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

Return Value

Parameters

Remarks

Public Overloads Function equals(ByRef CompareBand As Band, Optional ByVal Strict As Boolean = False) As Boolean

Two bands are regarded equal when they share the chromosome, the arm and all digits denoting band number.

If Strict is true, the bands must also share their uncertainties; otherwise, uncertainties are ignored.

Return Value

Parameters

Examples

Public Function expandedBandsAtResolution(ByRef Resolution As eResolutionLevel) As Bands

Returns a list of bands which correspond to the band description at the given resolution. This is not only true for given intervals, but also other bands may split into several sub bands at higher resolutions.

Return Value

Parameters

Remarks

Examples

Public Function expandToResolution(ByRef Resolution As eResolutionLevel, ByRef MinimumBand As Band, ByRef MaximumBand As Band) As Boolean

Returns the band closest to p-terminus ("MinimumBand") and the band closest to q-terminus ("MaximumBand") the given band corresponds to at the given resolution. The return value of the function is true, if MinimumBand and MaximumBand are equal, else false.

Return Value

Parameters

Remarks

Examples

getArm As String

The designation of the chromosome arm ("p" or "q", question marks may be present) the band resides on.

Property Value

Remarks

Example

getArmWithoutUncertainty As String

The designation of the chromosome arm ("p" or "q") the band resides on, question marks are removed.

Property Value

Remarks

Example

getBand As String

The full description of the band including chromosome, arm, and band number (if present). May show question marks and interval signs.

Property Value

Remarks

Example

getBandNumber As String

The number of the band (may contain uncertainties).
 

Property Value

Remarks

Example

getBandOnly As String

The designation of arm and band (may contain uncertainties).
 

Property Value

Remarks

Example

getBandWithoutUncertainty As String

The full description of the band including chromosome, arm, and band number (if present). Uncertainties were removed.

Property Value

Remarks

Example

getBrokenLevel As Integer

The broken level describes how often chromosomal breaks occured at this band. It is used for calculating the reduced height of the band for ideograms of derivative chromosomes; there, the factor is 2-Brokenlevel.

Property Value

Example

getChromosome As String

Returns the number of the chromosome (may contain uncertainties).

Property Value

Remarks

Example

getChromosomeWithoutUncertainty As String

Returns the number of the chromosome without uncertainties.

Property Value

Remarks

Example

getMaximumResolution As eResolutionLevel

Returns the maximum value of the ResolutionLevel which the band description fulfills.

Property Value

Remarks

Example

getPaintColor As System.Drawing.Color

Returns the color to be used for drawing the chromosome. It is originally defined in the resource file for the chromosomes.

Property Value

Remarks

Example

getPaintHeight As Integer

Returns the height the band is drawn with. For human chromosomes, values were taken from the drawing in "ISCN 1995" by Mitelman et al., with 1 cm corresponding to 100 pixels, and stored in ChromosomeData.xml. The BrokenLevel is accounted for.

Property Value

Remarks

Example

getPaintStyle As ePaintStyle

Returns the style for filling the bands area in the drawing.

Property Value

Remarks

Example

getPaintWidth As ePaintWidth

Return the description of the width ("normal" or "satellite") the band is drawn with.

Property Value

Remarks

Example

getRegionEnd As String

If the band description contains an interval, RegionEnd contains the arm and digits only of the end band of the interval.

Property Value

Example

getRegionStart As String

If the band description contains an interval, RegionStart contains the arm and digits only of the start band of the interval.

Property Value

Example

Public Function hasUncertainty() As Boolean

Returns true when an uncertainty (question mark, interval sign) was discovered during analysis of the band descirption.

Return Value

Example

Public sub increaseBrokenLevel()

Increases the BrokenLevel by 1 thus indicating another break in this band.

Public Function isCentromer() As Boolean

If the band description describes a centromer (i.e. "p10", "q10", or "cen"), returns true.

Return Value

Remarks

Example

  • With band 13q22, isCentromer returns "false".
  • With band 13p10, isCentromer returns "true".
  • Public Function isCloserToPTerThan(ByRef CompareBand As Band) As Boolean

    Determines whether the band is closer to the p-terminus than the CompareBand. Both bands must reside on the same chromosome, else an exception will be thrown.

    Note: The return value is not very consistent when both bands are equal. In such a case, the compareTo function is recommended.

    Return Value

    Parameter

    Exception

    Remarks

    Example

    Public Function isCloserToPTerThan(ByRef CompareBand As Band, ByVal MayContainUncertainties As Boolean) As Boolean

    Determines whether the band is closer to the p-terminus than the CompareBand. Both bands must reside on the same chromosome, else an error will be raised.

    If MayContainUncertainties is true, analysis will be delegated to the previous isCloserToPTerThan function. Otherwise, a faster algorithm will be used.

    Note: The return value is not very consistent when both bands are equal. In such a case, the compareTo function is recommended.

    Return Value

    Parameter

    Exception

    Remarks

    Public Function isMoreDistalThan(ByRef CompareBand As Band) As Boolean

    Determines if this band is farther away from the centromere than CompareBand by comparing the digits of the band numbers. Returns true, if the digits of the band correspond to a band farther away from the centromer than the digits of the CompareBand.

    Return Value

    Exception

    Remarks

    Example

    Public Function isOnOppositeArm(ByRef CompareBand As Band) As Boolean

    Determines whether the band resides on the opposite arm of the chromosome than CompareBand by comparing the description of their arms without uncertainties.

    Return Value

    Exception

    Remarks

    Example

    Public Function isRegion() As Boolean

    Returns true if the band description describes an interval.

    Return Value

    Remarks

    Example

    Public Function isTerminus() As Boolean

    Determines if this band describes a chromosomal terminus.

    Return Value

    Remarks

    Example

    Public Shadows Function toString() As String

    The full description of the band including chromosome, arm, and band number (if present). May show question marks and interval signs.
    Actually it returns the value of the "Band" property.

    Public Shadows Function toString(format as String) As String

    Returns a textual description of the band including chromosome, arm, band number, and uncertainties (if present).

    Return Value

    Parameter

    Remarks

    Example

    Interaction with other classes

    Classes using Band

    The Band class is a very fundamental class in the CyDAS project. It is used directly or indirectly by almost every class of the package.

    Band objects are components of the Fragment class (two Band objects per Fragment object), the QualitativeAberration class (one Band object per QualitativeAberration object), the QuantitativeAberration class (2 Band objects per QuantitativeAberration object), the Fusion class (2 Band objects per Fusion object), the GainLossStruct class (1 Band object per GainLossStruct object) and the Bands class (0, 1 or many Band objects per Bands object).

    Transient use of the Band class occurs in the Aberration class, the Chromosome class and the CyDASGraphics class.

    Classes used by Band

    The band class itself does not contain other classes of the CyDAS package as an integral component. A bands object is used temporarily in one function as a return value.

    Resources used by Band

    It is the band class to read the resource file "Chromosome.xml" containing the description of the bands of the normal karyotype. Other classes requiring such information get it via the Band class.