Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing skbio against QIIME 2 to ensure integrity and/or identify breaking points #1993

Open
qiyunzhu opened this issue Mar 24, 2024 · 0 comments

Comments

@qiyunzhu
Copy link
Contributor

qiyunzhu commented Mar 24, 2024

This issue documents the procedures of testing skbio against QIIME 2 to see if anything may break. The procedures follow the QIIME 2 development documentation. @wasade @mortonjt @mataton

Create a QIIME 2 development environment (adjust the command for shotgun and macos versions).

wget https://raw.githubusercontent.com/qiime2/distributions/dev/latest/passed/qiime2-amplicon-ubuntu-latest-conda.yml
conda env create -n qiime2-amplicon-dev --file qiime2-amplicon-ubuntu-latest-conda.yml
rm qiime2-amplicon-ubuntu-latest-conda.yml
conda activate qiime2-amplicon-dev

Clone codebases of all QIIME 2 core plugins (can be listed by qiime info), and make sure their tests pass in the original environment.

plugins="alignment composition cutadapt dada2 deblur demux diversity diversity-lib emperor feature-classifier feature-table fragment-insertion longitudinal metadata phylogeny quality-control quality-filter rescript sample-classifier taxa types vsearch"
for plugin in $plugins; do
  git clone https://github.com/qiime2/q2-$plugin.git
  cd q2-$plugin
  make dev
  make test
  cd ..
done

Install a certain skbio development version. This will override even if some libraries are bond by an older skbio version.

pip install --no-deps --force-reinstall git+https://github.com/account_name/scikit-bio.git@branch_name

Run all tests again with the updated skbio.

for plugin in $plugins; do
  cd q2-$plugin
  make test
  cd ..
done

Functional test: Navigate to the QIIME 2 tutorials webpage. Select relevant tutorials and follow. In particular, the "“Moving Pictures” tutorial - Multiple Interface Edition" tutorial provides Python API codes, which one can copy & paste into a Python script to facilitate automated test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant