Skip to content

Commit

Permalink
Merge branch 'master' of github.com:prody/ProDy into writeScipion_norm
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesmkrieger committed Apr 9, 2024
2 parents d24183c + 434c1ea commit 539d84b
Show file tree
Hide file tree
Showing 197 changed files with 1,323,113 additions and 1,760 deletions.
13 changes: 8 additions & 5 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,27 +13,30 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [2.7, 3.5, 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 }} != "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
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
23 changes: 0 additions & 23 deletions .travis.yml

This file was deleted.

2 changes: 1 addition & 1 deletion INSTALL.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Installation
Required Software
-----------------

* `Python`_ 2.7, 3.5 or later. We recommend using `Anaconda`_, which provides the conda package and environment manager as well as many useful packages.
* `Python`_ 2.7, 3.6 or later. We recommend using `Anaconda`_, which provides the conda package and environment manager as well as many useful packages.

.. _Anaconda: https://www.anaconda.com/products/individual

Expand Down
6 changes: 3 additions & 3 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.0
Version: 2.4.1
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 @@ -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.0)
Provides: prody
69 changes: 69 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,57 @@ 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
-------------
Expand All @@ -45,6 +96,8 @@ DOCUMENTATION

* 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,19 @@ 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).
3 changes: 2 additions & 1 deletion docs/apps/docapps.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@

import os
import imp
import importlib
from subprocess import Popen, PIPE

path = [imp.find_module('prody')[1]]
path = [importlib.util.find_spec("prody").submodule_search_locations[0]]
apps = imp.load_module('prody.apps',
*imp.find_module('apps', path))

Expand Down
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.
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,8 @@
'issue': ('https://github.com/prody/ProDy/issues/%s', 'issue '),
'pdb': ('http://www.pdb.org/pdb/explore/explore.do?structureId=%s', ''),
'wiki': ('http://en.wikipedia.org/wiki/%s', ''),
'pfam': ('http://pfam.xfam.org/family/%s', ''),
'pfamprotein': ('http://pfam.xfam.org/protein/%s', ''),
'pfam': ('http://pfam-legacy.xfam.org/family/%s', ''),
'pfamprotein': ('http://pfam-legacy.xfam.org/protein/%s', ''),
'uniprot': ('http://www.uniprot.org/uniprot/%s', ''),
'pdbhet': ('http://www.pdb.org/pdb/ligand/ligandsummary.do?hetId=%s', ''),
}
Expand Down
8 changes: 4 additions & 4 deletions docs/devel/develop.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ creating a copy of the repository in your account. You will see
a link for this on ProDy_ source code page. You will have write access to
this fork and later will use it share your changes with others.

The next step is cloning the fork from your online account to your local
The next step is cloning the fork from your online account (e.g. jamesmkrieger) to your local
system. If you are not using the GitHub software, you can do it as follows::

$ git clone https://github.com/prody/ProDy.git
$ git clone https://github.com/jamesmkrieger/ProDy.git

This will create :file:`ProDy` folder with a copy of the project files in it::

Expand Down Expand Up @@ -140,10 +140,10 @@ repository as a remote to your local copy. You can do this running the
following command from the ProDy project folder::

$ cd prody
$ git remote add prodymaster [email protected]:abakan/ProDy.git
$ git remote add prodymaster [email protected]:prody/ProDy.git


You may use any name other than `prodymaster`, but `origin`, which points to
You may use any name other than `prodymaster`, except for `origin`, which points to
the ProDy fork in your account.

After setting up this remote, calling :program:`git pull` command will
Expand Down
2 changes: 1 addition & 1 deletion docs/docs
6 changes: 6 additions & 0 deletions docs/reference/apps/prody_clustenm.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
ANM Application
===============

.. automodule:: prody.apps.prody_apps.prody_clustenm
:members:
:undoc-members:
4 changes: 2 additions & 2 deletions docs/reference/dynamics/signature.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Signature Dynamics of Protein Families
======================================
Signature Dynamics of Protein Families (SignDy)
===============================================

.. automodule:: prody.dynamics.signature
:members:
6 changes: 6 additions & 0 deletions docs/reference/proteins/interactions.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Interactions and Stability (InSty)
===================================

.. automodule:: prody.proteins.interactions
:members:
:undoc-members:
6 changes: 6 additions & 0 deletions docs/reference/proteins/waterbridges.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Water bridge finder (WatFinder)
===================================

.. automodule:: prody.proteins.waterbridges
:members:
:undoc-members:
52 changes: 52 additions & 0 deletions docs/release/v2.1_series.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
ProDy 2.1 Series
===============================================================================

.. contents::
:local:

2.1.2 (April 27, 2022)
------------------------------------------------------------------------------

**Bug Fixes and Improvements**:

* New :function:`.showRMSFlucts` and :function:`.calcRMSFlucts` for root-mean-square fluctuations

* fix to :function:`.showAtomicLines` for overlaying multiple chains

2.1.1 (April 18, 2022)
------------------------------------------------------------------------------

**Bug Fixes and Improvements**:

* :function:`.parseScipionModes` can handle having a pdb file or not

* fix to mmCIF header parsing for chemicals in blocks not loops

2.1.0 (April 8, 2022)
------------------------------------------------------------------------------

**New Features**:

*Integration with Scipion*

* New functions :function:`.parseScipionModes`, :function:`.writeScipionModes`
and :function:`.calcScipionScore`

* New argument *--export-scipion* (*-S*) in prody apps

*Other*

* Added :function:`.assignBlocks` for assigning blocks for RTB

* Added mmCIF header parsing to create the same header dictionary as PDB header,
including secstr information and biomolecular assembly building

* New arguments for prody apps, including altloc, zeros, sparse, kdtree and turbo

**Bug Fixes and Improvements**:

* Improvement to cealign mapping to be faster for protein only alignment

* Bug fix for writing psf files

**Full Changelog**: https://github.com/prody/ProDy/compare/v2.0.2...v2.1.0
26 changes: 26 additions & 0 deletions docs/release/v2.2_series.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
ProDy 2.2 Series
===============================================================================

.. contents::
:local:

2.2.0 (May 19, 2022)
------------------------------------------------------------------------------

**Bug Fixes and Improvements**:

* Updates to :function:`.parseScipionModes`` to use sqlite and xmd metadata files
and handle eigenvalues

* Actual fix to logging so LOGGER.progress doesn't override logging level

* Updates to the PCA app to better handle number of modes for Scipion

* New arguments sparse, kdtree and turbo for :class:`.ClustENM`, allowing
better control of ANM calculations.

* Another bug fix for mmCIF header parsing

* Bug fix for parsing CONECT bond records from PDB files

**Full Changelog**: https://github.com/prody/ProDy/compare/v2.1.2...v2.2.0
Loading

0 comments on commit 539d84b

Please sign in to comment.