Skip to content

Commit

Permalink
Merge pull request #285 from pirovc/dev
Browse files Browse the repository at this point in the history
ganon version 2.1.0
  • Loading branch information
pirovc authored Feb 12, 2024
2 parents e043f49 + 1dfd757 commit 68f51b7
Show file tree
Hide file tree
Showing 51 changed files with 988 additions and 498 deletions.
29 changes: 17 additions & 12 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,15 @@ matrix:
os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-11
- parallel
env:
- MATRIX_EVAL="CC=gcc-11 && CXX=g++-11 && BUILD_TYPE=Release"

- name: "linux gcc-12"
os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-12
- parallel
Expand All @@ -31,8 +26,6 @@ matrix:
os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-11
- parallel
Expand All @@ -43,22 +36,34 @@ matrix:
before_install:
- eval "${MATRIX_EVAL}"
- python3 -m pip install --upgrade pip
- python3 -m pip install "pandas>=1.1.0"
- wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
- bash miniconda.sh -b -p $HOME/miniconda
- source "$HOME/miniconda/etc/profile.d/conda.sh"
- conda config --set always_yes yes --set changeps1 no
- conda update -q conda
- conda info -a
- conda activate base

install:
- python3 -m pip install "pandas>=1.2.0"
- python3 -m pip install "multitax>=1.3.1"
- python3 -m pip install "parameterized>=0.9.0"
- if [ "$BUILD_TYPE" == "Coverage" ]; then
python3 -m pip install coverage;
fi

script:
- conda install -c bioconda -c conda-forge "raptor=3.0.1"
- mkdir build && cd build
- cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DVERBOSE_CONFIG=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCONDA=OFF ..
- cat compile_commands.json
- cmake --build . -- -j2
- ctest -VV .
- sudo make install
- ganon-build -h # ret 0
- ganon-classify -h # ret 0
- cd ..

script:
- ganon-build --version
- ganon-classify --version
- raptor --version
- if [ "$BUILD_TYPE" == "Coverage" ]; then
python3 -m coverage run --omit="/usr/*,tests/*" -m unittest discover -s tests/ganon/integration/ -v;
else
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# =============================================================================

cmake_minimum_required( VERSION 3.4 FATAL_ERROR )
project( ganon VERSION 2.0.1 LANGUAGES CXX )
project( ganon VERSION 2.1.0 LANGUAGES CXX )

# -----------------------------------------------------------------------------
# build setup
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2023 Vitor C. Piro pirovc.github.io
Copyright (c) 2024 Vitor C. Piro pirovc.github.io

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
6 changes: 3 additions & 3 deletions docs/classification.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Output files:
- `results.rep`: plain report of the run, used to further generate tree-like reports
- `results.tre`: tree-like report with cumulative abundances by taxonomic ranks (can be re-generated with `ganon report`)

By default, `ganon classify` only write report files. To get files with the classification of each read, use `--output-one` and/or `--output-all`. More information about output files [here](../outputfiles/#ganon-classify).
By default, `ganon classify` only write report files. To get files with the classification of each read, use `--output-one` and/or `--output-all`. More information about output files [here](outputfiles.md#ganon-classify).

!!! Note
ganon performs **taxonomic profiling** and/or **binning** (one tax. assignment for each read) at a taxonomic, strain or sequence level. Some guidelines are listed below, please choose the parameters according to your application.
Expand All @@ -23,15 +23,15 @@ By default, `ganon classify` only write report files. To get files with the clas

- strict thresholds: `--rel-cutoff 0.75` and `--rel-filter 0.1`
- `--min-count 0.00005` (0.005%) to exclude very low abundant taxa
- `--report-type abundance` to generate taxonomic abundances, correcting for genome sizes (more infos [here](../reports/#report-type-report-type))
- `--report-type abundance` to generate taxonomic abundances, correcting for genome sizes (more infos [here](reports.md#report-type-report-type))

### Binning

To achieve better results for taxonomic binning or sequence classification, `ganon classify` can be configured with `--binning`, that is the same as:

- less strict thresholds: `--rel-cutoff 0.25 --rel-filter 0`
- `--min-count 0` reports all taxa with at least one read assigned to it
- `--report-type reads` will report sequence abundances instead of taxonomic abundances (more infos [here](../reports/#report-type-report-type))
- `--report-type reads` will report sequence abundances instead of taxonomic abundances (more infos [here](reports.md#report-type-report-type))

!!! Tip
Database parameters in `ganon build` can also influence your results. Lower `--max-fp` (e.g. 0.1, 0.001) and higher `--kmer-size` (e.g. `23`, `27`) will improve sensitivity of your results at cost of a larger database and memory usage.
Expand Down
Loading

0 comments on commit 68f51b7

Please sign in to comment.