Skip to content

Repository files navigation

xPEDITE

Multi-omics (x) PipelinE for Dataset Integration and Translational Exploration (xPEDITE) is a web-based platform to generate interactive HTML data reports

Setup Instructions

The following are basic setup instructions.

1. Accessory Docker Images

xPEDITE uses several other images:

  1. Pathways Visualization (pathwaysviz): available on GitHub
  2. NG-CHM (ngchm): available from docker hub
    • Will be pulled automatically by docker compose

2. Configure Authentication

Authentication is configured by a required JSON-formatted .authenticators file that is mounted to the container at run time.

Example .authenticators for no authentication (where every user is 'Guest User'):
(note the ":" as part of the key):

{
  "default:": "none"
}

Example .authenticators for LDAP-JWT authentication
(note the ":" as part of the "default:" key):

{
  "ldapjwt": {
    "name": "ldapjwt",
    "type": "ldapjwt",
    "spec": {
      "href": "https://<host name of LDAP-JWT server>/ldap-jwt/",
      "clientID":"<client ID of LDAP-JWT server>"
    }
  },
  "default:":"ldapjwt"
}

There are two required environment variables related to this file: AUTHENTICATORS_PATH_HOST (the path to .authenticators on the host machine) and AUTHENTICATORS_PATH (the path to .authenticators inside the container). See defaults in docker-compose.yml.

3. Build Images and Start Containers

If using LDAP-JWT authentication: set appropriate values for environment variables LDAP_JWT_HOST and optional AUTHORIZED_GROUP before running docker compose.

Create the network, build images, and start containers:

docker network create xpedite-net
docker compose build
docker compose up

4. Upload pdata File

Visit https://localhost:9433/xPEDITE/index. Fill out the form, and upload a pdata.csv file. Examples are provided in the test_data directory.

Upon form submission, a new study will be created. Each study has exactly one pdata.csv file, but can have multiple analyzed data files.

5. Upload Analyzed Data File

If using authentication, visit https://localhost:9433/xPEDITE/login to log in.

Visit https://localhost:9433/xPEDITE/admin to view a table of existing studies.

For a given study, click the 'Select' button to go to that study's page.

On that study's page, click the check box to upload an analyzed data file. Examples are provided in the test_data directory.

6. Generate Report

On that same study's page, select appropriate options from the rest of the dropdowns and click the 'Generate Report' button.

Optional Post-Processing Step

xPEDITE supports an optional custom post-processing script that runs automatically after a report is generated. This is useful for tasks such as sending notification emails, copying reports to an external location, or triggering downstream pipelines.

How it works

When a post-processing script is configured and present in the container, a Run custom post-processing step after report generation checkbox will appear on the report generation page. If checked, the script is executed after the report is saved.

The script receives the path to the report's metadata.json file as its first argument. This file contains fields including studyNumber, reportName, submitterEmail, pdataPath, analyzedDataPath, reportFolder, and studyFolder.

Progress and any output from the script are written to the report's logfile.txt and displayed in the status area of the report generation page.

Configuration

  1. Write a post-processing script. The script must be executable and accept the path to metadata.json as its first argument. Exit code 0 is treated as success; any other exit code is treated as failure.

  2. Mount the script into the container. In docker-compose.yml, uncomment and update the optional volume line under the backend service:

    volumes:
       - ${POST_PROCESS_SCRIPT_HOST:-/path/to/post_process.sh}:${POST_PROCESS_SCRIPT:-/post_process.sh}:ro
  3. Set the environment variables:

    environment:
      POST_PROCESS_SCRIPT: ${POST_PROCESS_SCRIPT:-/post_process.sh}
      POST_PROCESS_TIMEOUT: ${POST_PROCESS_TIMEOUT:-5000}

If the script is not present at the configured path, the checkbox will not appear and no post-processing will run.

Copyright and License information

This project contains code and templates under multiple licenses:

  • .Rmd, javascript, and HTML files: MIT
    • scripts/pipeline_report_template.Rmd
    • scripts/child_templates/*
    • scripts/js/dynamicANOVA.js
    • scripts/js/dynamicVolcano.js
    • scripts/js/plotMetabolites.js
    • scripts/js/Smooth.js
    • module_sources/*
  • Third-party libraries in /scripts/resources: as noted
    • The license and copyright information is as shown in these files
  • Everything else: GPLv2

Authors

  • Mary Rohrdanz
  • Jun Ma
  • Thomas Laroche
  • Bradley Broom
  • Tod Casasent
  • Chris Wakefiled

About

Pipeline for creating interactive HTML data reports

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages