On 20 November 2015 at 14:17, Troels Emtekær Linnet <tlinnet@xxxxxxxxxxxxx> wrote:
Hi. My colleagues Kresten Lindorff-Larsen and Amelie Stein kindly helped me find some references: http://zhanglab.ccmb.med.umich.edu/HAAD/ http://zhanglab.ccmb.med.umich.edu/papers/2009_7.pdf Fortran code: http://zhanglab.ccmb.med.umich.edu/HAAD/haad.f90 http://kinemage.biochem.duke.edu/software/reduce.php http://kinemage.biochem.duke.edu/software/readme.reduce.html http://kinemage.biochem.duke.edu/php/downlode.php?filename=/downloads/PDFs/1999WordJMB285b.pdf I don't know the license of the programs, and if they should/could be implemented in relax efficiently by running the code as external program in the respectively software environments.
Hi Troels, Thanks for digging out those references. The HAAD algorithm and software seems promising. The online server could be used to create a number of system tests (the check out all different molecule types), and then the algorithm implemented to exactly match the HAAD software results. In the future, maybe we could ask them about dual licensing a copy under the GPLv3+ licence to allow us to translate the FORTRAN code directly into Python, as most of this seems to be hardcoded numbers anyway. I also cannot find a licence for HAAD, but the last sentence of their abstract sounds like they intended their code to be public domain: "Both an executable and the source code of HAAD are freely available at http://zhang.bioinformatics.ku.edu/HAAD". So maybe they'll be ok with the dual licensing idea to allow a direct translation and addition into the relax library (maybe in /lib/structure/protons/). For Reduce, we could also do the same, but calculating the results offline and converting them to system tests. Then in the structure.attach_protons user function, we can have the algorithm parameter which can be set to 'HAAD', 'Reduce', etc., citing the papers in the user function docstring. Anyway, I don't have time to implement these for now, but these are lots of great ideas for future additions. Cheers, Edward