Recore Recore

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.

OptionDefaultWhat it does
Inputs
-p, --presence-absencerequiredThe presence/absence matrix: Panaroo, Roary, PPanGGOLiN or PanTA CSV, or PIRATE's gene family table.
-r, --pan-referencerequiredOne representative sequence per cluster, named like the matrix rows.
-g, --genomesrequiredFolder of assemblies, one per matrix column, named after it.
-a, --annotationsnoneFolder of GFF files, named like the assemblies. Lets Recore tell split, paralog and start-variant hits apart.
--treenoneRooted Newick tree of the genomes, for gain and loss calls and the report's phylogeny.
--reference-genomenoneA matrix column (or its AS identifier) to audit as the reference.
--mobile-element-referencenoneFASTA of IS elements or transposases, for sequence support beside each rescue.
Search
--min-identity90Minimum % identity for a hit.
--min-coverage80Minimum % of the query a hit, or its merged fragments, must cover.
--presetasm5minimap2 preset: asm5 up to 5% divergence and faster, asm20 up to 20%.
--min-prevalence0.1Only search clusters present in at least this fraction of genomes. 0 searches all.
--multi-alleleoffSearch every allele of a cluster, not only the longest. Slower, finds diverged alleles.
--search-cachenoneKeep search results in a folder; a rerun aligns only what changed.
Decisions
--syntenyoffCheck each candidate's neighbouring genes before accepting it. Needs -a.
--matrix-policybalancedWhich evidence reaches the corrected matrix: strict, balanced or sensitive.
Outputs
-o, --outputrecore_outputFolder for every result.
--write-html-reportoffWrite recore_report.html, the run in one offline page.
--write-corrected-gffoffWrite each GFF with the rescued genes added.
--write-rescued-fastaoffWrite the sequence of every gene put back, as nucleotides and protein.
Mobile elements
--mobile-element-min-identity85Minimum % identity for a mobile-element hit.
--mobile-element-min-coverage50Minimum % coverage for a mobile-element hit.
--mobile-element-window1000How far (bp) from a rescue a mobile element still counts.
Redundant clusters
--nsclusteroffMerge clusters that differ as proteins but are the same DNA.
--nsc-engineminhashminhash is built in; mmseqs2 aligns, and needs MMseqs2 installed.
--nsc-kmer-size21k-mer size for the MinHash sketches.
--nsc-threshold0.8Containment needed to merge, with MinHash. Higher merges less.
--nsc-min-seq-id0.9Identity needed to merge, with MMseqs2.
--nsc-coverage0.8Coverage needed to merge, with MMseqs2.
Run
-t, --threads4Threads.
-v, --verboseoffDebug logging: name matches, GFF parsing, synteny decisions.
-h, --helpPrint this list.
-V, --versionPrint the version.

No option matches.

Output files

Everything goes into the output folder. Your input files are never changed.

FileWrittenWhat it is for
Start here
gene_presence_absence_recore.csvalwaysThe corrected matrix, in the input's layout, for downstream tools.
gene_presence_absence_recore.RtabalwaysThe same matrix as 1/0, for pyseer and R.
gene_presence_absence_recore_states.csvalwaysA state in every cell (see Cell states), for figures and audit.
orthology_evidence.tsvalwaysOne row per decision: evidence, state, matrix action and wording.
recore_report.html--write-html-reportThe whole run in one page that works offline.
summary.txtalwaysCounts in plain text: gaps, rescues, core genome before and after.
Rescues and rejections
rescue_report.tsvalwaysOne row per rescued gene: type, identity, coverage, coordinates.
synteny_rejected_report.tsv--synteny, when anyCandidates whose neighbours did not match.
paralog_rejected_report.tsvwhen anyParalog hits without synteny support.
rescued_genes.fna, .faa--write-rescued-fastaSequences of every gene put back.
corrected_gff/*.recore.gff3--write-corrected-gffEach GFF with the rescued genes added.
Genes, clusters and genomes
evolutionary_events.tsvalwaysWhat best explains each cluster: gain, loss, IS insertion, pseudogene, paralog.
cluster_relationships.tsvalwaysClusters that look like one gene split in two.
cluster_components.tsv, cluster_component_members.tsvalwaysGroups of related clusters.
cluster_locus_context.tsv, cluster_locus_summary.tsvwith -aEach cluster's neighbours, and whether it sits at one locus.
cluster_synteny_blocks.tsvwith -aFive-gene neighbourhoods on each side, grouped per cluster.
genome_qc.tsvalwaysPer genome: how many rescues and missing annotations.
reference_genome_audit.tsv--reference-genomeWhether each cluster is really absent from the reference.
reference_cluster_events.tsv--reference-genome, when anyReference-absent clusters that look like a reference allele or fragment.
nscluster_report.tsv--nscluster, when anyClusters merged as the same DNA.
run_manifest.jsonalwaysVersion, inputs and parameters, for reproducibility.

Cell states

What gene_presence_absence_recore_states.csv says about each cell, and how the report draws it.

StateMeaningPut back with balanced
PRESENT_INPUTPresent in your matrix.already there
STRICT_PRESENTSame locus, by annotation or by its neighbours.yes
ALIAS_CLUSTERThe same gene, filed under another cluster.yes
SEQUENCE_ONLYThe full-length gene is in the assembly.yes
MISSING_CDS_UNVALIDATEDFull-length sequence where nothing is annotated, and no synteny to back it.no
PARTIAL_HOMOLOGYOnly part of the gene.no
PSEUDOGENEThe gene is there, but disrupted.no
HOMOLOG_PARALOGA related gene, not the same one.no
REJECTED_CONTEXTIts neighbours or the paralog check say otherwise.no
ABSENTSearched; nothing found.no
NOT_SEARCHED_LOW_PREVALENCENot searched: the cluster is below --min-prevalence.no
NOT_SEARCHED_NO_CLUSTER_SEQUENCENot searched: no sequence for the cluster.no
NOT_SEARCHED_NO_FASTANot 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.

TypeWhat it means
DROPPEDThe gene is in the assembly and no other cluster claims that place: the matrix lost it.
MISSING_CDSThe gene is in the assembly, but the GFF has no CDS there.
SPLITThat place is another cluster's gene, at 95% identity or more: one gene split in two clusters.
FRAGMENTEDThe gene is in pieces: across contig ends, an IS insertion or a large indel.
ALIGNMENT_SPLITSeveral alignments make up the gene, with no real break between them.
START_VARIANTThe same gene, starting at a different position.
PARALOGA related gene from the same family, under 95% identity: not the missing one.
PSEUDOGENEThe gene is disrupted: an internal stop, a frameshift or a partial deletion.