Skip to content

Commit

Permalink
Merge branch 'main' of github.com:prody/ProDy into scipion
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesmkrieger committed Sep 25, 2024
2 parents e697047 + 9639506 commit daf8124
Show file tree
Hide file tree
Showing 17 changed files with 1,061 additions and 159 deletions.
2 changes: 2 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ include prody/*/*.cpp
include prody/*/*/*.cpp
include prody/*/*.h
include prody/*/*/*.h
include prody/*/*/*/*.so
include prody/tests/*/*.py
include prody/tests/datafiles/*.coo
include prody/tests/datafiles/*.dcd
Expand All @@ -20,3 +21,4 @@ include prody/utilities/datafiles/*.dat
include prody/utilities/datafiles/*.txt
include scripts/prody*
include scripts/evol*
include prody/protein/tabulated_energies.txt
25 changes: 18 additions & 7 deletions docs/about/people.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,22 @@ Development Team
`James Krieger`_ was helping develop *ProDy* from 2017 and became the main
overseer and developer in mid 2020.

`Hongchun Li`_ is currently maintaining and developing ANM and GNM servers,
`Hongchun Li`_ has helped maintain and develop ANM and GNM servers,
and made significant contributions to :mod:`.database` and :mod:`.dynamics`
including *SignDy* and Adaptive ANM.

`JiYoung Lee`_ is the main developer of :mod:`.Pharmmaker`, for constructing pharmacophore models using the outputs from :mod:`.DruGUI`.

`Yan Zhang`_ contributed significantly to the development of
the *cryo-EM* module, :mod:`.protein.emdmap`.

`Burak Kaynak`_ contributed significantly to the development of
:mod:`.domain_decomposition`, :mod:`.dynamics.essa`, and
:mod:`.dynamics.clustenm`.

`Karolina Mikulska-Ruminska`_ contributed significantly to the development of
`Karolina Mikulska-Ruminska`_ is one of the main developers since 2022, with the addition of the new modules
:mod:`.protein.interactions` (*InSty*), :mod:`.protein.waterbridges`
(*WatFinder*), and :mod:`.dynamics.mechstiff` (*MechStiff*).
(*WatFinder*), in addition to being the developer of :mod:`.dynamics.mechstiff` (*MechStiff*).

`Anthony Bogetti`_ is overseeing the overall development of *ProDy* since
2024.
Expand All @@ -50,6 +52,12 @@ Blocks and Membrane ENM.
`Lidio Meireles`_ provided insightful comments on the design of *ProDy*,
and contributed to the development of :ref:`prody-apps`.

`Mustafa Tekpinar`_ contributed to the development of MechStiff.

`Luca Ponzoni`_ contributed to the development of SignDy.

`David Koes`_ contributed to the development of drug discovery tools.

Contributors
------------

Expand All @@ -67,17 +75,16 @@ contributions and feedback from the following individuals:
insights.



.. _Ahmet Bakan: https://scholar.google.com/citations?user=-QAYVgMAAAAJ&hl=en
.. _Cihan Kaya: https://www.linkedin.com/in/cihan-kaya/
.. _Bahar Lab: http://www.bahargroup.org/Faculty/bahar/
.. _University of Pittsburgh: http://www.pitt.edu/
.. _Anindita Dutta: http://www.linkedin.com/pub/anindita-dutta/5a/568/a90
.. _Wenzhi Mao: http://www.linkedin.com/pub/wenzhi-mao/2a/29a/29
.. _Lidio Meireles: http://www.linkedin.com/in/lidio
.. _Ying Liu: http://www.linkedin.com/pub/ying-liu/15/48b/5a9
.. _Ying Liu: https://www.linkedin.com/in/yingliu03/
.. _Kian Ho: https://github.com/kianho
.. _Gökçen Eraslan: http://blog.yeredusuncedernegi.com/
.. _Gökçen Eraslan: https://github.com/gokceneraslan
.. _Tim Lezon: https://scholar.google.pl/citations?user=1MwNI3EAAAAJ&hl=pl&oi=ao
.. _Chakra Chennubhotla: http://www.csb.pitt.edu/Faculty/Chakra/
.. _She (John) Zhang: https://www.linkedin.com/in/she-zhang-49164399/
Expand All @@ -87,4 +94,8 @@ insights.
.. _Burak Kaynak: https://scholar.google.pl/citations?user=gP8RokwAAAAJ&hl=pl&oi=ao
.. _Karolina Mikulska-Ruminska: https://scholar.google.pl/citations?user=IpyPHRwAAAAJ&hl=pl
.. _Anthony Bogetti: https://scholar.google.pl/citations?hl=pl&user=9qQClIcAAAAJ
.. _Frane Doljanin: https://github.com/fdoljanin
.. _Frane Doljanin: https://github.com/fdoljanin
.. _JiYoung Lee: https://scholar.google.com/citations?user=odKQmZcAAAAJ&hl=en
.. _David Koes: https://bits.csb.pitt.edu/
.. _Luca Ponzoni: https://scholar.google.it/citations?user=8vfPOYUAAAAJ&hl=en
.. _Mustafa Tekpinar: https://scholar.google.com/citations?user=qeVv6o8AAAAJ&hl=en
4 changes: 2 additions & 2 deletions docs/devel/website.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ This is a short guide for building the ProDy website.
Environment Setup
--------------

First log in to the ProDy webserver (prody.csb.pitt.edu) then run the following::
First log in to your ProDy webserver and then run the following::

$ conda deactivate

Expand All @@ -34,7 +34,7 @@ ProDy-website-workdir. You can then copy files back over afterwards.

It's recommended to have the symbolic link called test_prody pointing to
your build directory instead and then you can monitor changes by going to
http://prody.csb.pitt.edu/test_prody/_build/html/ in your web browser.
http://yourdomainname/test_prody/_build/html/ in your web browser.


Updating from GitHub
Expand Down
2 changes: 1 addition & 1 deletion docs/docs
2 changes: 1 addition & 1 deletion docs/reference/proteins/waterbridges.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ Water bridge finder (WatFinder)

.. automodule:: prody.proteins.waterbridges
:members:
:undoc-members:
:undoc-members:
3 changes: 2 additions & 1 deletion docs/release/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ Release Notes
.. toctree::
:maxdepth: 2
:glob:


v2.5_series
v2.4_series
v2.3_series
v2.2_series
Expand Down
4 changes: 2 additions & 2 deletions prody/chromatin/functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ def showEmbedding(modes, labels=None, trace=True, headtail=True, cmap='prism'):
X, Y, Z = V[:,:3].T

f = figure()
ax = f.add_subplot(projection="3d")
ax = f.add_subplot(1,1,1,projection="3d")
if trace:
ax.plot(X, Y, Z, ':', color=[0.3, 0.3, 0.3])
if labels is None:
Expand Down Expand Up @@ -240,4 +240,4 @@ def getDomainList(labels):
ends = sites[1:]
domains = np.array([starts, ends]).T

return domains
return domains
4 changes: 2 additions & 2 deletions prody/dynamics/plotting.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ def showEllipsoid(modes, onto=None, n_std=2, scale=1., *args, **kwargs):
show = child
break
if show is None:
show = cf.add_subplot(projection="3d")
show = cf.add_subplot(111,projection="3d")
show.plot_wireframe(x, y, z, rstride=6, cstride=6, *args, **kwargs)
if onto is not None:
onto = list(onto)
Expand Down Expand Up @@ -421,7 +421,7 @@ def showProjection(ensemble=None, modes=None, projection=None, *args, **kwargs):
show = child
break
if show is None:
show = cf.add_subplot(projection="3d")
show = cf.add_subplot(111,projection="3d")
plot = show.plot
text = show.text

Expand Down
3 changes: 2 additions & 1 deletion prody/dynamics/sampling.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,10 @@ def sampleModes(modes, atoms=None, n_confs=1000, rmsd=1.0):
RMSD of the new conformation from :math:`R_0` can be calculated as
.. math::
RMSD^k = \\sqrt{ {\\left( s \\sum_{i=1}^{m} r_i^k \\lambda^{-0.5}_i u_i \\right)}^{2} / N } = \\frac{s}{ \\sqrt{N}} \\sqrt{ \\sum_{i=1}^{m} (r_i^k)^2 \\lambda^{-1}_i }
RMSD^k = \\sqrt{ \\left[ s \\sum_{i=1}^{m} r_i^k \\lambda^{-0.5}_i u_i \\right] ^{2} / N } = \\frac{s}{ \\sqrt{N}} \\sqrt{ \\sum_{i=1}^{m} (r_i^k)^2 \\lambda^{-1}_i }
Average :math:`RMSD` of the generated conformations from the initial conformation is:
Expand Down
28 changes: 24 additions & 4 deletions prody/proteins/fixer.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def addMissingAtoms(infile, method='openbabel', pH=7.0, outfile=None, **kwargs):
or PDBFixer with OpenMM.
There are also options whether to *model_residues* (default False), *remove_heterogens*
(default False), *keep_waters* (default True), *overwrite* (default False).
(default False), *keep_waters* (default True), *overwrite* (default False), *keep_ids* (default True).
:arg infile: PDB file name
:type infile: str
Expand All @@ -41,9 +41,17 @@ def addMissingAtoms(infile, method='openbabel', pH=7.0, outfile=None, **kwargs):
default is 'openbabel'
:type method: str
:arg pH: pH value applyed only for PDBfixer.
:arg pH: pH value applied only for PDBfixer.
:type pH: int, float
:arg model_residues: add all missing atoms from residues, applied only for PDBfixer.
default is False
:type model_residues: bool
:arg keep_ids: keep the original residue number, applied only for PDBfixer.
default is True
:type keep_ids: bool
Instalation of Openbabel:
conda install -c conda-forge openbabel
Expand All @@ -58,6 +66,7 @@ def addMissingAtoms(infile, method='openbabel', pH=7.0, outfile=None, **kwargs):
remove_heterogens = kwargs.get("remove_heterogens", False)
keep_water = kwargs.get("keep_water", True)
overwrite = kwargs.get("overwrite", False)
keep_ids = kwargs.get("keep_ids", True)

import os

Expand All @@ -70,6 +79,9 @@ def addMissingAtoms(infile, method='openbabel', pH=7.0, outfile=None, **kwargs):
if not isinstance(keep_water, bool):
raise TypeError('keep_water should be True or False')

if not isinstance(keep_ids, bool):
raise TypeError('keep_ids should be True or False')

if not isinstance(overwrite, bool):
raise TypeError('overwrite should be True or False')

Expand Down Expand Up @@ -136,7 +148,7 @@ def addMissingAtoms(infile, method='openbabel', pH=7.0, outfile=None, **kwargs):
fixer.findMissingAtoms()
fixer.addMissingAtoms()
fixer.addMissingHydrogens(pH)
PDBFile.writeFile(fixer.topology, fixer.positions, open(outfile, 'w'))
PDBFile.writeFile(fixer.topology, fixer.positions, open(outfile, 'w'), keepIds=keep_ids)
LOGGER.info("Hydrogens were added to the structure. New structure is saved as {0}.".format(outfile))

except ImportError:
Expand Down Expand Up @@ -165,8 +177,16 @@ def fixStructuresMissingAtoms(infiles, method='openbabel', pH=7.0, outfiles=None
'pdbfixer': PDBFixer and OpenMM
default is 'openbabel'
:type method: str
:arg model_residues: add all missing atoms from residues, applied only for PDBfixer.
default is False
:type model_residues: bool
:arg keep_ids: keep the original residue number, applied only for PDBfixer.
default is True
:type keep_ids: bool
:arg pH: pH value applyed only for PDBfixer.
:arg pH: pH value applied only for PDBfixer.
:type pH: int, float
Instalation of Openbabel:
Expand Down
2 changes: 1 addition & 1 deletion prody/proteins/functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ def showProtein(*atoms, **kwargs):
show = child
break
if show is None:
show = cf.add_subplot(projection="3d")
show = cf.add_subplot(1,1,1,projection="3d")
from matplotlib import colors
cnames = dict(colors.cnames)
wcolor = kwargs.get('water', 'red').lower()
Expand Down
Loading

0 comments on commit daf8124

Please sign in to comment.