[cctbxbb] Tidy up CCTBX

Dr. Robert Oeffner rdo20 at cam.ac.uk
Thu Jan 18 07:56:34 PST 2018


Hi all,

I'm wondering if we could make efforts to refactor code modules in the 
cctbx_project so as making it have the minimum number of dependencies. 
This would be helpful to other users of the CCTBX that wishes to develop 
code on top of it. In the longer term it would also make it easier for 
us to deploy CCTBX as a Python wheel installer and by implication, 
spread the gospel of the wonders of the CCTBX.

What is currently complicating this is the inclusion of the dxtbx module 
within the cctbx_project. It is being used by Dials. So my question is 
if it would be possible to move this project into the Dials code?

If the dxtbx was just another small module it wouldn't be much of a 
problem. But the dxtbx depends on the cbflib and HDF5 components. If you 
want to build CCTBX from sources that's cumbersome. Why? Because CCTBX 
as deployed from CCI on http://cci.lbl.gov/cctbx_build/ is only built 
for a few select platforms. Building CCTBX on a different platform from 
those with bootstrap compels us to also build cbflib and HDF5 from 
scratch. Although this is not impossible it does increase the entry 
barrier for other potential users of the CCTBX who wish to incorporate 
the CCTBX in their programs: If all a user wants is to calculate allowed 
origins and symmetry sites for a given space group then an alternative 
to CCTBX might be preferable rather than having to massively expand 
their project with the seemingly unrelated HDF5 component. In other 
words, as it stands now the CCTBX is not straightforward for others to 
adopt.

What do other people think?


Regards,

Rob


-- 
Robert Oeffner, Ph.D.
Research Associate, The Read Group
Department of Haematology,
Cambridge Institute for Medical Research
University of Cambridge
Cambridge Biomedical Campus
Wellcome Trust/MRC Building
Hills Road
Cambridge CB2 0XY

www.cimr.cam.ac.uk/investigators/read/index.html
tel: +44(0)1223 763234


More information about the cctbxbb mailing list