Skip to content

Commit

Permalink
Merge pull request #14 from phac-nml/python3
Browse files Browse the repository at this point in the history
Updates Neptune to Python3, Removes DRMAA
  • Loading branch information
emarinier authored Nov 1, 2024
2 parents 9b9e372 + 764d679 commit 1e7ac51
Show file tree
Hide file tree
Showing 42 changed files with 350 additions and 2,492 deletions.
90 changes: 0 additions & 90 deletions .ci/Dockerfile

This file was deleted.

3 changes: 0 additions & 3 deletions .ci/run_flake8.sh

This file was deleted.

5 changes: 0 additions & 5 deletions .ci/run_tests.sh

This file was deleted.

52 changes: 0 additions & 52 deletions .ci/slurm.conf

This file was deleted.

6 changes: 0 additions & 6 deletions .ci/slurm.sh

This file was deleted.

38 changes: 38 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: Python application

on: [push]

permissions:
contents: read

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v3
with:
python-version: "3.10"
- name: Install BLAST+
run: |
sudo apt-get -qqy install ncbi-blast+
- name: Install Python and Dependencies
run: |
python -m pip install --upgrade pip
pip install flake8 pytest tox numpy scipy biopython
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pytest
52 changes: 28 additions & 24 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,46 @@

All notable changes to Neptune will be documented in this file.

## 2.0.0 ##

2024-10-21

This release updates Neptune to Python3, removes DRMAA support, fixes a crash when no signatures are produced, and updates the installation process.

### Changed ###

- Python3 has replaced Python2.
- Improved and updated the installation process.

### Fixed ###

- Fixed a crash that occurred when candidate signatures were of such low quality (as a consequence of ambiguous sequence characters) that these regions could not be aligned with themselves using BLAST.

### Removed ###

- DRMAA support.

## 1.2.5 ##

2017-05-03

This release provides fixes for ambiguous crashes and improvements to the code
quality.
This release provides fixes for ambiguous crashes and improvements to the code quality.

### Changed ###

- We have made an effort to improve the readability of function comments in the
source code.
- We have made an effort to improve the readability of function comments in the source code.

### Fixed ###

- When running Neptune in parallel (non-DRMAA mode), runtime errors in forked
jobs now correctly inform the calling process instead of hanging forever with
no meaningful error message. Additionally, the runtime error message is
reported to the user. This relates the a known error in Python 2.7
(https://bugs.python.org/issue9400).
- Inputs containing no A, C, G, or T characters will now cause an appropriate
runtime error with an informative message about this problem.
- Lowercase characters are no longer ingnored when calculating the GC content
of inputs.
- When running Neptune in parallel (non-DRMAA mode), runtime errors in forked jobs now correctly inform the calling process instead of hanging forever with no meaningful error message. Additionally, the runtime error message is reported to the user. This relates the a known error in Python 2.7 (https://bugs.python.org/issue9400).
- Inputs containing no A, C, G, or T characters will now cause an appropriate runtime error with an informative message about this problem.
- Lowercase characters are no longer ingnored when calculating the GC content of inputs.

## 1.2.4 ##

2017-02-27

This release makes several small improvements, including: reducing the standard
output clutter, adding timings to stages, and updating the documentation.
This release makes several small improvements, including: reducing the standard output clutter, adding timings to stages, and updating the documentation.

### Added ###

Expand Down Expand Up @@ -98,9 +108,7 @@ This release of Neptune adds support for Galaxy.

2016-03-18

This release of Neptune allows for execution on a single machine without
requiring DRMAA. Furthermore, several command line parameters have been
modified.
This release of Neptune allows for execution on a single machine without requiring DRMAA. Furthermore, several command line parameters have been modified.

### Added ###

Expand All @@ -117,8 +125,7 @@ modified.

2016-02-24

This release of Neptune updates the installation instructions to be more
informative.
This release of Neptune updates the installation instructions to be more informative.

### Changed ###

Expand All @@ -129,10 +136,7 @@ informative.

2016-01-19

This release of Neptune introduces a simple signature consolidation step, which
consolidates signatures produced from multiple files into a single file.
Furthermore, the software has been updated to be compatible with the Slurm
scheduler.
This release of Neptune introduces a simple signature consolidation step, which consolidates signatures produced from multiple files into a single file. Furthermore, the software has been updated to be compatible with the Slurm scheduler.

### Added ###

Expand Down
3 changes: 0 additions & 3 deletions INSTALL.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,6 @@ pip install scipy
# BIOPYTHON
pip install biopython

# DRMAA
pip install drmaa

# NEPTUNE
pip install $DIR/

Expand Down
15 changes: 1 addition & 14 deletions docs/examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,17 +40,4 @@ neptune
--exclusion exclusion_dir/ ex1.fasta ex2.fasta
--reference in1.fasta in2.fasta
--output output/
```

## DRMAA Parameters ##

It may be necessary to specify DRMAA native specification parameters to accommodate Neptune job scheduling. This example specifies the resources required by all jobs (--default-specification) and further specifies that *k*-mer aggregation jobs (--aggregate-specification) will require more memory. The remaining Neptune parameters are automatically calculated.

```bash
neptune
--inclusion inclusion/
--exclusion exclusion/
--output output/
--default-specification "-l h_vmem=6G -pe smp 4"
--aggregate-specification "-l h_vmem=10G -pe smp 4"
```
```
64 changes: 0 additions & 64 deletions docs/install-drmaa.md

This file was deleted.

2 changes: 1 addition & 1 deletion docs/install.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Installation #

This installation guide assumes the use of the [BASH](https://en.wikipedia.org/wiki/Bash_(Unix_shell)) Unix shell and a 64-bit Linux system. Neptune may either be installed directly or as a [Bioconda](https://bioconda.github.io/) package. Neptune may either be run on a single machine or a computing cluster. Neptune achieves maximum parallelization when submitting jobs through a DRMAA-compliant cluster computing scheduler. The installation and configuration of a DRMAA-compliant scheduler will require a significant understanding of Unix. However, it is possible to run Neptune in parallel on a single machine without DRMAA. Neptune is known to be compatible with the [SGE](http://gridscheduler.sourceforge.net/) and [Slurm](http://slurm.schedmd.com/) schedulers.
This installation guide assumes the use of the [BASH](https://en.wikipedia.org/wiki/Bash_(Unix_shell)) Unix shell and a 64-bit Linux system. Neptune may either be installed directly or as a [Bioconda](https://bioconda.github.io/) package.

## Bioconda ##

Expand Down
Loading

0 comments on commit 1e7ac51

Please sign in to comment.