Merge pull request #198 from RosettaCommons/wpotrzebowski/fiber_diffraction
Merging Fiber Diffraction scoring and derivatives calculation
There are three separate Fiber Diffraction modules (energy terms).
FiberDiffractionEnergy – all-atom scoring and derivatives
FiberDiffractionEnergyDens – low-resolution (centroid) scoring based on electron density of subunit
FiberDiffractionEnergyGpu – all-atom scoring and derivatives performed on GPU.
This module is based on NVIDIA Cuda library and was developed before OpenCL standard was introduced. To compile it extras=cuda flag has to be used. One has to uncomment two lines (71 and 72) in tools/build/nvcc.py file. This will pass arch=sm_20 flag to nvcc. I’ve also added #define BOOST_NOINLINE statement to external/boost_1_55_0/boost/config/compiler/nvcc.hpp so the module compiles in debug mode. The corresponding line has to be uncommented too.
#UNIT TESTS:
Fiber Diffraction tests have been added.
Unit tests status: All pass
#INTEGRATION TESTS:
fiber_diffraction and fiber_diffraction_fad Integration tests have been added.
Integration test results as expected: database_jd2_compact_io, database_jd2_io, features and sweep_respair_energies are changed because new score terms are added.
#PyRosetta:
FiberDiffractionEnergy, FiberDiffractionEnergyDens works with PyRosetta, while FiberDiffractionEnergyGpu was excluded from these builds (src/python/bindings/exclude.py)