diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fd232f26a..bcdb672ae 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,43 +1,40 @@ -# This is a basic workflow to help you get started with Actions - name: CI - -# Controls when the action will run. on: [push, pull_request, workflow_dispatch] -# A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: - # This workflow contains a single job called "build" build: - runs-on: ubuntu-latest + # run once for each OS / Python combo + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: + os: [ubuntu-latest, macos-latest] python-version: ["3.10", "3.11", "3.12"] steps: - - uses: actions/checkout@v2 - - name: Set up Python ${{ matrix.python-version }} - 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: | - conda create --yes -n test python=${{ matrix.python-version }} - source activate test - conda config --add channels conda-forge - conda install --yes numpy scipy nose requests - conda install --yes pdbfixer mdtraj openmm - conda install -c bioconda clustalw - 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 - + - uses: actions/checkout@v2 + + - name: Set up Python ${{ matrix.python-version }} + uses: MatteoH2O1999/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Add conda to PATH + run: echo $CONDA/bin >> $GITHUB_PATH + + - name: Install dependencies & build + run: | + conda create -n test python=${{ matrix.python-version }} --yes + source activate test + conda config --add channels conda-forge + conda install --yes numpy scipy nose requests pdbfixer mdtraj openmm + conda install -c bioconda --yes clustalw + 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 diff --git a/INSTALL.rst b/INSTALL.rst index d1512a06c..9d082c860 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -6,7 +6,7 @@ Installation Required Software ----------------- -* `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. +* `Python`_ 3.10 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 @@ -32,24 +32,14 @@ this package. Quick Install ------------- -If you have pip_ installed, type the following:: - pip install -U ProDy +We officially recommend installing through conda:: -If you don't have pip_, please download an installation file and -follow the instructions. + conda install -c conda-forge prody -If you have conda installed, you can also type the following instead:: - conda install ProDy - - -Download & Install ------------------- - -After installing the required packages, you will need to download a suitable -ProDy source or installation file from http://python.org/pypi/ProDy. -For changes and list of new features see :ref:`changes`. +Installing From Source (not recommended) +---------------------------------------- **Linux** @@ -72,23 +62,9 @@ schemes in `Installing Python Modules`_. For installing ProDy, please follow the Linux installation instructions. -**Windows** - -Remove previously installed ProDy release from :program:`Uninstall a program` -in :guilabel:`Control Panel`. - -Download :file:`ProDy-1.{x}.{y}.win32-py2.{z}.exe` and run to install ProDy. - -To be able use :ref:`prody-apps` and :ref:`evol-apps` in command prompt -(:program:`cmd.exe`), append Python and scripts folders (e.g. -:file:`C:\\Python27` and :file:`C:\\Python27\\Scripts`) to :envvar:`PATH` -environment variable. - Recommended Software -------------------- -* `Scipy`_, when installed, replaces linear algebra module of Numpy. - Scipy linear algebra module is more flexible and can be faster. * `IPython`_ is a must have for interactive ProDy sessions. * `PyReadline`_ for colorful IPython sessions on Windows. * `MDAnalysis`_ or `MDTraj`_ for reading molecular dynamics trajectories. @@ -109,6 +85,9 @@ Following software is included in the ProDy installation packages: * `argparse`_ is used to implement applications and provided for compatibility with Python 2.6. +* `Scipy`_, when installed, replaces linear algebra module of Numpy. + Scipy linear algebra module is more flexible and can be faster. + .. _argparse: http://code.google.com/p/argparse/ diff --git a/PKG-INFO b/PKG-INFO index bf2690a89..67545bb9d 100644 --- a/PKG-INFO +++ b/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: ProDy -Version: 2.5.0 +Version: 2.6.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 @@ -84,10 +84,8 @@ Classifier: Intended Audience :: Education Classifier: Intended Audience :: Science/Research Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: MacOS -Classifier: Operating System :: Microsoft :: Windows Classifier: Operating System :: POSIX Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 3 Classifier: Topic :: Scientific/Engineering :: Bio-Informatics Classifier: Topic :: Scientific/Engineering :: Chemistry diff --git a/README.rst b/README.rst index d1169a882..6a468b24a 100644 --- a/README.rst +++ b/README.rst @@ -35,10 +35,12 @@ Further details are described in the ProDy papers: | *Bioinformatics* **2021** 37(20):3657-3659. INSTALLING PRODY -________ -ProDy is under active development, so we recommend installing it from source from GitHub to ensure everything works properly. +________________ +We recommend downloading and installing the Anaconda package manager to handle dependencies in controlled environments. ProDy can be installed with the following command. -We recommend downloading and installing the Anaconda package manager to handle dependencies in controlled environments. +conda install -c conda-forge ProDy + +ProDy is under active development, install it from source from GitHub if you want the most recent fixes. Then you should download the ProDy code either as a zipped folder to extract or using git as directed at the big green button says code. For example, if you have git installed then you can do the following. diff --git a/docs/release/v2.6_series.rst b/docs/release/v2.6_series.rst new file mode 100644 index 000000000..e165c2214 --- /dev/null +++ b/docs/release/v2.6_series.rst @@ -0,0 +1,36 @@ +ProDy 2.6 Series +=============================================================================== + +.. contents:: + :local: + + +2.6.0 (Jul 18, 2024) +------------------------------------------------------------------------------ + +**New Features**: + +* Support for extended PDB IDs +* Trajectory wrapping +* py3Dmol visualization +* Expanded CIF file support +* Write long resnames +* RTB app + +**Bug Fixes and Improvements**: + +* Python 3.12 support +* NumPy 2 support +* KDTree extension fix +* Fixes for WatFinder, InSty, Scipion, ClustENM(D) +* pfam fixes +* Test fixes + + + +**New Contributors**: + +* @vbadwaj - conda release and bug fixes +* @AnthonyBogetti - general maintenance and bug fixes + +**Full Changelog**: https://github.com/prody/ProDy/compare/v2.5.0...v2.6.0 diff --git a/prody/__init__.py b/prody/__init__.py index d96e6a325..23ea6b12e 100644 --- a/prody/__init__.py +++ b/prody/__init__.py @@ -1,6 +1,6 @@ """ProDy is a package for Protein Dynamics, Sequence, and Structure Analysis""" -__version__ = '2.5.0' +__version__ = '2.6.0' __release__ = __version__ # + '-dev' # comment out '-dev' before a release import sys @@ -8,11 +8,10 @@ if sys.version_info[:2] < (2, 7): sys.stderr.write('Python 2.6 and older is not supported\n') - sys.exit() if sys.version_info[0] == 3: - if sys.version_info[1] < 6: - sys.stderr.write('Python 3.5 and older is not supported\n') + if sys.version_info[1] < 10: + sys.stderr.write('Python 3.9 and older is not supported\n') sys.exit() try: diff --git a/setup.py b/setup.py index cd94ae9bb..a2de89236 100644 --- a/setup.py +++ b/setup.py @@ -186,10 +186,8 @@ 'Intended Audience :: Science/Research', 'License :: OSI Approved :: MIT License', 'Operating System :: MacOS', - 'Operating System :: Microsoft :: Windows', 'Operating System :: POSIX', 'Programming Language :: Python', - 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 3', 'Topic :: Scientific/Engineering :: Bio-Informatics', 'Topic :: Scientific/Engineering :: Chemistry',