Aller au contenu principal
Accès ouvert déclaré 2026 software

PIGSTI: a modular, reproducible pipeline for detecting species identity, pathogens, and microbes from animal palaeogenomic data.

0Citations signalées — pas une note de qualité
28Institutions déclarées
16Pays d’affiliation déclarés

Résumé fourni par la source

PIGSTI Pathogen anImal Genome Sequence ToolkIt PIGSTI: a modular, reproducible pipeline for detecting species identity, pathogens, and microbes from animal palaeogenomic data. A Snakemake workflow for shotgun libraries from ancient animal remains: competitive host identification, host/mtDNA mapping, metagenomic screening, pathogen reference mapping, and multi-criteria authentication. Table of contents What does PIGSTI do? What do you need? Prepare the sample sheet Configure the pipeline Quick start Outputs Pathogen authentication Optional modules Core tools Documentation License What does PIGSTI do? PIGSTI (Pathogen anImal Genome Sequence ToolkIt) is a modular Snakemake pipeline for species identity, pathogen screening, and microbial authentication in shotgun data from ancient animal remains. After adapter trimming, reads follow two parallel routes — host mapping and metagenomic screening — before pathogen candidates are mapped and scored. At a high level (see Figure 1): Preprocessing — adapter trimming and quality filtering (AdapterRemoval for paired-end with collapse; cutadapt for single-end). Host route — competitive host identification on collapsed reads (FastQ Screen / Bowtie2): species with the highest total mapped reads and the highest one-hit-one-genome count; optional full-dataset rescreen when endogenous content is very low (fastq_screen_full_dataset_rescreen). PIGSTI flags human contamination. Nuclear and mitochondrial mapping (BWA or Bowtie2), PCR replicate merging (samtools), 4 bp terminal soft-clipping (softclip_mod.py), DamageProfiler, Qualimap, endogenous DNA estimates, and optional genetic sexing (cattle, goat, sheep, dog). Metagenomics route — in parallel, exact-duplicate removal and complexity filtering (PRINSEQ++), mammalian read depletion against a multi-host chimera index (Bowtie2), pooling of libraries, optional decOM source tracking, then KrakenUniq classification (optional MALT/HOPS). Pathogen route — candidates from Guellil E-value screening (default) ∪ optional HOPS, with per-pathogen thresholds in the spreadsheet; reference mapping (BWA or Bowtie2); authentication with a composite score out of 10 (or 13 with HOPS): KrakenUniq reads, E-value, relative entropy, edit-distance decay (damaged / non-damaged), 5′ C→T damage, ANI, breadth ratio, mapping ratio, and genus rank. Reports — cohort Excel tables, per-pathogen PDFs, and a run provenance manifest. Two IDs matter throughout ID Meaning pcr Sequencing library (one FASTQ pair / single-end file) sample Biological individual — PCR libraries are merged per sample after host mapping; pooled reads are merged at sample level for KrakenUniq, HOPS, and pathogen mapping Host identification (FastQ Screen) — By default, screening runs on a read subset; if #One_hit_one_genome is below 50, PIGSTI can rescreen the full collapsed FASTQ (fastq_screen_full_dataset_min_one_hit: 50). Host species is assigned from competitive mapping against your reference panel (see [docs/CONFIG.md](docs/CONFIG.md)). What do you need? Requirement Details OS Linux (recommended) or macOS Software Miniconda / Mamba, Snakemake ≥ 7.32 Config file config/config.yaml — easiest via the interactive HTML helper (below) Sample sheet Tab-separated config/samples.tsv (see Prepare the sample sheet) Pathogen table config/Pathogen_spreadsheet.csv — one reference FASTA per row (bwa index column); optional per-pathogen E-value / read thresholds Pathogen panel builder Optional: python create_pigsti_pathogen_database.py downloads references and builds indices KrakenUniq database NCBI NT–style DB used by aMETA — doi:10.17044/scilifelab.20205504 · set kraken_db: to that directory Chimera / mammal index Bowtie2 prefix for host-read depletion (host_index) Host & mtDNA references FASTA paths (BWA) or Bowtie2 prefixes per species — depends on host_aligner Pathogen references One FASTA (or index) per spreadsheet row (bwa index column); build a panel with [create_pigsti_pathogen_database.py](create_pigsti_pathogen_database.py) Optional: HOPS MALT index + Resources; decOM sources. KrakenUniq tip: Point kraken_db at the unpacked aMETA NT database root (the folder that contains the KrakenUniq index files). You do not need to rebuild it for a standard PIGSTI run. Prepare the sample sheet Copy the template and edit paths on your machine: cp config/samples.example.tsv config/samples.tsv Required columns (tab-separated): Column Required Description sample yes Biological sample ID pcr recommended Library ID (defaults to sample if omitted) r1 yes Absolute or repo-relative path to R1 FASTQ (.fastq.gz) r2 for PE R2 path; leave empty for single-end RGLB recommended Read-group library ID sequencing_run optional Run / batch label Example sample pcr r1 r2 RGLB sequencing_run Pig01 Pig01_PCR1 /path/to/Pig01_PCR1_R1.fastq.gz /path/to/Pig01_PCR1_R2.fastq.gz LIB01 Run1 Pig01 Pig01_PCR2 /path/to/Pig01_PCR2_R1.fastq.gz /path/to/Pig01_PCR2_R2.fastq.gz LIB02 Run1 Sample02 Sample02_SE /path/to/Sample02_R1.fastq.gz LIB03 Run1 Same sample, different pcr → libraries are merged at the biological-sample level after host mapping and filtering, and for KrakenUniq / pathogen mapping. Paths must exist before the run (startup validation checks them). Also prepare the pathogen spreadsheet: cp config/Pathogen_spreadsheet.example.csv config/Pathogen_spreadsheet.csv Fill Krakenuniq name, Hops name, and bwa index (pathogen FASTA path). Optional per-pathogen overrides: Guellil_et_al_Evalue_threshold, min_reads, min_escore (e.g. stricter filtering for commensals such as E. coli). Configure the pipeline Recommended — HTML config facilitator Open this file in any browser, fill the form, then download / copy config.yaml: [config/pigsti_config_generator.html](config/pigsti_config_generator.html) It covers manifests, adapters, aligners, host references, Kraken / chimera paths, optional HOPS (including parallel MALT), detection thresholds (E-value vs E-score), and authentication criteria. Or edit YAML by hand cp config/config.example.yaml config/config.yaml Minimum keys to set: samples: "config/samples.tsv" pathogen_spreadsheet: "config/Pathogen_spreadsheet.csv" kraken_db: "/path/to/aMETA_NT_krakenuniq_db" # from doi:10.17044/scilifelab.20205504 host_index: "/path/to/refs/chimera" # Bowtie2 prefix host_aligner: bwa pathogen_aligner: bwa pathogen_mapping_mode: default # recommended; or super_careful bwa_indices: Pig: "/path/to/sus_scrofa.fa" mtDNA_indices: Pig: "/path/to/pig_mito.fa" pathogen_detection_criteria: use_evalue_for_detection: true guellil_evalue_threshold: 0.001 reads_threshold: 50 When host_aligner: bowtie2, use bowtie2_indices and bowtie2_mtDNA_indices instead of bwa_indices / mtDNA_indices. Full key list: [docs/CONFIG.md](docs/CONFIG.md). Quick start # 1. Clone git clone https://github.com/LouisLhote/PIGSTI.git cd PIGSTI # 2. Driver environment (per-rule conda envs are created on first run) conda env create -n pigsti-snake -f PIGSTI_snakemake.yaml conda activate pigsti-snake # 3. Config + manifests cp config/config.example.yaml config/config.yaml cp config/samples.example.tsv config/samples.tsv cp config/Pathogen_spreadsheet.example.csv config/Pathogen_spreadsheet.csv # → edit paths, or use config/pigsti_config_generator.html # 4. Dry-run (validation runs at Snakefile load) snakemake -n -p --use-conda --conda-frontend mamba \ --conda-prefix .snakemake/conda --cores 32 # 5. Run snakemake --use-conda --conda-frontend mamba \ --conda-prefix .snakemake/conda --cores 32 --rerun-incomplete Write results to another disk: snakemake --use-conda --cores 32 --config results_root=/path/to/output Outputs results/ ├── libraries/{pcr}/ adapter_removal, fastq_screen, host_mapping/, mtdna_mapping/ ├── samples/{bio}/ merged Qualimap, optional sexing ├── pools/ unaligned FASTQs, merged BAMs ├── metagenomics/ krakenuniq/, hops/, decOM/ ├── pathogen/{bio}/ evalue/, pathogen_mapping/, summary/ ├── final/ cohort Excel, heatmaps, run_manifest.json └── workflow/ checkpoints, validation stamp De

Ce résumé expose les affirmations des auteurs. BNTIC ne l’interprète pas comme une validation indépendante des résultats.

Contrôle bibliographique ouvert

La source scientifique ouverte est momentanément indisponible.

Institutions déclarées

Une affiliation ne permet pas de déduire la nationalité d’un auteur.

BNTIC News n’est pas le producteur de ces données. Recherche à la demande dans Crossref et Europe PMC, sans clé ; OpenAlex reste optionnel. Aucun service payant requis, aucune réponse conservée. Sources et limites.