Skip to content

Commit

Permalink
Iss51 (#53)
Browse files Browse the repository at this point in the history
* Adding versioneer in build time dependency mode

* Removed versioneer and added setuptools-scm for build time versioning.  Added Version flag to the  CLI and a log line with the version.

* added support for qual scores up to 92, made modules more pep compliant, updated install docs, updated docker, gh actions and and conda for python 3.9 since Qiime updated to 3.9.

* changed python version in dockerfile

* added events for action

* modified gh action to test itsxpress

* workflow updates

* actions test

* actions test

* actions test

* actions test

* actions test

* actions test

* actions test

* actions test

* actions test

* actions test

* actions test

* actions test

* actions test

* actions test

* actions test

* actions test

* actions test

* actions test

* actions test

* actions test

* actions test

* actions test

* Updates to tests, readme, changelog, and citations
  • Loading branch information
arivers authored Sep 19, 2024
1 parent 99e8a5f commit 8d28768
Show file tree
Hide file tree
Showing 21 changed files with 481 additions and 487 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
itsxpress/_version.py export-subst
73 changes: 29 additions & 44 deletions .github/workflows/python-package-conda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,66 +2,51 @@ name: GitHub Actions Weekly Build (V2)

on:
push:
branches:
- main
pull_request:
schedule:
- cron: "0 0 */7 * *"

jobs:
build-linux:
runs-on: ubuntu-latest
strategy:
max-parallel: 5
max-parallel: 4
matrix:
os: [ubuntu-latest]
runs-on: ${{matrix.os}}
defaults:
run:
shell: bash -el {0}
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
- uses: actions/checkout@v4
- name: Check out Repo
uses: actions/setup-python@v5
with:
python-version: 3.8
- name: Install dependencies
run: |
# $CONDA is an environment variable pointing to the root of the miniconda directory
- run: |
#sudo apt update
#sudo apt install gcc-10 g++-10
- name: Add conda to system path
run: |
# $CONDA is an environment variable pointing to the root of the miniconda directory
echo $CONDA/bin >> $GITHUB_PATH
echo $CONDA_PREFIX
$CONDA/bin/conda list
$CONDA/bin/conda info --base
conda create --name testenv python=3.8.16
#CONDA_PREFIX=/usr/share/miniconda/envs/testenv
$CONDA/bin/conda info
$CONDA/bin/conda list
python-version: 3.9.19
- name: Initiate conda channels
uses: conda-incubator/setup-miniconda@v2
uses: conda-incubator/setup-miniconda@v3
with:
channels: conda-forge,bioconda,default
activate-environment: testenv
auto-activate-base: false


- name: Set up environment
auto-activate-base: true
- name: Initialize conda
run: |
wget https://data.qiime2.org/distro/amplicon/qiime2-amplicon-2023.9-py38-linux-conda.yml
$CONDA/bin/conda env update --file qiime2-amplicon-2023.9-py38-linux-conda.yml --name testenv
conda info
- name: Set up QIIME Conda environment
run: |
conda env create -n testenv --file=https://data.qiime2.org/distro/amplicon/qiime2-amplicon-2024.5-py39-linux-conda.yml
- name: Install Dependencies
run: |
echo $CONDA_PREFIX
source activate testenv
$CONDA/bin/conda install biopython
conda activate testenv
conda install biopython=1.84
pip install pyzstd
pip install pytest
pip install .
qiime
#itsxpress
#qiime itsxpress
#ls
- name: Test with pytest
run: |
source activate testenv
pytest
conda activate testenv
pytest
- name: Test qiime install
run: |
conda activate testenv
#qiime dev refresch-cache
qiime itsxpress --help
39 changes: 20 additions & 19 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,14 @@ Author
* Adam R. Rivers, US Department of Agriculture, Agricultural Research Service
* Sveinn V. Einarsson, US Department of Agriculture, Agricultural Research Service

Citation
--------
Rivers AR, Weber KC, Gardner TG et al. ITSxpress: Software to rapidly trim
Citations
---------

Einarsson, SV and Rivers, AR. ITSxpress Version 2: Software to rapidly trim internal
transcribed spacer sequences with quality scores for amplicon sequencing.
Microbiology Spectrum. In press, 2024.

Rivers AR, Weber KC, Gardner TG, Liu, S, Armstrong, SD. ITSxpress: Software to rapidly trim
internally transcribed spacer sequences with quality scores for marker gene
analysis [version 1; referees: awaiting peer review]. F1000Research 2018, 7:1418
(doi: `10.12688/f1000research.15704.1`_)
Expand Down Expand Up @@ -65,39 +70,35 @@ Installing ITSxpress for use as a QIIME2 Plugin
----------------------------------------------------

To install ITSxpress as a plugin for QIIME 2 first install QIIME 2 as a separate Conda/Mamba environemnt using thier instructions
https://docs.qiime2.org/2024.2/install/ then add ITSxress to the QIIME 2 Conda environment. The examples below are for QIIME2 2
version 2024.2 an so please update the commands if you want a newer release.
https://docs.qiime2.org/2024.5/install/ then add ITSxress to the QIIME 2 Conda environment. The examples below are for QIIME2 2
version 2024.5 an so please update the commands if you want a newer release.


For Linux:

.. code-block:: bash
wget https://data.qiime2.org/distro/amplicon/qiime2-amplicon-2024.2-py38-linux-conda.yml
mamba create -n qiime2-amplicon-2024.2 --file qiime2-amplicon-2024.2-py38-linux-conda.yml
mamba activate qiime2-amplicon-2024.2
mamba install ITSxpress
conda env create -n qiime2-amplicon-2024.5 --file https://data.qiime2.org/distro/amplicon/qiime2-amplicon-2024.5-py39-linux-conda.yml
conda activate qiime2-amplicon-2024.5
conda install -c bioconda -c conda-forge ITSxpress
qiime dev refresh-cache
For maxOS (Intel) and OS X:

.. code-block:: bash
wget https://data.qiime2.org/distro/amplicon/qiime2-amplicon-2024.2-py38-osx-conda.yml
mamba create -n qiime2-amplicon-2024.2 --file qiime2-amplicon-2024.2-py38-osx-conda.yml
mamba activate qiime2-amplicon-2024.2
mamba install ITSxpress
conda env create -n qiime2-amplicon-2024.5 --file https://data.qiime2.org/distro/amplicon/qiime2-amplicon-2024.5-py39-osx-conda.yml
conda activate qiime2-amplicon-2024.5
conda install -c bioconda -c conda-forge ITSxpress
qiime dev refresh-cache
For macOS (Arm / Apple Silicon):

.. code-block:: bash
wget https://data.qiime2.org/distro/amplicon/qiime2-amplicon-2024.2-py38-osx-conda.yml
CONDA_SUBDIR=osx-64 mamba create -n qiime2-amplicon-2024.2 --file qiime2-amplicon-2024.2-py38-osx-conda.yml
mamba activate qiime2-amplicon-2024.2
mamba config --env --set subdir osx-64
mamba install ITSxpress
CONDA_SUBDIR=osx-64 conda env create -n qiime2-amplicon-2024.5 --file https://data.qiime2.org/distro/amplicon/qiime2-amplicon-2024.5-py39-osx-conda.yml
conda activate qiime2-amplicon-2024.5
conda config --env --set subdir osx-64
CONDA_SUBDIR=osx-64 conda install -c bioconda -c conda-forge ITSxpress
qiime dev refresh-cache
Expand Down
11 changes: 11 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
2.1.1 (2024-9-19)
------------------
- Changed settings to allow FASTQ quality scores up to 93. This prevents an error in processing some reads from PacBio, Nanopore and Element Biosciences AVITI sequencers with quality scores over 41.
- Updated from manual software versioning to automated versioning based on git tag metadata and `setuptools-scm`.
- Updated Github action workflow for QIIME 2024.5 and Python 3.9.19
- Improved and updated installation instructions in the README file
- Updated tests for FASTQs with high qual scores
- Added citation information for forthcoming ITSXpress version 2 publication
- Cleaned up some PEP formatting


2.1.0 (2024-4-10)
------------------
- HMMs are updated to version 2 of the HMM database curated by Henrik Nilson at the University of Gothenburg.
Expand Down
50 changes: 0 additions & 50 deletions conda.recipe/meta.yaml

This file was deleted.

4 changes: 2 additions & 2 deletions docker-images/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM condaforge/mambaforge:4.10.3-5
FROM condaforge/mambaforge:24.7.1-0

# # Install system dependencies
RUN apt-get update && \
Expand All @@ -9,7 +9,7 @@ RUN apt-get update && \
LABEL org.opencontainers.image.source="https://github.com/usda-ars-gbru/itsxpress"
# Install conda dependencies
RUN conda update mamba -c conda-forge
RUN mamba install -c conda-forge python>3.8
RUN mamba install -c conda-forge python>=3.9
RUN mamba install -c bioconda vsearch=2.22.1 hmmer=3.1b2

# Copy the itsxpress package files and install dependencies
Expand Down
Loading

0 comments on commit 8d28768

Please sign in to comment.