From 3c2f67d2cec4041ca1034da16e3e95adb1561e2f Mon Sep 17 00:00:00 2001 From: Vishal Vyamajala Date: Fri, 18 Jul 2025 12:02:50 -0400 Subject: [PATCH 1/3] Prody 2.6.0 --- INSTALL.rst | 37 ++++++++---------------------------- PKG-INFO | 4 +--- README.rst | 8 +++++--- docs/release/v2.6_series.rst | 36 +++++++++++++++++++++++++++++++++++ prody/__init__.py | 10 +++++----- setup.py | 2 -- 6 files changed, 55 insertions(+), 42 deletions(-) create mode 100644 docs/release/v2.6_series.rst 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..c57726127 --- /dev/null +++ b/docs/release/v2.6_series.rst @@ -0,0 +1,36 @@ +ProDy 2.5 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..a5281a4fa 100644 --- a/prody/__init__.py +++ b/prody/__init__.py @@ -1,18 +1,18 @@ """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 import warnings -if sys.version_info[:2] < (2, 7): - sys.stderr.write('Python 2.6 and older is not supported\n') +if sys.version_info[0] == 2: + sys.stderr.write('Python 2 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', From 9fbd617497c3b4c5688babb3fc71c34a3d743763 Mon Sep 17 00:00:00 2001 From: Vishal Vyamajala Date: Fri, 18 Jul 2025 13:54:36 -0400 Subject: [PATCH 2/3] build test version number fix --- .github/workflows/main.yml | 58 ++++++++++++++++-------------------- docs/release/v2.6_series.rst | 2 +- prody/__init__.py | 5 ++-- 3 files changed, 29 insertions(+), 36 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fd232f26a..2a36a25d8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,43 +1,37 @@ -# This is a basic workflow to help you get started with Actions +name: Conda Package CI -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 + name: Build on ${{ matrix.os }} with Python ${{ matrix.python-version }} + 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 - + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Miniconda + uses: conda-incubator/setup-miniconda@v2 + with: + activate-environment: build-env + auto-update-conda: true + python-version: ${{ matrix.python-version }} + channels: conda-forge + + - name: Install conda-build and dependencies + shell: bash -l {0} + run: | + conda install -y conda-build boa pip setuptools wheel compilers numpy scipy pyparsing requests biopython + + - name: Build package + shell: bash -l {0} + run: | + conda config --add channels conda-forge + conda config --set channel_priority strict + conda build . diff --git a/docs/release/v2.6_series.rst b/docs/release/v2.6_series.rst index c57726127..e165c2214 100644 --- a/docs/release/v2.6_series.rst +++ b/docs/release/v2.6_series.rst @@ -1,4 +1,4 @@ -ProDy 2.5 Series +ProDy 2.6 Series =============================================================================== .. contents:: diff --git a/prody/__init__.py b/prody/__init__.py index a5281a4fa..23ea6b12e 100644 --- a/prody/__init__.py +++ b/prody/__init__.py @@ -6,9 +6,8 @@ import sys import warnings -if sys.version_info[0] == 2: - sys.stderr.write('Python 2 is not supported\n') - sys.exit() +if sys.version_info[:2] < (2, 7): + sys.stderr.write('Python 2.6 and older is not supported\n') if sys.version_info[0] == 3: if sys.version_info[1] < 10: From 2e66e08a6488097de9be6192d553ad0ebfb6888f Mon Sep 17 00:00:00 2001 From: Vishal Bharadwaj <47346942+vbadwaj@users.noreply.github.com> Date: Tue, 22 Jul 2025 15:05:53 -0400 Subject: [PATCH 3/3] Update main.yml --- .github/workflows/main.yml | 39 ++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2a36a25d8..bcdb672ae 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,10 +1,9 @@ -name: Conda Package CI - +name: CI on: [push, pull_request, workflow_dispatch] jobs: build: - name: Build on ${{ matrix.os }} with Python ${{ matrix.python-version }} + # run once for each OS / Python combo runs-on: ${{ matrix.os }} strategy: fail-fast: false @@ -13,25 +12,29 @@ jobs: python-version: ["3.10", "3.11", "3.12"] steps: - - name: Checkout code - uses: actions/checkout@v3 + - uses: actions/checkout@v2 - - name: Set up Miniconda - uses: conda-incubator/setup-miniconda@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: MatteoH2O1999/setup-python@v2 with: - activate-environment: build-env - auto-update-conda: true python-version: ${{ matrix.python-version }} - channels: conda-forge - - name: Install conda-build and dependencies - shell: bash -l {0} - run: | - conda install -y conda-build boa pip setuptools wheel compilers numpy scipy pyparsing requests biopython + - name: Add conda to PATH + run: echo $CONDA/bin >> $GITHUB_PATH - - name: Build package - shell: bash -l {0} + - name: Install dependencies & build run: | + conda create -n test python=${{ matrix.python-version }} --yes + source activate test conda config --add channels conda-forge - conda config --set channel_priority strict - conda build . + 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