Skip to content

Commit

Permalink
Merge branch 'prody:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
karolamik13 authored Aug 23, 2024
2 parents 93a261e + eddc7df commit 987d185
Show file tree
Hide file tree
Showing 29 changed files with 364 additions and 88 deletions.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
This is a first draft, which is based on the ProDy website page http://prody.csb.pitt.edu/manual/devel/develop.html. Please see that page for updates.
This is a first draft, which is based on the ProDy website page http://www.bahargroup.org/prody/manual/devel/develop.html. Please see that page for updates.


Install Git and a GUI
Expand Down
1 change: 1 addition & 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 Down
14 changes: 7 additions & 7 deletions PKG-INFO
Original file line number Diff line number Diff line change
Expand Up @@ -32,23 +32,23 @@ Description: .. image:: https://secure.travis-ci.org/prody/ProDy.png?branch=mast
You can run ProDy on all major platforms. For download and installation
instructions see:

* http://prody.csb.pitt.edu/downloads
* http://www.bahargroup.org/prody/downloads


DOCUMENTATION
-------------

* Homepage: http://prody.csb.pitt.edu/
* Homepage: http://www.bahargroup.org/prody/

* Tutorials: http://prody.csb.pitt.edu/tutorials
* Tutorials: http://www.bahargroup.org/prody/tutorials

* Reference: http://prody.csb.pitt.edu/manual
* Reference: http://www.bahargroup.org/prody/manual

* Applications: http://prody.csb.pitt.edu/manual/apps
* Applications: http://www.bahargroup.org/prody/manual/apps

* NMWiz GUI: http://prody.csb.pitt.edu/nmwiz
* NMWiz GUI: http://www.bahargroup.org/prody/nmwiz

* Changes: http://prody.csb.pitt.edu/manual/release
* Changes: http://www.bahargroup.org/prody/manual/release


SOURCE CODE
Expand Down
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
2 changes: 1 addition & 1 deletion docs/apps/prody/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,4 @@ the output files are prefixed with :file:`p38_anm`::

The output file :file:`p38_anm.nmd` can be visualized using `NMWiz`_.

.. _NMWiz: http://prody.csb.pitt.edu/nmwiz/
.. _NMWiz: http://www.bahargroup.org/prody/nmwiz/
6 changes: 3 additions & 3 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -158,13 +158,13 @@
'numpy': ('http://docs.scipy.org/doc/numpy/', None),
'scipy': ('http://docs.scipy.org/doc/scipy/reference/', None),
'matplotlib': ('http://matplotlib.sourceforge.net/', None),
'prodywebsite': ('http://prody.csb.pitt.edu/', None),
'prodywebsite': ('http://www.bahargroup.org/prody/', None),
}

rst_epilog = u"""
.. _ProDy: http://prody.csb.pitt.edu
.. _Tutorials: http://prody.csb.pitt.edu/tutorials
.. _ProDy: http://www.bahargroup.org/prody
.. _Tutorials: http://www.bahargroup.org/prody/tutorials
.. _NMWiz: http://csb.pitt.edu/NMWiz
.. _VMD: http://www.ks.uiuc.edu/Research/vmd
.. _PDB: http://www.pdb.org
Expand Down
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/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ ProDy Manual
.. only:: rtd and html

This is a partial copy of ProDy documentation. Please visit
`ProDy Homepage <http://prody.csb.pitt.edu>`_ for complete
`ProDy Homepage <http://www.bahargroup.org/prody>`_ for complete
documentation with tutorials.


Expand Down
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
19 changes: 14 additions & 5 deletions prody/compounds/pdbligands.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
from prody import LOGGER, SETTINGS, getPackagePath, PY3K
from prody.atomic import AtomGroup, ATOMIC_FIELDS
from prody.utilities import openFile, makePath, openURL
from .ccd import parseCCD

__all__ = ['PDBLigandRecord', 'fetchPDBLigand', 'parsePDBLigand']

Expand All @@ -18,13 +19,20 @@ def __init__(self, data):
self._rawdata = data

def getCanonicalSMILES(self):
return self._rawdata['CACTVS_SMILES_CANONICAL']
canonical = None
for row in self._rawdata[2].data:
if row['_pdbx_chem_comp_descriptor.type'] == 'SMILES_CANONICAL':
canonical = row['_pdbx_chem_comp_descriptor.descriptor']
return canonical


def fetchPDBLigand(cci, filename=None):
"""Fetch PDB ligand data from PDB_ for chemical component *cci*.
"""Handle PDB ligand data from PDB_ for chemical component *cci*.
*cci* may be 3-letter chemical component identifier or a valid XML
filename. If *filename* is given, XML file will be saved with that name.
filename. If *filename* is given, XML file will be saved with that name.
This function may not work as _PDB is not hosting ligand XML files anymore.
It is kept for use with existing ligand XML files.
If you query ligand data frequently, you may configure ProDy to save XML
files in your computer. Set ``ligand_xml_save`` option **True**, i.e.
Expand All @@ -50,6 +58,7 @@ def fetchPDBLigand(cci, filename=None):
ideal (energy minimized) coordinate sets:
.. ipython:: python
:okexcept:
from prody import *
ligand_data = fetchPDBLigand('STI')
Expand Down Expand Up @@ -233,8 +242,8 @@ def fetchPDBLigand(cci, filename=None):
return dict_


def parsePDBLigand(cci, filename=None):
def parsePDBLigand(cci):
"""See :func:`.fetchPDBLigand`"""
lig_dict = fetchPDBLigand(cci, filename)
lig_dict = parseCCD(cci)
return PDBLigandRecord(lig_dict)

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
2 changes: 1 addition & 1 deletion prody/ensemble/functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,7 @@ def buildPDBEnsemble(atomics, ref=None, title='Unknown', labels=None, atommaps=N

if 'mapping_func' in kwargs:
raise DeprecationWarning('mapping_func is deprecated. Please see release notes for '
'more details: http://prody.csb.pitt.edu/manual/release/v1.11_series.html')
'more details: http://www.bahargroup.org/prody/manual/release/v1.11_series.html')
start = time.time()

if not isListLike(atomics):
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
10 changes: 5 additions & 5 deletions prody/proteins/interactions.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ def calcHydrophobicOverlapingAreas(atoms, **kwargs):
:arg selection: selection string of hydrophobic residues
:type selection: str
:arg hpb_cutoff: cutoff for hydrophobic overlaping area values
:arg hpb_cutoff: cutoff for hydrophobic overlapping area values
default is 0.0
:type hpb_cutoff: float, int
Expand Down Expand Up @@ -200,7 +200,7 @@ def calcHydrophobicOverlapingAreas(atoms, **kwargs):
lA = [ [x[i] + str(y[i]), z[i] +'_'+ str(w[i]), ch[i]] for i in range(len(x))]

output = hpb.hpb((lB,lA))
LOGGER.info("Hydrophobic Overlaping Areas are computed.")
LOGGER.info("Hydrophobic Overlapping Areas are computed.")
output_final = [i for i in output if i[-1] >= hpb_cutoff]

if cumulative_values == None:
Expand Down Expand Up @@ -1000,11 +1000,11 @@ def calcHydrophobic(atoms, **kwargs):
non_standard works too
:type non_standard_Hph: dict
:arg zerosHPh: zero values of hydrophobic overlaping areas included
:arg zerosHPh: zero values of hydrophobic overlapping areas included
default is False
:type zerosHPh: bool
Last value in the output corresponds to the total hydrophobic overlaping area for two residues
Last value in the output corresponds to the total hydrophobic overlapping area for two residues
not only for the atoms that are included in the list. Atoms that which are listed are the closest
between two residues and they will be inluded to draw the line in VMD_.
Expand Down Expand Up @@ -1065,7 +1065,7 @@ def calcHydrophobic(atoms, **kwargs):
aromatic_nr = list(set(zip(atoms.aromatic.getResnums(),atoms.aromatic.getChids())))
aromatic = list(set(atoms.aromatic.getResnames()))

# Computing hydrophobic overlaping areas for pairs of residues:
# Computing hydrophobic overlapping areas for pairs of residues:
try:
hpb_overlaping_results = calcHydrophobicOverlapingAreas(atoms_hydrophobic, cumulative_values='pairs')
except:
Expand Down
Loading

0 comments on commit 987d185

Please sign in to comment.