Skip to content
PathoGenOmics-LabPublic

About

Post-hoc rescue and quality control of pangenome presence/absence matrices

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

236 Commits

Folders and files

Recore

Missing from the matrix. Still in the genome.

Recore searches every empty cell of a pangenome matrix in the assemblies,
puts back the genes that are really there, and keeps the evidence for each one.

Open the website

Install · Your command · Try it · How it works · Docs · Reference

For Panaroo, Roary, PPanGGOLiN, PanTA and PIRATE · pure Rust · Linux and macOS

CI License: AGPLv3 Rust 1.85+ DOI 10.5281/zenodo.23448590

Paula Ruiz-Rodriguez1 and Mireia Coscolla1
1. I2SysBio, University of Valencia-CSIC, FISABIO Joint Research Unit Infection and Public Health, Valencia, Spain

How Recore decides one empty cell, in seven steps: the matrix says absent, take the gene's sequence, search the assembly, look at what is there, check the neighbours, decide, write it down
One empty cell, seven steps. The interactive version lets you pick what the search finds.

1 · Install

Two commands. Recore uses minimap2 to search.

conda install -c bioconda minimap2     # or: brew install minimap2 / sudo apt install minimap2
cargo install --git https://github.com/PathoGenOmics-Lab/recore --locked

Needs Rust 1.85 or newer (rustup.rs), about a minute to build. Check with recore --version. From a clone, cargo build --release puts the binary at target/release/recore.

2 · Your command

Give it what your pangenome tool wrote and one assembly per genome, named like the matrix columns.

recore \
  -p gene_presence_absence.csv \
  -r pan_genome_reference.fa \
  -g genomes/ \
  -a annotations/ --synteny \
  --write-html-report \
  -t 8 -o recore_output/

That is Panaroo with GFF files. The website writes it for your tool and the files you have, and Inputs says how the names have to match.

3 · Or try it first

Twelve genomes with eleven false absences planted in them. About a minute.

curl -sO https://raw.githubusercontent.com/PathoGenOmics-Lab/recore/main/benchmarks/make_tutorial_dataset.py
python3 make_tutorial_dataset.py --out tutorial_data
recore -p tutorial_data/gene_presence_absence.csv \
       -r tutorial_data/pan_genome_reference.fa \
       -g tutorial_data/genomes -a tutorial_data/annotations --synteny \
       --tree tutorial_data/species.tree --write-html-report -o tutorial_out

tutorial_out/summary.txt should read:

Rescued:               11   every planted absence found
Matrix-corrected:      8    the other 3 are pseudogenes: kept out, with the reason

Then open tutorial_out/recore_report.html. The tutorial tells the story behind each number.

4 · What you get

Four files answer most questions. All of them.

File What it is
gene_presence_absence_recore.csv The corrected matrix, in the input's format (and as .Rtab). Feed it to your next tool.
gene_presence_absence_recore_states.csv The same matrix with a state in every cell: input, put back, kept out and why. For figures.
orthology_evidence.tsv One row per change: the evidence, the decision, and wording you can use in a paper.
recore_report.html The whole run in one page that works offline. Open it in any browser.

Explore an example report, the one the example run writes from synthetic data.

5 · One setting that matters

--matrix-policy picks which evidence reaches the corrected matrix. All of it stays in the audit files.

Policy What reaches the corrected matrix
strict Only genes tied to the same locus by the annotation or by their neighbours. Fewest changes.
balanced (default) Adds full-length genes found by sequence. Pseudogenes and partial copies stay out. Use it for papers.
sensitive Also puts back partial and disrupted copies that pass the quality guard. For exploring.

Matrix policies has the rules and the quality guard.

If something looks off

The first questions people ask are answered on the website. Still stuck? Ask in Discussions; Issues are for crashes and plainly wrong results.

Learn more

The website is plain HTML in docs/, so it also opens from a clone, offline: open docs/index.html. Every page of its Docs tab is a markdown file here as well:

Cite

Ruiz-Rodriguez P, Coscolla M. (2026). Recore: post-hoc rescue and quality control of pangenome presence/absence matrices. In preparation.

The software itself is archived on Zenodo: doi:10.5281/zenodo.23448590 for every version, or doi:10.5281/zenodo.23448591 for 1.0.0.

AGPL-3.0, see LICENSE · PathoGenOmics Lab · Paula Ruiz-Rodriguez, paula.ruiz.rodriguez@csic.es


Recore is developed with ❤️ by:

Paula Ruiz-Rodriguez

💻 🔬 🤔 🔣 🎨 🔧

Mireia Coscolla

🔍 🤔 🧑‍🏫 🔬 📓

This project follows the all-contributors specification (emoji key).

About

Post-hoc rescue and quality control of pangenome presence/absence matrices

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages