The CyDAS Application
The CyDAS application joins the singular items of business logic dealing with distinct aspects of the evaluation of cytogenetic data into a user-friendly environment. The application takes care for data acquisition, storage, and manipulation, and offers a convenient set of analysis tools.
A paradigm in the application is the "Active Group", i.e. a group of patients and their data which was selected from the database and which is to be analysed further. The Active Group is represented by the "ActiveGroup" table in the database which simply contains the patient identifiers of its members. An ActiveGroup object also prepares collections for the karyotypes (both banding and CGH data) of the patients. References to these collections are then passed to the CyDAS application proper where they will be passed into dependent forms and analysed when required.
Architecture
A user selected data base stores the data to be analysed. The concept of the database is relational, it is normalized. However, some calculated data are stored in some tables for easy retrieval. No special database engine is required, CyDAS was tested with Microsoft Access, Microsoft SQL-Server, and MySQL.
Because of compatibility issues, quite simple data types are used, and some features (e.g. referential integrity) have to be maintained by the client software. All SQL queries rely on expressions which are understood by all of the databases mentioned above.
All tables are represented by classes and corresponding collection classes in the CyDAS application. As a convention, classes are named <tablename>Element and <tablename>Elements, resp. These classes are responsible for the specific database communication.
The Database Structure
The tables are structured as follows:
The Classes of the CyDAS Application
Windows Forms and Controls:
- The CyDAS Main Window: Form1
- Graphical Analysis Form
- Data Mining
- Evolution Tree Form
- Dependence Network Form
- Aberration Count Distribution Form
- Other Analysis
- Analyse ISCN Form
- Derivative Chromosome Form
- Chromosome Colors Form
- Clinical Classification:
- Classification Start Window
- Classification Select Window
- Classification Score Window
- Classification Score Editor
- Classification Score View Control
- Parameter Editing
- Drawing Parameters
- Mining Parameters
- Groups
- Group Editing Window
- Patient Viewer Window
- Patient Viewer Control
- New Group
- Data Export
- Data Import
- Select Group Window
- Data Editing
- Investigation
- Karyotype
- Patient
- Other Forms
- About Form
- Search the Documentation - Window
- Report Window
- General
- Active Group
- Application wide paramteres: ConfigData
- ImportFilterData
- Database Representation
- Group Element
- Group Elements
- SubGroup Element
- SubGroup Elements
- Patient Element
- Patient Elements
- Patient-in-Group Element
- Patient-in-SubGroup Element
- Investigaiotn Element
- Investigaiotn Elements
- Karyotyope Element
- Karyotyope Elements
- Reference Element
- Reference Elements
- Classification Element
- Classification Elements
- Classification Result
- Classification Results
- Classification Score Element
- Classification Score Elements
- The CyDAS.ini configuration file
- Import Filters (in User Documentation)
Global Data
A few data and functions need to be globally available in the CyDAS application. For this purpose, the class ConfigData was established which contains static (shared) variables and fuctions only.
Among those global data are the database connection, database parameters, exception handling, handling of forms.
The Start Process
CyDAS is started via the form for the Main Window ("Form1"). In its constructor, further start up functions residing in the static class ConfigData are called. These functions read the CyDAS configuration file (CyDAS.ini) and the import filters; a database connection is established if configured. Indirectly, functions of the ChromosomeData class of the ISCNAnalyser are invoked, which load information on the chromosome set to be used, and determines the directory CyDAS resides in.
If an error occured during start up, the user is informed on the error, and CyDAS is shut down. Since the shut down cannot be done in the constructor, an object wide variable is set which is evaluated during the Form_Load handler.
Technical documentation on the libraries containing the business logic:
User documentation for the CyDAS application: