GithubHelp home page GithubHelp logo

ccp4 / dimple Goto Github PK

View Code? Open in Web Editor NEW
6.0 5.0 5.0 1.59 MB

:large_blue_diamond: MX pipeline. Refinement and ligand screening.

Home Page: http://ccp4.github.io/dimple/

License: Apache License 2.0

CMake 0.48% Python 88.81% C++ 8.40% Shell 0.55% Batchfile 0.15% HTML 1.61%
ligand-screening macromolecular-crystallography crystallography ccp4

dimple's Introduction

dimple

Macromolecular crystallography pipeline for refinement and ligand screening.

Installation

Build Status

DIMPLE is part of the CCP4 suite. All the work is done by other programs from the suite, which are run underneath. Most importantly refmac and phaser. So you need to have CCP4 installed.

To test the latest development version, clone this repository and run ./dimple/dimple.

Dimple comes with a little find-blobs utility. If you don't compile it, the version from the CCP4 suite will be used. Compilation requires clipper library which in turn requires mmdb2 and libccp4. You may either build everything from source or use conda to download binaries compiled with GCC 4.8. The latter can be done by installing miniconda and doing:

conda install -c mw clipper

Than build find-blobs pointing where the required libraries are:

export CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0 -std=c++98"  # for GCC 5
cmake -D CMAKE_PREFIX_PATH=$HOME/miniconda2 .
make

No need for make install - the binary landed in the same directory as the python scripts and dimple will use programs from here in preference to the ones from $CCP4/bin.

If it doesn't work - see the contact methods below.

Comments?

Any thoughts, comments or feedback is welcome. If it doesn't work as expected or doesn't work at all - let us know asap. Use the issue tracker or email CCP4 helpdesk or email [email protected] or chat at https://gitter.im/ccp4/dimple.


Made in Diamond Light Source and in CCP4-Harwell.

dimple's People

Contributors

anthchirp avatar hlasimpk avatar rjgildea avatar wojdyr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dimple's Issues

KeyError: '112' in calculate_z_order

I'm getting this error:

  File "/opt/xray/ccp4-8.0/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/opt/xray/ccp4-8.0/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/opt/xray/ccp4-8.0/lib/python3.7/site-packages/dimple/__main__.py", line 4, in <module>
    sys.exit(main(sys.argv[1:]))
  File "/opt/xray/ccp4-8.0/lib/python3.7/site-packages/dimple/main.py", line 894, in main
    dimple(wf=wf, opt=options)
  File "/opt/xray/ccp4-8.0/lib/python3.7/site-packages/dimple/main.py", line 197, in dimple
    vol_ratio = (mtz_meta.asu_volume() /
  File "/opt/xray/ccp4-8.0/lib/python3.7/site-packages/dimple/cell.py", line 26, in asu_volume
    z = calculate_z_order(self.symmetry)
  File "/opt/xray/ccp4-8.0/lib/python3.7/site-packages/dimple/cell.py", line 290, in calculate_z_order
    return _centering_n[hm[0]] * _pg_symop[pg]
KeyError: '112'

Using the ccp4-8.0 version of dimple. You can reproduce the problem with the two files inside this zip file and with this command line:

dimple --hklout output-dimple.mtz --xyzout output-dimple.pdb input-mtz-rescut.mtz base-model.pdb .

Is it something about the mtz file (specifically the unit cell info) that's tripping dimple up? mtzdmp gives:

Space group = 'P 1 1 2' (number     1003)

So the code then tries to do _pg_symop['112'] in

def calculate_z_order(hm):
    pg = ''.join(a[0] for a in hm.split()[1:])
    return _centering_n[hm[0]] * _pg_symop[pg]

(with hm = "P 1 1 2"), but _pg_symop:

_pg_symop = {'1': 1,
             '2': 2, '121': 2,
             '222': 4,
             '4': 4,
             '422': 8,
             '3': 3,
             '32': 6, '312': 6, '321': 6,
             '6': 6,
             '622': 12,
             '23': 12,
             '432': 24,
             }

does not contain this key. Should it?

replace find-blobs with gemmi-blobs

After the coming release of CCP4 (7.1) the find-blobs utility included in Dimple is to be replaced with the gemmi-blobs utility. Dimple will be Python-only and CMakeLists.txt will get replaced with setup.py.

option to turn off reindexing

We are looking at a crystallographic drug fragment screen where a few datasets seem different enough that it is hard to distinguish based on Pointless statistics which indexing solution is the right one. Would it be possible for the user to either

a) make dimple refine both (all) inequivalent indexing solutions,
b) turn off reindexing, or
c) specify which indexing solution to use?

I think any of these options would do.

Warning: passing input to render failed.

dimple output:

(...)
 10 find-blobs       0.4s  Blob scores: 67 53
Rendering 2 largest blobs: at (-17.8, -10.7, -8.2) and at (-18.4, -10.3, 0.1)
 11 coot            12.8s  stdout: 4372 lines                                
 12 render           2.2s   blob1v1.png / 13 blob1v2.png / 14 blob1v3.png
 15 render           4.3s   blob2v1.png / 16
Warning: passing input to render failed.

 blob2v2.png
Error: render failed (exit status 255).
/dls_sw/apps/ccp4/7.0.065/ccp4-7.0/bin/render -png blob2v2.png < blob2v2.r3d

stderr:
-> 16-render.log

16-render.log says:

title="coot 0.8.9.1: Raster3D output"
Rendered raster size =    900 x    900
  Output raster size =    600 x    600

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %                      Raster3D    V3.0.3                      %
 %            --------------------------------------            %
 % If you publish figures generated by this program please cite %
 %   Merritt & Bacon (1997)  Meth. Enzymol. 277, 505-524.       %
 %            --------------------------------------            %
 %                  Raster3D distribution site                  %
 %          http://www.bmsc.washington.edu/raster3d/            %
 % comments & suggestions to:          [email protected] %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 Expand DETAIL to      4000000
 ERROR >>>>>> too many object details - increase MAXDET and recompile

Dimple exits with a non-zero exit code which means we will treat the overall processing as failed.

final.mtz.gz
dimple.log
fast_dp.mtz.gz

Failure with alphaFold models

Dimple is failing when presented with alphaFold models. This seems to be because the models are deposited in P1 with '1 1 1 90 90 90' cell constants and rwcontents chokes on that, then dimple exits.

Given the increase in alphaFold models, is there a potential fix in dimple for this situation?

add option --rigid-cycles

NSLS has a fork of Dimple with different numbers of refinement iterations:
https://github.com/nsls-ii-mx/dimple
They also decrease cycles of rigid-body refinement. So far we haven't had option for this because rigid body refinement is normally very fast anyway. But since apparently it matters for other people let's add such an option.

No stdout recorded until job finished

19854 gda2      25   5 1311m  85m 5276 R 100.0  0.4   2228:48 refmac5           
 4470 root      20   0  169m  16m 1128 S  2.6  0.1 840:03.77 collectl           
 2588 root      20   0  195m 1180  684 S  0.3  0.0   8:59.41 snmpd              
 3693 root       0 -20 7575m 1.2g 117m S  0.3  4.9  94:53.65 mmfsd              
 4213 sgeadmin  20   0  235m 7308 2540 S  0.3  0.0  77:36.85 sge_execd          
11769 gw56      20   0 17484 1656  980 R  0.3  0.0   0:08.54 top                
    1 root      20   0 25688  568  328 S  0.0  0.0   0:06.34 init      

been running for nearly 2 days... but no stdout so cannot see what it is doing (other than getting stuck)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.