You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ RecMpox is a command-line tool that **flags potential recombination events** in
10
10
2.**Alignment and diagnostic SNPs**: The two reference genomes are aligned using [Squirrel](https://github.com/aineniamh/squirrel), so that the same genomic positions correspond across all sequences. RecMpox then identifies positions where the two references differ at the same coordinates. These positions are defined as diagnostic SNPs, because they distinguish between the reference lineages. Positions where the references are identical are ignored, as they do not provide information for detecting recombination.
11
11
3.**Consensus genome classification**: Your consensus genomes are aligned to the same references. At each diagnostic SNP, the base is classified as matching reference 1, reference 2, or other (e.g., gaps or ambiguous bases).
12
12
4.**Flagging potential recombinants**: If both references contribute at least 10% of the diagnostic positions in a genome, RecMpox flags it as a potential recombinant, since no single lineage clearly dominates.
13
-
5.**Recombination tracts and breakpoints**: By examining the pattern of reference matches along the genome, RecMpox infers recombination tracts and identifies their breakpoints (start and end positions). To reduce false positives, runs of fewer than 2 consecutive diagnostic SNPs are ignored.
13
+
5.**Recombination tracts and breakpoints**: By examining the pattern of reference matches along the genome, RecMpox infers recombination tracts and identifies their breakpoints (start and end positions). By default, no consecutive-SNP filtering is applied (minimum run length = 1), but you can ignore single-SNP runs by adding `-breakpoint-snp` (or `-b`), which sets the minimum run length to 2.
14
14
6 **Outputs**:
15
15
- TSV file: or each genome, reports the number and proportion of diagnostic SNPs matching each reference, the resulting recombinant flag, and summary statistics used for tract inference.
16
16
- Interactive HTML report: Provides sortable tables, summary plots, per-sample visualisations, and genome-wide displays of inferred recombination tracts and breakpoints.
@@ -98,7 +98,7 @@ recmpox -i accessions.txt -o output -ref Ia,Ib # one accession per line or com
98
98
-`-ref1_g`, `-ref2_g`: Genotype labels for TSV/HTML (default from `-ref` or accession)
99
99
-`-include-indels`: Include diagnostic indels (default: SNPs only)
100
100
-`-min-indel-size`: Min indel length (bp) when using `-include-indels` (default: 100)
101
-
-`-m, --minor-ref-pct`: Minor reference % threshold for calling "potential recombinant" (default: 10). Increase to be more conservative (e.g. 15, 20).
101
+
-`-m, -minor-ref-pct`: Minor reference % threshold for calling "potential recombinant" (default: 10). Increase to be more conservative (e.g. 15, 20).
'<details class="collapsible-section diagnostic-strips-chart" open id="breakpointsStripsSection">'
738
739
'<summary><h2>Recombination breakpoints per sample</h2></summary>'
739
740
'<div class="section-inner chart-section">'
740
-
'<p class="threshold-note">Predicted recombination breakpoints within each genome. We show the beginning and end of each detected tract (first and last diagnostic SNP of that clade). The <strong>breakpoint lies in the region between</strong> the end of one tract and the start of the next; we cannot pinpoint its exact position because those regions have no diagnostic SNPs (genetically identical). Breakpoints require at least 2 consecutive SNPs on both sides (single-SNP runs are ignored). <span id="breakpointsFilterCount" aria-live="polite"></span></p>'
741
+
'<p class="threshold-note">Predicted recombination breakpoints within each genome. We show the beginning and end of each detected tract (first and last diagnostic SNP of that clade). The <strong>breakpoint lies in the region between</strong> the end of one tract and the start of the next; we cannot pinpoint its exact position because those regions have no diagnostic SNPs (genetically identical). Minimum consecutive diagnostic SNPs per tract: <strong>{min_consecutive}</strong>. <span id="breakpointsFilterCount" aria-live="polite"></span></p>'
help=f"Minor reference %% threshold for calling 'potential recombinant' (default: {MINOR_REF_PCT_THRESHOLD:g}).",
1231
1232
)
1233
+
optional.add_argument(
1234
+
"-b",
1235
+
"-breakpoint-snp",
1236
+
dest="breakpoint_min_snps",
1237
+
action="store_const",
1238
+
const=2,
1239
+
default=1,
1240
+
help="Ignore single-SNP runs when inferring breakpoints (sets minimum consecutive diagnostic SNPs per tract to 2; default: 1).",
1241
+
)
1232
1242
required.add_argument("-i", "-input", dest="input", type=Path, default=None, metavar="", help="FASTA file, directory of .fa/.fasta/.fna, .txt file of accessions (one per line or comma-separated), NCBI accession, or comma-separated accessions (e.g. -i ACC1,ACC2 or -i accessions.txt)")
1233
1243
required.add_argument("-ref", dest="ref", type=str, default=None, metavar="", help="Reference pair: two comma-separated labels among Ia, Ib, IIa, IIb (e.g. Ia,Ib or Ib,IIb). Uses built-in defaults. Either -ref or both -ref1 and -ref2 are required.")
1234
1244
required.add_argument("-ref1", type=str, default=None, metavar="", help="First reference: FASTA path or NCBI accession; overrides ref1 when using -ref. Required if -ref is not used.")
@@ -1251,7 +1261,8 @@ def main() -> None:
1251
1261
ifgetattr(args, "minor_ref_pct", None) isNone:
1252
1262
args.minor_ref_pct=MINOR_REF_PCT_THRESHOLD
1253
1263
ifargs.minor_ref_pct<0orargs.minor_ref_pct>100:
1254
-
parser.error("--minor-ref-pct must be between 0 and 100")
1264
+
parser.error("-minor-ref-pct must be between 0 and 100")
1265
+
# breakpoint_min_snps is a fixed 1 (default) or 2 (when -b/-breakpoint-snp is used)
0 commit comments