Skip to main content

Data exploration app for large phenotypic datasets analyzed using mGWAS, originally developed for Scoary2

Project description

mGWAS data exploration app

[!NOTE] This tool was built for Scoary2!

Description

This is a simple, static HTML/JS data exploration that allows you to explore the results of mGWAS software, particularly large phenotypic datasets.

Output

The app produces two types of HTML files that can be opened in any browser:

  • overview.html: A simple overview of all traits in the dataset.
  • trait.html: A more detailed view of a single trait.

The usage of this app is described on the Scoary2 wiki.

Installation

  1. Using pip: pip install mgwas-data-exploration-app
  2. Using docker: docker pull troder/scoary-2

How to prepare your data

Expected folder structure

The app expects the following folder structure:

.
└── workdir
    ├── summary.tsv
    ├── traits.tsv
    ├── tree.nwk
    ├── isolate_info.tsv (optional)
    └── traits
        ├── trait1
        │   ├── coverage-matrix.tsv
        │   ├── meta.json
        │   ├── result.tsv
        │   └── values.tsv
        ├── trait2
        │   └── ...
        └── ...

Input arguments

  • summary_df: A table with the results of the mGWAS analysis. Rows: traits; columns: genes. (Separator: tab)
  • traits_df: A table with the metadata of the traits. Rows: traits; columns: metadata. (Separator: tab)
  • workdir: Folder where the mGWAS output must be located, exepect to find a folder 'traits' with subfolders for each trait.
  • is_numeric: Whether the data is numeric or binary.
  • app_config: A JSON file that overwrites the default app config. See the default config.json. (Optional)
  • distance_metric: The distance metric for the clustering of binary data. See the scipy documentation. (Binary data only; default: jaccard)
  • linkage_method: The linkage method for the clustering. One of [single, complete, average, weighted, ward, centroid, median]. (Default: ward)
  • optimal_ordering: Whether to use optimal ordering. See scipy.cluster.hierarchy.linkage (Default: True)
  • corr_scale: Whether to scale numeric data before clustering. (Numeric data only; default: True)
  • corr_method: The correlation method for numeric data. One of [pearson, kendall, spearman]. (Numeric data only; default: pearson)
  • dendrogram_x_scale: The x-axis scale for the dendrogram. One of [linear, squareroot, log, symlog, logit]. (Default: linear)
  • scores_x_scale: The x-axis scale for the scores plot. One of [linear, manhattan]. (Default: linear)

Usage

Get help with mgwas-data-exploration-app --help or reading the docstring of main.py.

Python

Click here to expand.
from mgwas_data_exploration_app.main import mgwas_app

mgwas_app(
    summary_df="summary.tsv",  # or a pandas.DataFrame
    traits_df="traits.tsv",  # or a pandas.DataFrame
    workdir="out",
    is_numeric=False,
    app_config="app_config.json",  # or dict
    distance_metric="jaccard",
    linkage_method="ward",
    optimal_ordering=True,
    corr_scale=True,
    corr_method="pearson",
    dendrogram_x_scale="linear",
    scores_x_scale="linear",
)

Command line

Click here to expand.
mgwas-data-exploration-app \
    --summary summary.tsv \
    --traits traits.tsv \
    --workdir out \
    --is-numeric False \
    --app-config None \
    --distance-metric jaccard \
    --linkage-method ward \
    --optimal-ordering True \
    --corr-scale True \
    --corr-method pearson \
    --dendrogram-x-scale linear \
    --scores-x-scale linear

Credits

This project is built using the following libraries:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mgwas_data_exploration_app-0.1.1.tar.gz (27.2 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page