Package: qadabra
Qadabra:QuantitativeAnalysis ofDifferentialAbundanceRanks(Pronouncedka-da-bra)Qadabra is a Snakemake workflow for running and comparing several differential abundance (DA) methods on the same microbiome dataset.Importantly, Qadabra focuses on both FDR corrected p-valuesandfeature ranksand generates visualizations of differential abundance results.Please note this software is currently a work in progress. Your patience is appreciated as we continue to develop and enhance its features. Please leave an issue on GitHub should you run into any errors.InstallationOption 1: Pip install fromPyPIpip install qadabraQadabra requires the following dependencies:snakemakeclickbiom-formatpandasnumpycythoniowCheck out thetutorialfor more in-depth instructions on installation.Option 2: Install from source (this GitHub repository)PrerequisitesBefore you begin, ensure you have Git and the necessary build tools installed on your system.Clone the Repositorygit clone https://github.com/biocore/qadabra.gitNavigate to repo root directory where thesetup.pyfile is located and then install QADABRA in editable modecd qadabra
pip install -e .Usage1. Creating the workflow directoryQadabra can be used on multiple datasets at once.
First, we want to create the workflow directory to perform differential abundance with all methods:qadabra create-workflow --workflow-dest <directory_name>This command will initialize the workflow, but we still need to point to our dataset(s) of interest.2. Adding a datasetWe can add datasets one-by-one with theadd-datasetcommand:qadabra add-dataset \
    --workflow-dest <directory_name> \
    --table <directory_name>/data/table.biom \
    --metadata <directory_name>/data/metadata.tsv \
    --tree <directory_name>/data/my_tree.nwk \
    --name my_dataset \
    --factor-name case_control \
    --target-level case \
    --reference-level control \
    --confounder confounding_variable(s) <confounding_var> \
    --verboseLet's walkthrough the arguments provided here, which represent the inputs to Qadabra:workflow-dest: The location of the workflow that we created earliertable: Feature table (features by samples) inBIOMformatmetadata: Sample metadata in TSV formattree: Phylogenetic tree in .nwk or other tree format (optional)name: Name to give this datasetfactor-name: Metadata column to use for differential abundancetarget-level: The value in the chosen factor to use as the targetreference-level: The reference level to which we want to compare our targetconfounder: Any confounding variable metadata columns (optional)verbose: Flag to show all preprocessing performed by QadabraYour dataset should now be added as a line inmy_qadabra/config/datasets.tsv.You can useqadabra add-dataset --helpfor more details.
To add another dataset, just run this command again with the new dataset information.3. Running the workflowThe previous commands will create a subdirectory,my_qadabrain which the workflow structure is contained.
From the command line, execute the following to start the workflow:snakemake --use-conda --cores <number of cores preferred> <other options>Please read theSnakemake documentationfor how to run Snakemake best on your system.When this process is completed, you should have directoriesfigures,results, andlog.
Each of these directories will have a separate folder for each dataset you added.4. Generating a reportAfter Qadabra has finished running, you can generate a Snakemake report of the workflow with the following command:snakemake --report report.zipThis will create a zipped directory containing the report.
Unzip this file and open thereport.htmlfile to view the report containing results and visualizations in your browser.TutorialSee thetutorialpage for a walkthrough on using Qadabra workflow with a microbiome dataset.FAQsComing soon: AnFAQspage of commonly asked question on the statistics and code pertaining to Qadabra.CitationThe manuscript for Qadabra is currently in progress. Please cite this GitHub page if Qadabra is used for your analysis. This project is licensed under the BSD-3 License. See thelicensefile for details.