Skip to content

Commit

Permalink
Merge branch 'master' of github.com:prody/ProDy into scipion-clean
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesmkrieger committed Aug 7, 2023
2 parents 211c5df + a22c4cc commit 9957e2b
Show file tree
Hide file tree
Showing 99 changed files with 390,043 additions and 1,131 deletions.
8 changes: 5 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,25 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [2.7, 3.5, 3.9, '3.10']
python-version: ["2.7", "3.7", "3.8", "3.9", "3.10"]

steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: MatteoH2O1999/setup-python@v1
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
conda create --yes -n test python=${{ matrix.python-version }}
source activate test
conda install --yes numpy scipy nose pyparsing biopython
conda install --yes numpy scipy nose pyparsing requests
if [[ ${{ matrix.python-version }} == "2.7" ]]; then conda install --yes unittest2; fi
pip install .
python setup.py build_ext --inplace --force
- name: Test with pytest
run: |
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ __pycache__
*.nmd
*.pdb
*.pdb.gz
*.cif
*.cif.gz

# 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
4 changes: 2 additions & 2 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.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 @@ -95,4 +95,4 @@ Requires: numpy (>=1.10)
Requires: pyparsing
Requires: biopython
Requires: scipy
Provides: prody (2.0)
Provides: prody (2.1.2)
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
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
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
32 changes: 32 additions & 0 deletions docs/release/v2.3_series.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
ProDy 2.3 Series
===============================================================================

.. contents::
:local:

2.3.1 (Nov 15, 2022)
------------------------------------------------------------------------------

**Bug Fixes and Improvements**:

* use of 4-char hybrid36 (residue version) for biomol segnames
* remove pfam tests
* remove python 3.5 support

2.3.0 (Nov 12, 2022)
------------------------------------------------------------------------------

**New Features**:

* new Gamma function class from GOdMD
* added prody energy app based on ClustENM

**Bug Fixes and Improvements**:

* restored matrix option to dfi and dci
* pfam migrated to pfam-legacy
* fix to apps for broken imp.find_module
* various other fixes including to mmCIF parsing and alignments


**Full Changelog**: https://github.com/prody/ProDy/compare/v2.2.0...v2.3.0
42 changes: 42 additions & 0 deletions docs/release/v2.4_series.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
ProDy 2.4 Series
===============================================================================

.. contents::
:local:


2.4.0 (Feb 2, 2023)
------------------------------------------------------------------------------

**New Features**:

* New function alignBioPairwise to address Biopython deprecation
* Added gromos rmsd clustering
* New data_type option for refineEnsemble to use seqid instead of rmsd
* New ignore_ids option for mergeMSA to use different ids for interacting proteins

**Bug Fixes and Improvements**:

* Fixed error during writeout PQR file
* Proper handling of fragments when bonds are absent
* Setting the atoms for ensemble even if the atoms is a subset
* Allowing setFlags to take scalar values
* Transpose princ axes matrix to get columns
* New flag selpdbter to keep ter lines in selections
* No sorting of strands in writing
* Add cif datafiles to setup
* Select app help fix
* Fixes to mmcif parsing
* Improvements to cutoffs in Dali filtering
* Fix to protein definition
* Set matrix interactive to false and fix to axes3d usage for matplotlib 3.6
* Improved requirements
* Fix to fetchPDB for files with two dots but not gz ending

**New Contributors**:

* @changephilip made their first contribution in https://github.com/prody/ProDy/pull/1618
* @odcambc made their first contribution in https://github.com/prody/ProDy/pull/1634
* @hrnciar made their first contribution in https://github.com/prody/ProDy/pull/1372

**Full Changelog**: https://github.com/prody/ProDy/compare/v2.3.1...v2.4.0
6 changes: 3 additions & 3 deletions prody/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""ProDy is a package for Protein Dynamics, Sequence, and Structure Analysis"""

__version__ = '2.0.2'
__version__ = '2.4.0'
__release__ = __version__ # + '-dev' # comment out '-dev' before a release

import sys
Expand All @@ -11,8 +11,8 @@
sys.exit()

if sys.version_info[0] == 3:
if sys.version_info[1] < 4:
sys.stderr.write('Python 3.4 and older is not supported\n')
if sys.version_info[1] < 6:
sys.stderr.write('Python 3.5 and older is not supported\n')
sys.exit()

try:
Expand Down
6 changes: 5 additions & 1 deletion prody/apps/evol_apps/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""This module defines some sequence evolution applications."""

import imp
import importlib
import sys

try:
Expand All @@ -10,7 +11,10 @@

from ..apptools import *

path_prody = imp.find_module('prody')[1]
if sys.version_info[0] == 2:
path_prody = imp.find_module('prody')[1]
else:
path_prody = importlib.util.find_spec("prody").submodule_search_locations[0]
path_apps = imp.find_module('apps', [path_prody])[1]
path_apps = imp.find_module('evol_apps', [path_apps])[1]

Expand Down
8 changes: 6 additions & 2 deletions prody/apps/prody_apps/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""This module defines structure and dynamics analysis applications."""

import imp
import importlib
import sys

try:
Expand All @@ -10,12 +11,15 @@

from ..apptools import *

path_prody = imp.find_module('prody')[1]
if sys.version_info[0] == 2:
path_prody = imp.find_module('prody')[1]
else:
path_prody = importlib.util.find_spec("prody").submodule_search_locations[0]
path_apps = imp.find_module('apps', [path_prody])[1]
path_apps = imp.find_module('prody_apps', [path_apps])[1]

PRODY_APPS = ['anm', 'gnm', 'pca', 'eda', 'align', 'blast', 'biomol',
'catdcd', 'contacts', 'fetch', 'select',]
'catdcd', 'contacts', 'fetch', 'select', 'energy']

__all__ = ['prody_main']

Expand Down
13 changes: 11 additions & 2 deletions prody/apps/prody_apps/nmaoptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
('outeig', 'write eigenvalues/vectors', False),
('outcov', 'write covariance matrix', False),
('outnpz', 'write compressed ProDy data file', False),
('npzmatrices', 'write matrix to compressed ProDy data file', False),
('outscipion', 'write continuousflex modes directory and sqlite', False),
('outcc', 'write cross-correlations', False),
('outhm', 'write cross-correlations heatmap file', False),
Expand All @@ -36,7 +37,8 @@
('figdpi', 'figure resolution (dpi)', 300),
('figall', 'save all figures', False),
('figcc', 'save cross-correlations figure', False),
('figsf', 'save square-fluctuations figure', False),]:
('figsf', 'save square-fluctuations figure', False),
('nproc', 'number of processors', 0),]:

DEFAULTS[key] = val
HELPTEXT[key] = txt
Expand All @@ -55,7 +57,7 @@ def addNMAParameters(parser):
help=HELPTEXT['nmodes'] + ' (default: %(default)s)')

parser.add_argument('-s', '--select', dest='select', type=str,
default=DEFAULTS['select'], metavar='SEL',
default=DEFAULTS['select'], metavar='STR',
help=HELPTEXT['select'] + ' (default: "%(default)s")')

return parser
Expand Down Expand Up @@ -95,13 +97,20 @@ def addNMAOutput(parser):
parser.add_argument('-z', '--npz', dest='outnpz', action='store_true',
default=DEFAULTS['outnpz'], help=HELPTEXT['outnpz'])

parser.add_argument('-Z', '--npzmatrices', dest='npzmatrices', action='store_true',
default=DEFAULTS['npzmatrices'], help=HELPTEXT['npzmatrices'])

parser.add_argument('-S', '--export-scipion', dest='outscipion', action='store_true',
default=DEFAULTS['outscipion'], help=HELPTEXT['outscipion'])

parser.add_argument('-t', '--extend', dest='extend', type=str,
metavar='STR', choices=set(['bb', 'all', 'backbone']),
help=HELPTEXT['extend'])

parser.add_argument('-P', '--number-of-processors', dest='nproc', type=int,
default=DEFAULTS['nproc'], metavar='INT',
help=HELPTEXT['nproc'] + ' (default: %(default)s meaning use all)')

return parser


Expand Down
Loading

0 comments on commit 9957e2b

Please sign in to comment.