CCP4I2 Developers/Testers Introduction

Other documentation

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

Downloading CCP4i2

See http://www.ccp4.ac.uk

defEd

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.

Running CCP4I2 in Console Mode

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.

Source Code Organisation

Core code organised according to external dependencies into directories listed below.

LinuxLinux-specific executables or data files
MacOSXMacOSX-specific executables and data files
WindowsWindowsX-specific executables and data files
binOS-independent Python or shell scripts
coreNo external dependencies
qtcoreUses the non-graphical QtCore module
qtguiUses the graphical QtGui module
dbapiAPI to RDMS database
utilsA few utilties to aid startup of different executables
wrappersPlugins to wrap individual programs
pipelinesPipeline plugins
tasksGUIS to wrappers and plugins
test/dataTest data
qticonsGui icons
pimpleCode for pimple graph plotting (aka loggraph)
reportCode 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

Last modified: Fri Feb 12 16:14:51 GMT 2016