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.2.0.tar.gz (12.7 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.2.0-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: eyrie_popup-0.2.0.tar.gz
  • Upload date:
  • Size: 12.7 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.2.0.tar.gz
Algorithm Hash digest
SHA256 f77d8f0d68b36cb0b3cd955f752af8f6c13910d4e42c0d123248b8ea66b8fe40
MD5 814c16c8c2996b50dfa0a4b2e2f2f582
BLAKE2b-256 f21d00a4ea5152bfdd032f72f99a82ef4922077099440a38f019b443fe18b391

See more details on using hashes here.

File details

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

File metadata

  • Download URL: eyrie_popup-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 18.5 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4913fa311ea989cc0c4d0b58864f3057cdc7db7f7265b47c574e3002643a2048
MD5 c6b3bb0a972c0046a38436af3426eaea
BLAKE2b-256 9968ce40305ddfb6fdfdbe0fbdfc23a3a0e275ea57a48c3d6b4a73f0699c51e4

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