Skip to content

Commit

Permalink
Merge branch 'main' of github.com:prody/ProDy into deprec
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesmkrieger committed Sep 19, 2024
2 parents 74256a0 + 9639506 commit dee7bdc
Show file tree
Hide file tree
Showing 186 changed files with 989,619 additions and 1,153 deletions.
13 changes: 7 additions & 6 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,29 +13,30 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["2.7", "3.7", "3.8", "3.9", "3.10"]
python-version: ["2.7", "3.8", "3.9", "3.10", "3.11"]

steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: MatteoH2O1999/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Add conda to system path
run: |
echo $CONDA/bin >> $GITHUB_PATH
- name: Install dependencies
run: |
if [[ ${{ matrix.python-version }} == "3.11" ]]; then conda config --add channels conda-forge; fi
if [[ ${{ matrix.python-version }} != "2.7" ]]; then conda config --add channels conda-forge; fi
conda create --yes -n test python=${{ matrix.python-version }}
source activate test
conda install --yes numpy scipy nose pyparsing biopython requests
if [[ ${{ matrix.python-version }} == "2.7" ]]; then conda install --yes unittest2; fi
conda install --yes numpy scipy nose requests
if [[ ${{ matrix.python-version }} == "2.7" ]]; then conda install --yes unittest2; else conda install --yes pdbfixer mdtraj; fi
pip install mmtf-python scikit-learn
pip install .
python setup.py build_ext --inplace --force
- name: Test with pytest
run: |
source activate test
conda install --yes pytest
pytest
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,12 @@ __pycache__
*.nmd
*.pdb
*.pdb.gz
*.cif
*.cif.gz
*.mmtf
*.map
*.mrc
*.dcd

# Docs
/docs/_build/
Expand Down
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
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
20 changes: 10 additions & 10 deletions PKG-INFO
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: ProDy
Version: 2.3.1
Version: 2.5.0
Summary: A Python Package for Protein Dynamics Analysis
Home-page: http://www.csb.pitt.edu/ProDy
Author: James Krieger, She Zhang, Hongchun Li, Cihan Kaya, Ahmet Bakan, and others
Expand Down 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 Expand Up @@ -92,7 +92,7 @@ Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Chemistry
Requires: numpy (>=1.10)
Requires: pyparsing
Requires: pyparsing (<=3.1.1)
Requires: biopython
Requires: scipy
Provides: prody (2.1.2)
Provides: prody
90 changes: 80 additions & 10 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.. image:: https://img.shields.io/travis/prody/ProDy.svg
:target: http://travis-ci.org/#!/prody/ProDy
.. image:: https://img.shields.io/github/actions/workflow/status/prody/prody/main.yml
:target: https://github.com/prody/ProDy/actions/workflows/main.yml

.. image:: https://img.shields.io/pypi/v/ProDy.svg
:target: https://pypi.org/project/ProDy/
Expand All @@ -8,7 +8,7 @@
:target: https://github.com/prody/ProDy/commits/master

.. image:: https://img.shields.io/pypi/dm/ProDy.svg
:target: http://prody.csb.pitt.edu/downloads/
:target: http://www.bahargroup.org/prody/downloads/

SYNOPSIS
--------
Expand All @@ -20,30 +20,83 @@ API is for interactive usage as well as application development. ProDy also
comes with several analysis applications and a graphical user interface for
visual analysis.

Further details are described in the ProDy papers:

| Bakan A, Meireles LM, Bahar I.
| *ProDy*: Protein Dynamics Inferred from Theory and Experiments.
| *Bioinformatics* **2011** 27(11):1575-1577.
| Bakan A, Dutta A, Mao W, Liu Y, Chennubhotla C, Lezon TR, Bahar I.
| *Evol* and *ProDy* for Bridging Protein Sequence Evolution and Structural Dynamics.
| *Bioinformatics* **2014** 30(18):2681-2683.
| Zhang S, Krieger JM, Zhang Y, Kaya C, Kaynak B, Mikulska-Ruminska K, Doruker P, Li H, Bahar I.
| *ProDy* 2.0: Increased Scale and Scope after 10 Years of Protein Dynamics Modelling with Python.
| *Bioinformatics* **2021** 37(20):3657-3659.
MODULES
--------

ProDy has a modular structure with modules inside various subpackages.

The main ones are:

- :mod:`~prody.atomic`` handles all :class:`~prody.atomic.Atomic` objects including :class:`~prody.atomic.AtomGroup` and :class:`.Selection`

- :mod:`~prody.database` interfaces with databases such as CATH, DALI, UniProt and Pfam

- :mod:`~prody.dynamics` provides all the modules for normal mode analysis with various elastic network models,
as well as PCA, SignDy (:mod:`~prody.dynamics.signature`), hybrid methods such as :mod:`~prody.dynamics.clustenm`,
allosteric signal propagation methods :mod:`~prody.dynamics.perturb` (PRS) and :func:`~prody.dynamics.analysis.calcHitTime` (Markovian hitting time),
and various analysis and plotting functions.

- :mod:`~prody.ensemble` enables construction of heterogeneous structural ensembles for exploring dynamics from experiments and simulations

- :mod:`~prody.proteins` provides various modules for parsing different kinds of protein structure files including PDB, mmCIF, MMTF and maps,
as well as tools to align and compare structures, and analysis of :mod:`~prody.proteins.interactions` within and between proteins (InSty) and
find :mod:`~prody.proteins.waterbridges` (WatFinder).

- :mod:`~prody.sequence` has all the sequence alignment and evolutionary analysis tools of Evol


Smaller ones include:

- :mod:`~prody.chromatin` specific to chromatin dynamics (ChromDy) including :mod:`~prody.chromatin.hic` and :mod:`~prody.chromatin.cluster`

- :mod:`~prody.compounds` for parsing small molecule compounds/ligands from the PDB and related databases

- :mod:`~prody.domain_decomposition` for Spectrus dynamical domain decomposition

- :mod:`~prody.trajectory` for trajectories in DCD format

- :mod:`~prody.utilities`


GETTING PRODY
-------------

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://www.bahargroup.org/prody/tutorials

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

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

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

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

* Changes: http://prody.csb.pitt.edu/manual/release
See also https://github.com/prody/ProDy-website for latest versions.


SOURCE CODE
Expand Down Expand Up @@ -72,3 +125,20 @@ with ProDy. The original CE method was developed by Ilya Shindyalov and Philip
Bourne. The Python version which is used by ProDy is developed by Jason Vertrees
and available under the New BSD license.

Hbp module: The calculation of hydrophobic interactions, solvent accessible surface
area (SASA) and volume for each residue is using geometric methods based on the
information of the atoms in the molecule. The methods have been programmed in C++
and can be compiled as a python module “hpb.so” which is then used by ProDy.
Files for compilation are stored at prody/proteins/hpbmodule folder and
required C++ and Fortran compiler. After compilation hpb.so file can be
stored in prody/proteins folder in ProDy or in the local directory which
is used to perform calulations. The precompiled versions for Python 2.7,
3.8, 3.9, and 3.10 are availabe in prody/proteins/hpbmodule. The user can
choose the correct version of hpb.so and copy to the prody/proteins or
local directory.

C++ code of hpb.so was developed by Xin Cao and Fortran code by Xin Cao,
Michelle H. Hummel, Bihua Yu, and Evangelos A. Coutsias (License in
prody/proteins/hpbmodule folder). Details of the method can be found
in the Supplementary Material of InSty manuscript
(soon will be submitted for publication).
44 changes: 34 additions & 10 deletions docs/about/people.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,25 @@ 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` and :mod:`.dynamics.essa`,
and is in the process of adding other modules too.
:mod:`.domain_decomposition`, :mod:`.dynamics.essa`, and
:mod:`.dynamics.clustenm`.

`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*), in addition to being the developer of :mod:`.dynamics.mechstiff` (*MechStiff*).

`Anthony Bogetti`_ is overseeing the overall development of *ProDy* since
2024.

`Anindita Dutta`_ contributed to the development of *Evol*,
:mod:`.database` and :mod:`.sequence` modules.
Expand All @@ -43,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 @@ -52,6 +67,8 @@ contributions and feedback from the following individuals:

`Ying Liu`_ provided the code for Perturbation Response Scanning method.

`Frane Doljanin`_ provided the code for the water bridge detection.

`Kian Ho`_ contributed with bug fixes and unit tests for DSSP functions.

`Gökçen Eraslan`_ contributed with bug fixes and development and maintenance
Expand All @@ -60,18 +77,25 @@ 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.ccbb.pitt.edu/faculty/bahar/
.. _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/
.. _Tim Lezon: http://www.csb.pitt.edu/Faculty/Lezon/
.. _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/
.. _Hongchun Li: http://www.pitt.edu/~hongchun/
.. _James Krieger: http://www.csb.pitt.edu/Faculty/bahar/lab.html
.. _Yan Zhang: https://www.csb.pitt.edu/Faculty/bahar/lab.html
.. _Burak Kaynak: https://www.csb.pitt.edu/Faculty/bahar/lab.html
.. _James Krieger: https://scholar.google.pl/citations?user=DoiCjkUAAAAJ&hl=pl
.. _Yan Zhang: https://scholar.google.pl/citations?user=VxwU0pgAAAAJ&hl=pl&oi=sra
.. _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
.. _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/
10 changes: 5 additions & 5 deletions docs/apps/prody/prody.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
usage: prody [-h] [-c] [-v]
{anm,gnm,pca,eda,align,blast,biomol,catdcd,contacts,fetch,select}
...
usage: prody [-h] [-c] [-v] {anm,gnm,pca,eda,align,blast,biomol,catdcd,contacts,fetch,select,energy,clustenm} ...

ProDy: A Python Package for Protein Dynamics Analysis

Expand All @@ -10,8 +8,8 @@ optional arguments:
-v, --version print ProDy version and exit

subcommands:
{anm,gnm,pca,eda,align,blast,biomol,catdcd,contacts,fetch,select}
anm perform anisotropic network model calculations
{anm,gnm,pca,eda,align,blast,biomol,catdcd,contacts,fetch,select,energy,clustenm}
anm perform anisotropic network model normal mode analysis calculations
gnm perform Gaussian network model calculations
pca perform principal component analysis calculations
eda perform essential dynamics analysis calculations
Expand All @@ -22,5 +20,7 @@ subcommands:
contacts identify contacts between a target and ligand(s)
fetch fetch a PDB file
select select atoms and write a PDB file
energy fix missing atoms, solvate, minimise and calculate energy
clustenm run clustenm(d) simulations

See 'prody <command> -h' for more information on a specific command.
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
Loading

0 comments on commit dee7bdc

Please sign in to comment.