The RF JackKnife takes one or more XML reactivity files, and a set of reference RNA structures in dotbracket notation, and iteratively calls rf-fold by tuning the slope and intercept folding parameters. This is useful to calibrate the folding parameters for a specific probing reagent or experiment type.
It produces a CSV table the FMI (Fowlkes-Mallows index, the geometric mean of PPV and sensitivity), or the mFMI (modified FMI, for additional details check the Metrics section of RF Compare) for each slope/intercept pair.
R can be used to easily generate heatmaps using these CSV tables:

library(gplots)
library(RColorBrewer)
csv<-read.csv("FMI.csv", sep = ";", check.names = FALSE)
row.names(csv)<-csv$FMI
csv<-csv[,-1]
csv<-data.matrix(csv)
heatmap.2(csv[nrow(csv):1,], col = rev(brewer.pal(11, "Spectral")), trace = "none", cellnote = round(csv[nrow(csv):1,], digits = 2), notecol = "black", Rowv = FALSE, Colv = FALSE, dendrogram = "none", xlab = "Intercept (kcal/mol)", ylab = "Slope (kcal/mol)", key = FALSE)


PPV Sensitivity table

Usage

To list the required parameters, simply type:

$ rf-jackknife -h
Parameter Type Description
-r or --reference string A file containing reference structures in Vienna format (dotbracket notation)
-p or --processors int Number of processors to use (Default: 1)
-o or --output-dir string Output directory (Default: rf_jackknife/)
-t or --tmp-dir string Temporary directory (Default: /tmp)
-ow or --overwrite Overwrites output directory (if the specified path already exists)
-sl or --slope float,float Range of slope values to test (Default: 0,5)
-in or --intercept float,float Range of intercept values to test (Default: -3,0)
-ss or --slope-step float Step for testing slope values (Default: 0.2)
-is or --intercept-step float Step for testing intercept values (Default: 0.2)
-x or --relaxed Uses relaxed criteria (Deigan et al., 2009) to calculate the FMI
-m or --mFMI Uses modified FMI (mFMI, Lan et al., 2022; for additional details check the Metrics section of RF Compare) instead of standard FMI to quantify the agreement between predicted and reference structure
-kp or --keep-pseudoknots Keeps pseudoknotted basepairs in reference structure
-kl or --keep-lonelypairs Keeps lonely basepairs (helices of length 1 bp) in reference structure
-i or --ignore-sequence Ignores sequence differences (e.g. SNVs) between the compared structures
-e or --median The FMI across multiple reference structures is aggregated by median
Note: by default, FMI values are aggregated by geometric mean
-am or --arithmetic-mean The FMI across multiple reference structures is aggregated by arithmetic mean
Note: by default, FMI values are aggregated by geometric mean
-rf or --rf-fold string Path to rf-fold executable (Default: assumes rf-fold is in PATH)
-rp or --rf-fold-params string Manually specify additional RF Fold parameters (e.g. -rp "-md 500 -m 2")


Output CSV files

RF JackKnife produces a CSV file reporting the FMI (or mFMI) for each intercept (x-axis) and slope (y-axis) value pair