SkillAgentSearch skills...

Qurro

Visualize differentially ranked features (taxa, metabolites, ...) and their log-ratios across samples

Install / Use

/learn @biocore/Qurro
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Qurro: Quantitative Rank/Ratio Observations

<div align="center"> <img width="40%" src="https://raw.githubusercontent.com/biocore/qurro/master/docs/images/logos/qurro_logo.png" alt="Qurro logo" /> </div> <div align="center"> <a href="https://github.com/biocore/qurro/actions/workflows/qiime2.yml"><img src="https://github.com/biocore/qurro/actions/workflows/qiime2.yml/badge.svg" alt="QIIME 2 CI" /></a> <a href="https://github.com/biocore/qurro/actions/workflows/standalone.yml"><img src="https://github.com/biocore/qurro/actions/workflows/standalone-oldpython.yml/badge.svg" alt="Standalone CI (Python 3.6 and 3.7)" /></a> <a href="https://github.com/biocore/qurro/actions/workflows/standalone.yml"><img src="https://github.com/biocore/qurro/actions/workflows/standalone.yml/badge.svg" alt="Standalone CI (Python ≥ 3.8)" /></a> <a href="https://codecov.io/gh/biocore/qurro"><img src="https://codecov.io/gh/biocore/qurro/branch/master/graph/badge.svg" alt="Code Coverage" /></a> <a href="https://zenodo.org/badge/latestdoi/158270494"><img src="https://zenodo.org/badge/158270494.svg" alt="DOI" /></a> <a href="https://pypi.org/project/qurro"><img src="https://img.shields.io/pypi/v/qurro.svg?color=006dad" alt="PyPI" /></a> <a href="https://anaconda.org/conda-forge/qurro"><img src="https://img.shields.io/conda/vn/conda-forge/qurro.svg?color=43b02a" alt="conda-forge" /></a> <p>(Pronounced "churro.")</p> </div>

What does this tool do?

Lots of tools for analyzing " 'omic" datasets can produce feature rankings. These rankings can be used as a guide to look at the log-ratios of certain features in a dataset. Qurro is a tool for visualizing and exploring both of these types of data.

What are feature rankings?

The term "feature rankings" includes differentials, which we define as the estimated log-fold changes for features' abundances across different sample types. You can get this sort of output from lots of "differential abundance" tools, including but definitely not limited to ALDEx2, Songbird, Corncob, DESeq2, edgeR, etc.

The term "feature rankings" also includes feature loadings in a biplot (see Aitchison and Greenacre 2002); you can get biplots from running DEICODE, which is a tool that works well with microbiome datasets, or from a variety of other methods.

Differentials and feature loadings alike can be interpreted as rankings -- you can sort them numerically to "rank" features based on their association with some sort of variation in your dataset.

What can we do with feature rankings?

A common use of these rankings is examining the log-ratios of particularly high- or low-ranked features across the samples in your dataset, and seeing how these log-ratios relate to your sample metadata (e.g. "does this log-ratio differ between 'healthy' and 'sick' samples?"). For details as to why this approach is useful, check out this open access paper.

How does this tool help?

Qurro is an interactive web application for visualizing feature rankings and log-ratios. It does this using a two-plot interface: on the left side of the screen, a "rank plot" shows how features are ranked for a selected ranking, and on the right side of the screen a "sample plot" shows the log-ratios of selected features' abundances within samples. There are a variety of controls available for selecting features for a log-ratio, and changing the selected log-ratio updates both the rank plot (highlighting selected features) and the sample plot (changing the y-axis value of each sample to match the selected log-ratio).

A paper describing Qurro is now available at NAR Genomics and Bioinformatics here.

How do I use this tool?

Qurro can be used standalone (as a Python 3 script that generates a folder containing a HTML/JS/CSS visualization) or as a QIIME 2 plugin (that generates a QZV file that can be visualized at view.qiime2.org or by using qiime tools view).

Qurro is still being developed, so backwards-incompatible changes might occur. If you have any bug reports, feature requests, questions, or if you just want to yell at me, then feel free to open an issue in this repository!

Demos

See the <a href="https://biocore.github.io/qurro">Qurro website</a> for a list of interactive demos using real datasets.

Screenshot: Visualizing KEGG orthologs in metagenomic data from the Red Sea

<img width="100%" src="https://raw.githubusercontent.com/biocore/qurro/master/screenshots/redsea_data.png" alt="Screenshot showing a Qurro visualization of ranked features (which in this dataset correspond to KEGG orthologs) and a scatterplot plot of the log ratio of certain features' abundances in samples." />

This visualization (which uses data from this study, with differentials generated by Songbird) can be viewed online here.

Installation and Usage

You can install Qurro using pip or conda.

System requirements

If you're using Qurro within QIIME 2, you will need a QIIME 2 version of at least 2020.11. It has been tested with QIIME 2 versions up through the most recent release, as of writing (QIIME 2 2024.10).

If you're using Qurro outside of QIIME 2, you will need a Python version of at least 3.6.

In either case, Qurro should work with most modern web browsers; Firefox or Chrome are recommended.

Installing with pip

pip install cython "numpy >= 1.12.0"
pip install qurro

Installing with conda

conda install -c conda-forge qurro

Slight field name adjustments

Certain characters in column names in the sample metadata, feature metadata (if passed), and feature differentials (if passed) will be replaced with similar characters or just removed entirely:

| Old Character(s) | New Character | | ------------- | ------------- | | . | _ | | : | ; | | ] | ) | | [ | ( | | \ | <code>|</code> | | ' or " | Nothing |

This is due to some downstream issues with handling these sorts of characters in field names. See this issue for context.

Tutorials

In-depth tutorials

These tutorials are all good places to start, depending on what sort of data and feature rankings you have.

  • Color Composition tutorial

    • Data Summary: Color composition data from abstract paintings
    • Feature rankings: Feature loadings in an arbitrary compositional biplot
    • Qurro used through QIIME 2 or standalone?: Standalone
  • "Moving Pictures" tutorial

    • Data Summary: Microbiome 16S rRNA marker gene sequencing data from four types of body site samples
    • Feature rankings: Feature loadings in a DEICODE biplot
    • Qurro used through QIIME 2 or standalone?: QIIME 2
  • Transcriptomics tutorial

    • Data Summary: Gene expression ("RNA-Seq") data from TCGA tumor and "solid tissue normal" samples
    • Feature rankings: ALDEx2 differentials
    • Qurro used through QIIME 2 or standalone?: Standalone

Selection tutorial

There are a lot of different ways to select features in Qurro, and the interface can be difficult to get used to. This document describes all of these methods, and provides some examples of where they could be useful in practice.

Basic command-line tutorials

These tutorials show examples of using Qurro in identical ways both inside and outside of QIIME 2.

Qarcoal

Qarcoal (pronounced "charcoal") is a new part of Qurro that lets you compute log-ratios based on taxonomic searching directly from the command-line. This can be useful for a variety of reasons.

Currently, Qarcoal is only available through Qurro's QIIME 2 plugin interface. Please see qarcoal_example.ipynb for a demonstration of using Qarcoal.

Poster

We presented this poster on Qurro at the 2019 CRISP Annual Review. The data shown here is already slightly outdated compared

Related Skills

View on GitHub
GitHub Stars34
CategoryDevelopment
Updated10mo ago
Forks10

Languages

JavaScript

Security Score

87/100

Audited on May 5, 2025

No findings