CyDAS Web Service

If you would like to make use of CyDAS in your own applications but do not want to install the CyDAS binaries or cannot install them because of an incompatible operation system, you can now simply use the CyDAS Web Service.

With the CyDAS Web Service, you can analyse ISCN formulae similar to the examples given in the Online Analysis section.
Following functions are presently available:

Karyotype Analysis

analyseKaryotype

The analyseKaryotype function lets you analyse a Karyotype for virtually all information which can be extracted from karyotypes and the rearrangements therein:
gains and losses of chromosomal material, break points, junctions,.... In case of an error, a specific error message is shown.
This is similar to the web example program Online ISCN Analysis and includes quite all of the karyotype analysis functions below.

beautifyKaryotype

CyDAS understands a lot of karyotypes which were not described absolutely correctly. The function beautifyKaryotype takes a formula of a karyotype and reformats it perfectly according to ISCN.

showErrorDescriptionForKaryotype

The showErrorDescriptionForKaryotype function receives an ISCN formula and lists all of the items in the formulae which CyDAS failed to interprete. Note that CyDAS can still understand quite a lot of wrongly denoted karyotypes, and showing no error here does not mean that the karyotype already fully conforms to ISCN (use the function beautifyKaryotype for creating a fully ISCN conform karyotype).

getAberrations

The getAberrations function receives an ISCN formula and lists all of the aberrations and their implications on break points, gains and losses.

getBreakPoints

The getBreakPoints function receives an ISCN formula and lists all of the break points.

getJunctions

The getJunctions function receives an ISCN formula and lists all of the newly joined stretches of the chromosomes.

getQualitativeAberrations

The getQualitativeAberrations function receives an ISCN formula and lists all of the qualitative aberrations.

getQuantitativeAberrations

The getQuantitativeAberrations function receives an ISCN formula and lists all of the quantitative aberrations.


Karyograms

You can use the functionality of the web service for drawing karyograms. In the return value, you will receive the URL of the image file and some HTML code for embedding that file together with an image map linking the chormosomal bands to a map viewer.
Basically, there are two sets of functions depending on the parameters you want to set:

drawKaryogram

When using the drawKaryogram function, you pass the ISCN formula as a parameter, and you'll receive a karyogram calculated with default values.

drawKaryogram2

Here, you request a WKaryogram object first with the createKaryogram function. Next, you set some properties, and then request the karyogram with the drawKaryogram2 function passing the WKaryogram objet as a parameter.

You can set following parameters:

  • ISCNFormula (string): the ISCN formula for the karyogram to be drawn. Do not forget that!
  • MapViewer (string): the map viewer the mage map is linked with. Possible values are NCBI (default) and ENSEMBLE.
  • Resolution (eResolutionLevel): the resolution used for drawing. Default is 400 bands per haploid set.
  • ScaleFactor (single): the scale for the karyogram. Default value is 0.2; it must be less than 1.
  • UseColors (boolean): indicates if the karyogram is black and white only or colored (default).
  • BackColor (string): the color for the background of the karyogram. Default is White, allowed values are all colors defined by windows (if you supply a value which Windows does not understand, the value will simply remain unchanged).
  • DrawSequence (string): indicates the series in which chromosomes are to be drawn; use "BR" for a line break. Default is
    "1,2,3,4,5,6,7,X,8,9,10,11,BR,12,13,14,15,16,17,18,19,20,21,22,Y,?"

You can then simply paste the value of ImageMapHTMLCode into your web site to display the image map. Alternatively, you can download the image proper using the ImageURL property and display it in some other application.


Data Mining

The data mining functions deal with the analysis of large sets of data instead of singular karyotypes. Ideally, you have some 300 cases or more to analyse.

The data can be provided in some ways:
In the simplest case, you have a file containing data downloaded from the Mitelman database or converted your data into that format. You read them into a string variable and pass that to the InputData property of the respective analysis data object.
If you have your data in a file with the first item being a case identifier, the second item its karyotype (further fields are allowed, but will be ignored), you can also read those data into a string and pass them to that InputData property. But now you have to set the InputFormat property, and state if there is a header line (HasHeaderLine property). If the separator is not a pipe ("|") character, also set the SeparatorCharacter property.
Alternatively, you can load your data into an array of WCaseData. You pass that array to a WCaseDataCollection which is in turn passed to the InputCaseData property. If you use CGH data instead of ISCN data, set the DataType property of the WCaseDataCollection object accordingly.

Gains, Losses, and Breakpoints

This function corresponds to the WebExample 3: "Analysis of Data Sets for Gains, Losses and Breakpoints".

Basically, you request an empty object of type "WGainsLossesStructsData" for the analysis of your data using the createGainsLossesStructsData() function. Next, you provide the data you want to be analysed as described above.

You may set further properties for the calculation:

  • MapViewer (string): the map viewer the mage map is linked with. Possible values are NCBI (default) and ENSEMBLE.
  • Resolution (eResolutionLevel): the resolution used for drawing. Default is 400 bands per haploid set.
  • ScaleFactor (single): the scale for the karyogram. Default value is 0.2; it must be less than 1.
  • UseColors (boolean): indicates if the chromosomes in the karyogram are black and white only (default) or colored.
  • BackColor (string): the color for the background of the karyogram. Default is White, allowed values are all colors defined by windows (if you supply a value which Windows does not understand, the value will simply remain unchanged).
  • DrawSequence (string): indicates the series in which chromosomes are to be drawn; use "BR" for a line break. Default is
    "1,2,3,4,5,6,7,X,8,9,10,11,BR,12,13,14,15,16,17,18,19,20,21,22,Y,?"
  • MaximumNumberOfCases(integer): the maximum number of cases to be analysed; must be higher than 500 (which is also the default vaule)
  • CutOffQualitativeAberrations (integer): the maximum value of break points used for drawing next to the chromosome. If 0, the maximum is the maximum number of break points found at a chromosomal band. Use this property for scaling.
  • CutOffQuantitativeAberrations (integer): the maximum value of gains or losses used for drawing next to the chromosome. If 0, the maximum is the maximum number of gains or losses found at a chromosomal band. Use this property for scaling.

There after, call the analyseForGainsLossesStructs function and provide the manipulated object as a parameter. You will receive another such object, but now containing the result:

  • NumberOfCases: the actual number of cases which were analysed.
  • NumberOfValidCases: the number of analysed cases which were valid.
  • ErrorMessages: the errors encountered during analysis.
  • ErrorFileURL: a URL for downloading a file showing all the errors encountered during analysis. You can show that on your web page e.g. in an iframe.
  • QualitativeAberrationsImageURL: the URL for the image showing the qualitive (structural) aberrations (break points per chromosomal band).
  • QuantitativeAberrationsMapHTMLCode: HTML code which can be embedded into your page for showing the above image as an image map linked to the map viewer.
  • QuantitativeAberrationsImageURL: the URL for the image showing the quantitive aberrations (gains and losses per chromosomal band).
  • QuantitativeAberrationsMapHTMLCode: HTML code which can be embedded into your page for showing the above image as an image map linked to the map viewer.
  • GainsLossesStructuralAberrations: a list of the gains, losses and structural aberrations per chromosomal band (type WGainsLossesStructs).

Dependence Network

This function corresponds to the WebExample 5: "Dependence Network".

Basically, you request an empty object of type "WDependenceNetworkData" for the analysis of your data using the createDependenceNetworkData() function. Next, you provide the data you want to be analysed as described above.

You may set further properties for the calculation:

  • MinimumChiSquare (double): denotes the minimum dependence for which lines will be drawn.
  • NumberOfEvents (integer): the number of events shown in the figure.
  • ImageHeight and ImageWidth (both integer): height and width of the figure in pixels.

There after, call the analyseForDependenceNetwork() function and provide the manipulated object as a parameter. You will receive another such object, now containing the actual result:

  • NumberOfCases: the actual number of cases which were analysed.
  • NumberOfValidCases: the number of analysed cases which were valid.
  • ErrorMessages: the errors encountered during analysis.
  • ErrorFileURL: a URL for downloading a file showing all the errors encountered during analysis. You can show that on your web page e.g. in an iframe.
  • ImageURL: the URL for the image showing the dependence network.
  • EventCombinations: an array of data showing statistical evaluations on pairwaise combinations of events:
    • FirstEvent: name of the first event.
    • SecondEvent: name of the second event.
    • FirstEventCount: the number of cases the first event was found.
    • SecondEventCount: the number of cases the second event was found.
    • Support: the number of cases both events were found.
    • SupportExpected: the number of cases where both events were expected to be found.
    • AttributableRisk.
    • ChiSquare.
    • Confidence.
    • FourFoldCorrelation.
    • OddsRatio.
    • Pearson.
    • RelativeRisk.

See also the description of the desk top version for the meaning of parameters and results.

Evolution Tree

This function corresponds to the WebExample 6: "Evolution Tree".

Basically, you request an empty object of type "WEvolutionTreeData" for the analysis of your data using the createEvolutionTreeData() function. Next, you provide the data you want to be analysed as described above. Note that polyclonal karyotypes will be separated into one case per clone.

You may set further properties for the calculation:

  • FirstEventFrequency (double): denotes the frequency with which the start events of evolution must be encountered.
  • FrequencyDecrease (double): the corresponding value for later events.
  • BinningThreshold (double): indicates when two events should be treated as one event.
  • MinimumEventCount (integer): minimum number of cases an event has to be found in.
  • DependenceThreshold (double): distinguishes between subnodes and parallel nodes.
  • MaximumDepth (integer): the maximum depth of the evoultion tree.

There after, call the analyseForEvolutionTree() function and provide the manipulated object as a parameter. You will receive another such object, with its EvolutionTreeNode property containing the actual result:

  • Count: the number of cases containing this evolutionary path.
  • CountParent: the number of cases containing this evolutionary path upto its parent.
  • CountExpected: the number of cases expected to contain this evolutionary path.
  • Dependence: the dependence of the last step from the previous step.
  • Path: the full evolutionary path.
  • Text: the last step in the evolution tree.
  • SubNodes: a structure showing further evolutionary steps from this position on.

See also the description of the desk top version for the meaning of parameters and results.

Complexity Distribution

This function corresponds to the WebExample 7: "Dependence on Karyotype Complexity".

Basically, you request an empty object of type "WComplexityDataSet" for the analysis of your data using the createComplexityDataSet() function. Next, you provide the data you want to be analysed as described above.

You may set further properties for the calculation:

  • MinimumEventCount (integer): minimum number of cases an event has to be found in.
  • MaximumNumberOfEventsToShow (integer): the maximum number of events for which the distribution is to be shown.

There after, call the analyseForComplexityData() function and provide the manipulated object as a parameter. You will receive another such object, with its ComplexityData property containing a hierarchical structure of the main result:

  • Complexity: the number of events per case.
  • NumberOfCasesAtComplexity: the number of cases containing this number of events.
  • Data:
    • EventName: the event for which the data are shown at the above complexity.
    • Count: how often this event was encountered at this complexity.
    • CounteExpected: how often this event was expected to be encountered at this complexity.

See also the description of the desk top version for the meaning of parameters and results.