{"id":20934657,"url":"https://github.com/biocore/qadabra","last_synced_at":"2025-05-13T20:31:46.846Z","repository":{"id":37570095,"uuid":"488652522","full_name":"biocore/qadabra","owner":"biocore","description":"Snakemake workflow for comparison of differential abundance ranks","archived":false,"fork":false,"pushed_at":"2024-03-22T21:58:24.000Z","size":16525,"stargazers_count":13,"open_issues_count":11,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-05-07T05:16:43.303Z","etag":null,"topics":["bioinformatics","differential-abundance","machine-learning","metagenomics","microbiome","pipeline","snakemake","workflow"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/biocore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-04T15:55:21.000Z","updated_at":"2024-04-10T16:29:02.000Z","dependencies_parsed_at":"2023-11-16T01:27:49.281Z","dependency_job_id":"d692b0df-0e4b-4e53-be12-74fb71ba7414","html_url":"https://github.com/biocore/qadabra","commit_stats":{"total_commits":95,"total_committers":4,"mean_commits":23.75,"dds":0.368421052631579,"last_synced_commit":"b2e5314ce6cf8f27226b4e4771c7fa972ae3d2a2"},"previous_names":["gibsramen/qadabra"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/biocore%2Fqadabra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/biocore%2Fqadabra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/biocore%2Fqadabra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/biocore%2Fqadabra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/biocore","download_url":"https://codeload.github.com/biocore/qadabra/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252817675,"owners_count":21808709,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bioinformatics","differential-abundance","machine-learning","metagenomics","microbiome","pipeline","snakemake","workflow"],"created_at":"2024-11-18T22:10:16.390Z","updated_at":"2025-05-13T20:31:45.554Z","avatar_url":"https://github.com/biocore.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Main CI](https://github.com/biocore/qadabra/actions/workflows/main.yml/badge.svg)\n\n# Qadabra: **Q**uantitative **A**nalysis of **D**ifferential **Ab**undance **Ra**nks\n\n##### (Pronounced *ka-da-bra*)\n\nQadabra is a Snakemake workflow for running and comparing several differential abundance (DA) methods on the same microbiome dataset.\n\nImportantly, Qadabra focuses on both FDR corrected p-values *and* [feature ranks](https://www.nature.com/articles/s41467-019-10656-5) and generates visualizations of differential abundance results.\n\n![Schematic](images/Qadabra_schematic.svg)\n\nPlease 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.\n\n## Installation\n\n### Option 1: Pip install from [PyPI](https://pypi.org/project/qadabra/0.3.0a1/)\n```\npip install qadabra\n```\n\nQadabra requires the following dependencies:\n* snakemake\n* click\n* biom-format\n* pandas\n* numpy\n* cython\n* iow\n\nCheck out the [tutorial](tutorial.md) for more in-depth instructions on installation.\n\n\n### Option 2: Install from source (this GitHub repository)\nPrerequisites\n\nBefore you begin, ensure you have Git and the necessary build tools installed on your system.\n\nClone the Repository\n```\ngit clone https://github.com/biocore/qadabra.git\n```\n\nNavigate to repo root directory where the `setup.py` file is located and then install QADABRA in editable mode\n```\ncd qadabra\npip install -e .\n```\n\n## Usage\n\n### 1. Creating the workflow directory\n\nQadabra can be used on multiple datasets at once.\nFirst, we want to create the workflow directory to perform differential abundance with all methods:\n\n```\nqadabra create-workflow --workflow-dest \u003cdirectory_name\u003e\n```\n\nThis command will initialize the workflow, but we still need to point to our dataset(s) of interest.\n\n### 2. Adding a dataset\n\nWe can add datasets one-by-one with the `add-dataset` command:\n\n```\nqadabra add-dataset \\\n    --workflow-dest \u003cdirectory_name\u003e \\\n    --table \u003cdirectory_name\u003e/data/table.biom \\\n    --metadata \u003cdirectory_name\u003e/data/metadata.tsv \\\n    --tree \u003cdirectory_name\u003e/data/my_tree.nwk \\\n    --name my_dataset \\\n    --factor-name case_control \\\n    --target-level case \\\n    --reference-level control \\\n    --confounder confounding_variable(s) \u003cconfounding_var\u003e \\\n    --verbose\n```\n\nLet's walkthrough the arguments provided here, which represent the inputs to Qadabra:\n\n* `workflow-dest`: The location of the workflow that we created earlier\n* `table`: Feature table (features by samples) in [BIOM](https://biom-format.org/) format\n* `metadata`: Sample metadata in TSV format\n* `tree`: Phylogenetic tree in .nwk or other tree format (optional)\n* `name`: Name to give this dataset\n* `factor-name`: Metadata column to use for differential abundance\n* `target-level`: The value in the chosen factor to use as the target\n* `reference-level`: The reference level to which we want to compare our target\n* `confounder`: Any confounding variable metadata columns (optional)\n* `verbose`: Flag to show all preprocessing performed by Qadabra\n\nYour dataset should now be added as a line in `my_qadabra/config/datasets.tsv`. \n\nYou can use `qadabra add-dataset --help` for more details. \nTo add another dataset, just run this command again with the new dataset information.\n\n### 3. Running the workflow\n\nThe previous commands will create a subdirectory, `my_qadabra` in which the workflow structure is contained.\nFrom the command line, execute the following to start the workflow:\n```\nsnakemake --use-conda --cores \u003cnumber of cores preferred\u003e \u003cother options\u003e\n```\nPlease read the [Snakemake documentation](https://snakemake.readthedocs.io/en/stable/executing/cli.html) for how to run Snakemake best on your system.\n\nWhen this process is completed, you should have directories `figures`, `results`, and `log`.\nEach of these directories will have a separate folder for each dataset you added.\n\n### 4. Generating a report\n\nAfter Qadabra has finished running, you can generate a Snakemake report of the workflow with the following command:\n\n```\nsnakemake --report report.zip\n```\n\nThis will create a zipped directory containing the report.\nUnzip this file and open the `report.html` file to view the report containing results and visualizations in your browser.\n\n## Tutorial\nSee the [tutorial](tutorial.md) page for a walkthrough on using Qadabra workflow with a microbiome dataset.\n\n## FAQs\nComing soon: An [FAQs](FAQs.md) page of commonly asked question on the statistics and code pertaining to Qadabra.\n\n## Citation\nThe 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 the [license](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbiocore%2Fqadabra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbiocore%2Fqadabra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbiocore%2Fqadabra/lists"}