Reference
Every option, output file and cell state on one page.
Options
Only -p, -r and -g are required. recore --help prints the same list.
| Option | Default | What it does |
|---|---|---|
| Inputs | ||
-p, --presence-absence | required | The presence/absence matrix: Panaroo, Roary, PPanGGOLiN or PanTA CSV, or PIRATE's gene family table. |
-r, --pan-reference | required | One representative sequence per cluster, named like the matrix rows. |
-g, --genomes | required | Folder of assemblies, one per matrix column, named after it. |
-a, --annotations | none | Folder of GFF files, named like the assemblies. Lets Recore tell split, paralog and start-variant hits apart. |
--tree | none | Rooted Newick tree of the genomes, for gain and loss calls and the report's phylogeny. |
--reference-genome | none | A matrix column (or its AS identifier) to audit as the reference. |
--mobile-element-reference | none | FASTA of IS elements or transposases, for sequence support beside each rescue. |
| Search | ||
--min-identity | 90 | Minimum % identity for a hit. |
--min-coverage | 80 | Minimum % of the query a hit, or its merged fragments, must cover. |
--preset | asm5 | minimap2 preset: asm5 up to 5% divergence and faster, asm20 up to 20%. |
--min-prevalence | 0.1 | Only search clusters present in at least this fraction of genomes. 0 searches all. |
--multi-allele | off | Search every allele of a cluster, not only the longest. Slower, finds diverged alleles. |
--search-cache | none | Keep search results in a folder; a rerun aligns only what changed. |
| Decisions | ||
--synteny | off | Check each candidate's neighbouring genes before accepting it. Needs -a. |
--matrix-policy | balanced | Which evidence reaches the corrected matrix: strict, balanced or sensitive. |
| Outputs | ||
-o, --output | recore_output | Folder for every result. |
--write-html-report | off | Write recore_report.html, the run in one offline page. |
--write-corrected-gff | off | Write each GFF with the rescued genes added. |
--write-rescued-fasta | off | Write the sequence of every gene put back, as nucleotides and protein. |
| Mobile elements | ||
--mobile-element-min-identity | 85 | Minimum % identity for a mobile-element hit. |
--mobile-element-min-coverage | 50 | Minimum % coverage for a mobile-element hit. |
--mobile-element-window | 1000 | How far (bp) from a rescue a mobile element still counts. |
| Redundant clusters | ||
--nscluster | off | Merge clusters that differ as proteins but are the same DNA. |
--nsc-engine | minhash | minhash is built in; mmseqs2 aligns, and needs MMseqs2 installed. |
--nsc-kmer-size | 21 | k-mer size for the MinHash sketches. |
--nsc-threshold | 0.8 | Containment needed to merge, with MinHash. Higher merges less. |
--nsc-min-seq-id | 0.9 | Identity needed to merge, with MMseqs2. |
--nsc-coverage | 0.8 | Coverage needed to merge, with MMseqs2. |
| Run | ||
-t, --threads | 4 | Threads. |
-v, --verbose | off | Debug logging: name matches, GFF parsing, synteny decisions. |
-h, --help | Print this list. | |
-V, --version | Print the version. | |
No option matches.
Output files
Everything goes into the output folder. Your input files are never changed.
| File | Written | What it is for |
|---|---|---|
| Start here | ||
gene_presence_absence_recore.csv | always | The corrected matrix, in the input's layout, for downstream tools. |
gene_presence_absence_recore.Rtab | always | The same matrix as 1/0, for pyseer and R. |
gene_presence_absence_recore_states.csv | always | A state in every cell (see Cell states), for figures and audit. |
orthology_evidence.tsv | always | One row per decision: evidence, state, matrix action and wording. |
recore_report.html | --write-html-report | The whole run in one page that works offline. |
summary.txt | always | Counts in plain text: gaps, rescues, core genome before and after. |
| Rescues and rejections | ||
rescue_report.tsv | always | One row per rescued gene: type, identity, coverage, coordinates. |
synteny_rejected_report.tsv | --synteny, when any | Candidates whose neighbours did not match. |
paralog_rejected_report.tsv | when any | Paralog hits without synteny support. |
rescued_genes.fna, .faa | --write-rescued-fasta | Sequences of every gene put back. |
corrected_gff/*.recore.gff3 | --write-corrected-gff | Each GFF with the rescued genes added. |
| Genes, clusters and genomes | ||
evolutionary_events.tsv | always | What best explains each cluster: gain, loss, IS insertion, pseudogene, paralog. |
cluster_relationships.tsv | always | Clusters that look like one gene split in two. |
cluster_components.tsv, cluster_component_members.tsv | always | Groups of related clusters. |
cluster_locus_context.tsv, cluster_locus_summary.tsv | with -a | Each cluster's neighbours, and whether it sits at one locus. |
cluster_synteny_blocks.tsv | with -a | Five-gene neighbourhoods on each side, grouped per cluster. |
genome_qc.tsv | always | Per genome: how many rescues and missing annotations. |
reference_genome_audit.tsv | --reference-genome | Whether each cluster is really absent from the reference. |
reference_cluster_events.tsv | --reference-genome, when any | Reference-absent clusters that look like a reference allele or fragment. |
nscluster_report.tsv | --nscluster, when any | Clusters merged as the same DNA. |
run_manifest.json | always | Version, inputs and parameters, for reproducibility. |
Cell states
What gene_presence_absence_recore_states.csv says about each cell, and how the report draws it.
| State | Meaning | Put back with balanced |
|---|---|---|
PRESENT_INPUT | Present in your matrix. | already there |
STRICT_PRESENT | Same locus, by annotation or by its neighbours. | yes |
ALIAS_CLUSTER | The same gene, filed under another cluster. | yes |
SEQUENCE_ONLY | The full-length gene is in the assembly. | yes |
MISSING_CDS_UNVALIDATED | Full-length sequence where nothing is annotated, and no synteny to back it. | no |
PARTIAL_HOMOLOGY | Only part of the gene. | no |
PSEUDOGENE | The gene is there, but disrupted. | no |
HOMOLOG_PARALOG | A related gene, not the same one. | no |
REJECTED_CONTEXT | Its neighbours or the paralog check say otherwise. | no |
ABSENT | Searched; nothing found. | no |
NOT_SEARCHED_LOW_PREVALENCE | Not searched: the cluster is below --min-prevalence. | no |
NOT_SEARCHED_NO_CLUSTER_SEQUENCE | Not searched: no sequence for the cluster. | no |
NOT_SEARCHED_NO_FASTA | Not searched: no assembly for the genome. | no |
input
put back
merged as the same DNA (
--nscluster)
kept out, with the reason
absent
not searched
Rescue types
What Recore saw at the place a missing gene was found, in rescue_report.tsv.
| Type | What it means |
|---|---|
DROPPED | The gene is in the assembly and no other cluster claims that place: the matrix lost it. |
MISSING_CDS | The gene is in the assembly, but the GFF has no CDS there. |
SPLIT | That place is another cluster's gene, at 95% identity or more: one gene split in two clusters. |
FRAGMENTED | The gene is in pieces: across contig ends, an IS insertion or a large indel. |
ALIGNMENT_SPLIT | Several alignments make up the gene, with no real break between them. |
START_VARIANT | The same gene, starting at a different position. |
PARALOG | A related gene from the same family, under 95% identity: not the missing one. |
PSEUDOGENE | The gene is disrupted: an internal stop, a frameshift or a partial deletion. |
Go deeper
The long versions, with every column and every rule, in the documentation.
TutorialThe example run, number by number.
InputsWhat each tool writes, and how names match.
Output filesEvery table, column by column.
Matrix policiesThe three policies and the quality guard.
The reportEvery pane and control of the viewer.
ParametersEvery option, with what it changes.
How it worksEach step of the pipeline.
Evolutionary eventsHow an event is called, and how to word it.
Limits and speedWhat Recore does not claim; run time and memory.