diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 3105c38c..ea591b18 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 3.0.3 +current_version = 3.0.4 [comment] comment = The contents of this file cannot be merged with that of setup.cfg until https://github.com/c4urself/bump2version/issues/185 is resolved diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 4f72ac07..4dd13612 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -30,7 +30,7 @@ on: jobs: build: if: github.event.pull_request.draft == false - name: Linting build + name: Linting runs-on: ${{ matrix.os }} strategy: @@ -46,11 +46,17 @@ jobs: steps: - uses: actions/checkout@v3 - - uses: ./.github/actions/install-python-and-package + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} - extras-require: test - - name: Check style against standards using ruff + - name: Python info + shell: bash -l {0} + run: | + which python3 + python3 --version + - name: Check linting and formatting using ruff run: | - ruff check - ruff format --check + python3 -m pip install ruff + ruff check || (echo "Please ensure you have the latest version of ruff (`ruff -V`) installed locally." && (exit 1)) + ruff format --check || (echo "Please ensure you have the latest version of ruff (`ruff -V`) installed locally." && (exit 1)) diff --git a/CITATION.cff b/CITATION.cff index db6ac7d3..77c554f1 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -86,4 +86,4 @@ preferred-citation: volume: 9 title: "DeepRank2: Mining 3D Protein Structures with Geometric Deep Learning" -version: "3.0.3" +version: "3.0.4" diff --git a/Dockerfile b/Dockerfile index 73be0bb8..87d47733 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,6 +14,8 @@ RUN \ apt install -y gcc && \ ## Create the environment and install the dependencies mamba env create -f /home/deeprank2/deeprank2-docker.yml && \ + ## Activate the environment and install pip packages + /opt/conda/bin/conda run -n deeprank2 pip install -r /home/deeprank2/requirements-docker.txt && \ ## Activate the environment automatically when entering the container echo "source activate deeprank2" >~/.bashrc && \ # Get the data for running the tutorials diff --git a/deeprank2/__init__.py b/deeprank2/__init__.py index 8d1c8625..8e10cb46 100644 --- a/deeprank2/__init__.py +++ b/deeprank2/__init__.py @@ -1 +1 @@ -__version__ = "3.0.3" +__version__ = "3.0.4" diff --git a/deeprank2/features/secondary_structure.py b/deeprank2/features/secondary_structure.py index a29b508c..ae080272 100644 --- a/deeprank2/features/secondary_structure.py +++ b/deeprank2/features/secondary_structure.py @@ -103,7 +103,7 @@ def _get_secstructure(pdb_path: str) -> dict: try: dssp = DSSP(model, pdb_path, dssp="mkdssp") - except Exception as e: # noqa: BLE001, namely: # improperly formatted pdb files raise: `Exception: DSSP failed to produce an output` + except Exception as e: pdb_format_link = "https://www.wwpdb.org/documentation/file-format-content/format33/sect1.html#Order" msg = ( f"DSSP has raised the following exception: {e}.\n\t" diff --git a/env/deeprank2-docker.yml b/env/deeprank2-docker.yml index 3b49f806..e73ab82d 100644 --- a/env/deeprank2-docker.yml +++ b/env/deeprank2-docker.yml @@ -41,5 +41,3 @@ dependencies: - ruff>=0.3.0 - dill>=0.3.8 - pyarrow>=15.0.0 - - pip: - - --requirement requirements-docker.txt diff --git a/env/deeprank2.yml b/env/deeprank2.yml index e73ab82d..423fab5c 100644 --- a/env/deeprank2.yml +++ b/env/deeprank2.yml @@ -7,13 +7,9 @@ channels: - conda-forge - sbl dependencies: - - python==3.10 - - pip>=23.3 - - notebook>=7.0.6 - sbl::libcifpp>=5.1.0 - sbl::dssp>=4.2.2.1 - msms>=2.6.1 - - markov_clustering>=0.0.6 - pytorch=2.1.1 - torchvision>=0.16.1 - torchaudio>=2.1.1 @@ -23,21 +19,3 @@ dependencies: - pytorch-sparse>=0.6.18 - pytorch-cluster>=1.6.3 - pytorch-spline-conv>=1.2.2 - - tables>=3.8.0 - - numpy>=1.21.5 - - scipy>=1.13.1 - - h5py>=3.6.0 - - networkx>=2.6.3 - - matplotlib>=3.5.1 - - scikit-learn>=1.0.2 - - chart-studio>=1.1.0 - - biopython>=1.81 - - pdb2sql>=0.5.1 - - python-louvain>=0.16 - - tqdm>=4.63.0 - - freesasa>=2.1.0 - - tensorboard>=0.9.0 - - protobuf>=3.20.1 - - ruff>=0.3.0 - - dill>=0.3.8 - - pyarrow>=15.0.0 diff --git a/env/requirements-docker.txt b/env/requirements-docker.txt index 538781ce..b6806165 100644 --- a/env/requirements-docker.txt +++ b/env/requirements-docker.txt @@ -1 +1 @@ -deeprank2==3.0.3 \ No newline at end of file +deeprank2==3.0.4 \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 6b79b106..6c95ec6c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "deeprank2" -version = "3.0.3" +version = "3.0.4" description = "DeepRank2 is an open-source deep learning framework for data mining of protein-protein interfaces or single-residue missense variants." readme = "README.md" requires-python = ">=3.10" @@ -34,6 +34,27 @@ classifiers = [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", ] +dependencies = [ + "notebook >= 7.0.6", + "markov-clustering >= 0.0.6.dev0", + "tensorboard>=0.9.0", + "protobuf >= 3.20.1", + "dill >= 0.3.8", + "pyarrow >= 15.0.0", + "tables >= 3.8.0", + "numpy >= 1.25, < 2.0", + "scipy >= 1.13.1", + "h5py >= 3.6.0", + "networkx >= 2.6.3", + "matplotlib >= 3.5.1", + "scikit-learn >= 1.0.2", + "chart-studio >= 1.1.0", + "pdb2sql >= 0.5.1", + "python-louvain >= 0.16", + "tqdm >= 4.63.0", + "freesasa >= 2.1.0", + "biopython >= 1.81" + ] [project.optional-dependencies] # development dependency groups @@ -45,6 +66,7 @@ test = [ "pytest-cov", "pytest-runner", "coveralls", + "ruff>=0.3.0" ] publishing = ["build", "twine", "wheel"] notebooks = ["nbmake"]