ndreey / ghost-magnet

Molecular Bioinformatics BSc thesis project at University of Skövde
MIT License
1 stars 0 forks source link

Benchmark: AMBER #63

Open ndreey opened 1 year ago

ndreey commented 1 year ago

AMBER: Assessment of Metagenome BinnERs

"AMBER is an evaluation package for the comparative assessment of genome reconstructions and taxonomic assignments from metagenome benchmark datasets. It provides performance metrics, results rankings, and comparative visualizations for assessing multiple programs or parameter effects. The provided metrics were used in the first community benchmarking challenge of the initiative for the Critical Assessment of Metagenomic Interpretation.

Metrics computed per bin

Predicted bin size in bps and sequences True positives (Average) Purity (Average) Completeness Metrics computed per sample

Accuracy Misclassification rate (contamination) Purity Completeness (Adjusted) Rand index Percentage of binned base pairs and sequences Number of genomes recovered within levels of completeness and contamination UniFrac (for taxonomic binning)" -- AMBER GITHUB

ndreey commented 1 year ago

After some troubleshooting, I have finally successfully run amber scripts. The issue was that there were incompatibilities between packages, and I had no luck when trying to set up a .yaml file for the reported correct dependencies from Updates for AMBER requirements #52.

name: custom_amber
channels:
  - conda-forge
  - bioconda
dependencies:
  - python=3.7
  - cami-amber
  - scipy=1.8.0
  - jinja2=2.10.1
  - markupsafe=2.0.1
  - flask=1.0.3
  - numpy=1.18.3
  - biopython=1.76.0
  - matplotlib=3.2.1
  - bokeh=0.13.0
  - pandas=1.0.3
  - seaborn=0.10.1

conda could not resolve the dependencies.

However, this is how i solved the issues.

  1. conda create -n amber python=3.7
    • In the AMBER/setup.py module i saw that AMBER requires python v3.7
  2. To install cami-amber using pip into my conda env, i had to run pip from the bin/ of the created amber environment.
    • conda activate amber
    • mambaforge/envs/pip_amber/bin/pip install cami-amber
  3. When running amber.py -h i received an error regarding ImportError: cannot import name 'Markup' from 'jinja2'. To resolve this I installed the suggested dependency version from the aforementioned cami issue.
    • mambaforge/envs/pip_amber/bin/pip install jinja2==2.10.1
  4. When trying to run amber.py -h after installation of jinja2 i received an error indicating that MarkupSafe was incorrect. So once again, i followed the recommended dependency.
    • mambaforge/envs/pip_amber/bin/pip install MarkupSafe==2.0.1
  5. SUCCESSFUL run of amber.py -h
  6. However, I also required the convert_fasta_bins_to_biobox_format.py from the AMBER git repo that is located in AMBER/src/utils/. The src/ does not seem to be installed as i could not locate it on my PC. I, therefore, cloned the git repo and moved the src/ directory to mambaforge/envs/amber/bin/.
    • python PATH/src/utils/convert_fasta_bins_to_biobox_format.py PATH/fasta_bins/* -o PATH/00_bins.tsv worked successfully!