Skip to main content

Pipeline Output Processor and UPloader for Eyrie - parsing sequencing analysis results

Project description

Eyrie POPUP - Pipeline Output Processor and UPloader

A Python tool for processing pipeline outputs and uploading sequencing analysis results to the Eyrie database.

Features

  • YAML Configuration: Flexible configuration format for describing analysis runs
  • Multi-format Support: Parse FastQC, Krona, MultiQC, NanoPlot, and taxonomic abundance files
  • Contamination Detection: Automatic flagging of potential contaminants
  • API Integration: Direct upload to Eyrie database via REST API
  • CLI Interface: Easy-to-use command line tool

Installation

cd tools/eyrie-popup
pip install -e .

Usage

Generate Configuration

Auto-generate a configuration file for a sample:

popup generate-config /path/to/analysis/results sample_id --output config.yaml

Upload Sample

Parse analysis results and upload to Eyrie:

popup upload --sample config.yaml --api http://localhost:8000/api --username admin --password admin

Use --dry-run to parse without uploading:

popup upload --sample config.yaml --dry-run --verbose

Test Connection

Test connection to Eyrie API:

popup test-connection --api http://localhost:8000/api --username admin --password admin

Configuration Format

The YAML configuration file describes the analysis run structure:

# Sample information
sample:
  sample_id: "barcode01"
  sample_name: "Sample_BC01"
  lims_id: "LIMS_BC01_001"
  barcode: "barcode01"
  sequencing_run_id: "RUN_2025_09_30"
  classification_type: "16S"  # or "ITS"

# Base directory containing all analysis outputs
base_path: "/path/to/analysis/results"

# Run directory name for file paths (defaults to sequencing_run_id if not specified)
run_directory: "test"

# Quality control files
fastqc:
  enabled: true
  directory: "fastqc"
  file: "barcode01_fastqc.html"

# Taxonomic classification plots
krona:
  enabled: true
  directory: "krona"
  file: "barcode01_krona.html"

# Nanopore-specific plots and statistics
nanoplot:
  unprocessed:
    enabled: true
    directory: "nanoplot_unprocessed"
    stats_file: "barcode01_nanoplot_unprocessed_NanoStats.txt"
    html_files:
      - "barcode01_nanoplot_unprocessed_NanoPlot-report.html"
      # ... additional HTML files
  processed:
    enabled: true
    directory: "nanoplot_processed" 
    stats_file: "barcode01_nanoplot_processed_NanoStats.txt"
    html_files:
      - "barcode01_nanoplot_processed_NanoPlot-report.html"
      # ... additional HTML files

# Analysis results
results:
  enabled: true
  directory: "results"
  rel_abundance_file: "barcode01_filtered.fastq_rel-abundance.tsv"

Supported File Types

  • FastQC: HTML quality control reports per sample
  • Krona: Interactive taxonomic classification plots
  • MultiQC: Aggregated quality control reports
  • NanoPlot: Nanopore-specific quality plots and statistics
  • Taxonomic Abundances: Relative abundance TSV files
  • Pipeline Files: Associated analysis outputs

Contamination Detection

The tool can automatically detect potential contaminants based on:

  • Species names in a suspected contaminants list
  • Abundance thresholds (e.g., >5% abundance)
  • Custom contamination rules

API Integration

Samples are uploaded to Eyrie with:

  • Quality control status (passed/failed/unprocessed)
  • Statistical summaries
  • File paths for visualization
  • Taxonomic classification data
  • Contamination flags

Development

Install development dependencies:

pip install -e ".[dev]"

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

eyrie_popup-0.1.0.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eyrie_popup-0.1.0-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file eyrie_popup-0.1.0.tar.gz.

File metadata

  • Download URL: eyrie_popup-0.1.0.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for eyrie_popup-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ec2f2a08951d974c8d6e65960ccc6ec425133d53abee5133c11e5d4826e80dc3
MD5 1ca2659fb77f42f148213e49a5632901
BLAKE2b-256 dfdf245d999e9533d9a8989bead049253425dfb5f95d7dbc924bcc0a2edd56de

See more details on using hashes here.

File details

Details for the file eyrie_popup-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: eyrie_popup-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for eyrie_popup-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 98156c7142281fea0405e0e1bfc3baee3b8686f6f5b4d2134d30bc7118bd36ad
MD5 cecffdc16b5aeec816747e0a550f779a
BLAKE2b-256 a5ec9bfe83c460feabddfa5e405738ee455f125c84c1d3b9433e5d1590ac1e4b

See more details on using hashes here.

Supported by

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