Data Classes and Containers
List of CData Classes
Example Code for CData Classes
Error Handling
Developing Wrappers and Pipelines
Program Command Templates
Task GUIs
Report Generation
Non-programming requirements for implementing CCP4i2 tasks
Remote Jobs
Project Based Testing
Creating downloadable demo data
This is a GUI to create or edit a DEF XML file which defines the data for a GUI task or a pipeline plugin. The shell script to start it is ccp4i2/bin/defEd. The program has built-in help.
The script ccp4i2/bin/pyi2 will open a Python console with set the CCP4I2 environment set up.
console> pyi2 Python 2.6.4 (r264:75821M, Oct 27 2009, 19:48:32) [GCC 4.0.1 (Apple Inc. build 5493)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> print PROJECTSMANAGER().db().listProjectNames() CCP4I2_TEST >>> >>> .. ( diagnostic) .. OK >>>
The CCP4Modules module is imported as part of the setup and this provides functions such as PROJECTSMANAGER() that returns the instance of the CCP4ProjectsManager.CProjectsManager class. In the example code above this is used to access the database (using db() method).
The setup also ensures that plugins in the plugins directory are on the PYTHONPATH so can be loaded and, like the buccaneer example above, the module test suite run.
Core code organised according to external dependencies into directories listed below.
Linux | Linux-specific executables or data files |
MacOSX | MacOSX-specific executables and data files |
Windows | WindowsX-specific executables and data files |
bin | OS-independent Python or shell scripts |
core | No external dependencies |
qtcore | Uses the non-graphical QtCore module |
qtgui | Uses the graphical QtGui module |
dbapi | API to RDMS database |
utils | A few utilties to aid startup of different executables |
wrappers | Plugins to wrap individual programs |
pipelines | Pipeline plugins |
tasks | GUIS to wrappers and plugins |
test/data | Test data |
qticons | Gui icons |
pimple | Code for pimple graph plotting (aka loggraph) |
report | Code for report generation |
Plugins use the following modules directly
core/CCP4Data | CData base class and generic data classes such as CFloat and CDataFile |
core/CCP4XtalData | crystallographic experimental data classes |
core/CCP4ModelData | model data classes |
core/CCP4MathsData | basic maths data classes |
core/CCP4File | files data |
core/CC4Annotation | annotation data classes |
core/CCP4Container | CContainer - a data container - the internal Python equivalent of the DEF file |
core/CCP4ErrorHandling | CException |
core/CCP4ProcessManager | Running separate processes |