Transcript Martyn Winn

CCP4 Library Development
M.D.Winn, York, March 22nd/23rd 2005
CCP4 Libraries
CCP4 5.0 released with:
CMTZ, CMAP, etc. - for i/o, fine control of data, jiffy applications
other C libraries - general CCP4 utilities
MMDB - for coordinate applications and ccp4mg
Clipper - for grown-up applications
FFTw
dna_output
CCP4 6.0 will have:
cctbx
errrr ... that’s it
M.D.Winn, York, March 22nd/23rd 2005
Libraries: future directions
No definite plans ...
... possibilities:
•Independent library distribution
•Scripting interfaces (python for automation, tcl for ccp4i)
•Re-write other libraries:
fftlib --> fftw
harvlib, libhtml
•Include other libraries for general use, e.g. mmut
More important:
Extend library code as required by automation projects
Re-write legacy applications in cleaner / simpler way
M.D.Winn, York, March 22nd/23rd 2005
Developer's Guide to Upgrading Programs to
CCP4 5.0 Libraries
http://www.ccp4.ac.uk/dev/releases/changes_for_developers_5.0.html
•libccp4 --> libccp4f, libccp4c, libmmdb
•library.h --> ccp4_sysdep.h, ccp4_errno.h
•New crystal level in MTZ header (groups datasets) - autogenerated if
not present
•Column ordering by dataset
•DCELL (present since 4.1) now used by CCP4 progs
•symop.lib --> syminfo.lib
•Library reads P2, ‘P 2’, ‘P 1 2 1’, 3 -- (CCP4 progs ) will write ‘P 2’
M.D.Winn, York, March 22nd/23rd 2005
Use of new libraries
Core library (CMTZ, CMAP, CSYM, utilities)
mtz2sca, bp3/crank, mapslicer + other enquiries
MMDB
ccp4mg, coordinate utilities
Clipper
pirate, clipper utilities
cctbx
phaser, pointless
M.D.Winn, York, March 22nd/23rd 2005
Coordinate Utilities
In response to user requests, and for automated MR:
•ncont
•pdbcur
summarise PDB contents
delete H atoms
keep only most probable conformation
delete atoms with occupancy < cut-off (def. 0.0)
•coord_format
•assign chain IDs when blank
•pdb_merge
•merge chains or keep separate
•chainsaw
•poly-Ser model based on input alignment
M.D.Winn, York, March 22nd/23rd 2005
Coordinate Utilities (2)
Most are simple wrappers to MMDB functionality:
This is as it should be ....
... but user-accessibility still important.
Why old-fashioned keyworded application programs?
•familiar
•it works
•python scripts not yet migrated from developer to user ?!
At some point, migrate to use python interfaces to mmdb
and mmut
M.D.Winn, York, March 22nd/23rd 2005
cctbx
sourceforge.net/projects/cctbx
M.D.Winn, York, March 22nd/23rd 2005
Future Release Plans
M.D.Winn, York, March 22nd/23rd 2005
The shape of things to come ...
Lots in the pipeline:
ccp4mg
pirate, buccaneer
new Mosflm GUI
Coot
SSM
BP3, CRUNCH
Phaser
Phil’s OO point group scorer
+ update to usual suspects
+ stuff from automation project
M.D.Winn, York, March 22nd/23rd 2005
The shape of things to come ...
Still in the pipeline:
ccp4mg 2.0
buccaneer
new Mosflm GUI (“late summer 05”)
Phaser 2.0
pointless (available now)
Acorn
+ stuff from automation project
Medium term:
ccp4i back-end: database handler
replacement of legacy programs
M.D.Winn, York, March 22nd/23rd 2005
MDW’s hitlist
To re-write or junk:
act, angles, contact, distang
coordconv
mtz2various, xdldataman
mtzmnf, mtzMADmod, freerflag
restrain
surface/volume
M.D.Winn, York, March 22nd/23rd 2005
Long-term issues
Change of emphasis to modern tools.
E.g. function objects accessed from applications, scripts, MG.
What are boundaries to graphics, automation, traditional suite ??
Databases are great. Do we make this a dependency of CCP4?
Simplify or expand GUI?
Deal with different GUIs for automation ....
Workflows.
Flexibility vs. focus.
M.D.Winn, York, March 22nd/23rd 2005
CCP4 Licence Status
M.D.Winn, York, March 22nd/23rd 2005
Academic licence
Unlicenced users ....
Expires on 31st March 2005
New licence available soon:
Commercial licence
New licence available soon:
M.D.Winn, York, March 22nd/23rd 2005
M.D.Winn, York, March 22nd/23rd 2005