CyDAS Home funded by Sponsor: DFG
CyDAS Documentation Overview Documentation Section HowTo Section Online Analysis Section Download Section Resources Section About Section

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:

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:

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:

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:

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:

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:

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:

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

Further functionality will be added soon.