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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f77d8f0d68b36cb0b3cd955f752af8f6c13910d4e42c0d123248b8ea66b8fe40
|
|
| MD5 |
814c16c8c2996b50dfa0a4b2e2f2f582
|
|
| BLAKE2b-256 |
f21d00a4ea5152bfdd032f72f99a82ef4922077099440a38f019b443fe18b391
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4913fa311ea989cc0c4d0b58864f3057cdc7db7f7265b47c574e3002643a2048
|
|
| MD5 |
c6b3bb0a972c0046a38436af3426eaea
|
|
| BLAKE2b-256 |
9968ce40305ddfb6fdfdbe0fbdfc23a3a0e275ea57a48c3d6b4a73f0699c51e4
|