Giter Club home page Giter Club logo

deerpredict's Introduction

Build Status Documentation Status DOI SWH

DEER-PREdict

Overview

A package for double electron-electron resonance (DEER) and paramagnetic relaxation enhancement (PRE) predictions from molecular dynamics ensembles.

Installation

To install DEER-PREdict, use the PyPI package:

  pip install DEERPREdict

or clone the repo:

  git clone https://github.com/KULL-Centre/DEERpredict.git
  cd DEERpredict

  pip install -e . 

The software requires Python 3.6+.

Documentation

Documentation Status

Testing

Run all the tests in one go

  cd DEERpredict

  python -m pytest

or run single tests, e.g.

  cd DEERpredict

  python -m pytest tests/test_PRE.py::test_ACBP
  python -m pytest tests/test_DEER.py::test_T4L

Authors

Giulio Tesei (@gitesei)

João M Martins (@joaommartins)

Micha BA Kunze (@mbakunze)

Ramon Crehuet (@rcrehuet)

Kresten Lindorff-Larsen (@lindorff-larsen)

Article

Tesei G, Martins JM, Kunze MBA, Wang Y, Crehuet R, et al. (2021) DEER-PREdict: Software for efficient calculation of spin-labeling EPR and NMR data from conformational ensembles. PLOS Computational Biology 17(1): e1008551. https://doi.org/10.1371/journal.pcbi.1008551

deerpredict's People

Contributors

gitesei avatar joaommartins avatar rcrehuet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

deerpredict's Issues

Install issues

I tried pip install DEERPREdict on my Mac terminal and the install failed.

I have the Apple M1 chip and I'm on OS Monterey 12.0.1.
I believe it's failing because the install seems to be for an older operating system and/or for the Intel chip (I saw "build/lib.macosx-10.9-x86_64-3.8" in the error text).

I was able to install successfully on a Windows.
Please let me know if this is fixed because I'd love to have this package on my Mac!

Thanks,
-Sam

Here's a list of the install warnings I get:

  • warning "Using deprecated NumPy API
  • warning: comparison of integers of different signs: 'unsigned int' and 'int'
  • warning: '/*' within block comment
  • warning: 'tp_print' is deprecated
  • warning: unused variable 'cur_time'
  • warning: unused variable 'tmbuf'
  • warning: unused function 'fio_read_int32'
  • warning: unused function 'fio_write_str'
  • warning: unused function 'swap2_aligned'
  • warning: unused function 'swap2_unaligned'
  • warning: unused function 'PyConverter_DoubleArray'
  • warning: unused function 'PyConverter_DoubleArrayOrNone'
  • warning: unused function 'PyConverter_DoubleVector4Copy'
  • warning: 'PyUnicode_GetSize' is deprecated
  • error: implicit declaration of function 'getpid' is invalid

'from' keyword not supported in this version of the language

I'm using Anaconda Powershell Prompt on Windows 10 with Python 3.8.2. After running the installation instructions I get the message that I have successfully installed DEERPREdict and all dependencies. However, when trying to use the commands on the "Running Calculations" instructions I get the error

The 'from' keyword is not supported in this version of the language

after using

from DEERPREdict.DEER import DEERpredict

I'm not sure if this is a windows or python issue and if there are work arounds for running the DEERpredict without using the 'from' keyword or if I should take additional steps to properly set up the environment so that it will work with the 'from' usage. Thank you.

Why is the average PRE ratio of a trajectory not calculated as average of the individual ratios?

Hi,

I have a question about the code, particularly related to the following lines in PRE.py:

gamma_2 = np.ma.MaskedArray(gamma_2, mask=np.isnan(gamma_2))
gamma_2_av[self.measured_resnums] = np.ma.average(gamma_2, weights=self.weights, axis=0).data
i_ratio = self.r_2 * np.exp(-gamma_2_av * self.delay) / ( self.r_2 + gamma_2_av )
np.savetxt(self.output_prefix+'-{}.dat'.format(self.residue),np.c_[self.resnums,i_ratio,gamma_2_av],header='residue i_ratio gamma_2')

By calculating the average of gamma_2, the i_ratio of a trajectory does not equal the average i_ratio of all individual frames (or the average of i_ratio of multiple trajectories), as exp(average(X)) != average(exp(X)).

As an illustration, here are the PRE results of a (from two individual trajectories) combined trajectory:
image
vs. the results of the two individual trajectories (same amount of frames):
image

Does this part of the code work as intended? It is consistent with the description in the paper, but I am not sure if this is correct from a theoretical standpoint.

Best regards

Alexander Jussupow

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.