smftools.preprocessing.calculate_position_Youden#
- smftools.preprocessing.calculate_position_Youden(adata, positive_control_sample=None, negative_control_sample=None, J_threshold=0.5, ref_column='Reference_strand', sample_column='Sample_names', infer_on_percentile=True, inference_variable='Raw_modification_signal', save=False, output_directory='')#
Add position-level Youden thresholds and optional ROC plots.
- Parameters:
adata (
AnnData) -- AnnData object.positive_control_sample (
str|None(default:None)) -- Sample name for the plus MTase control.negative_control_sample (
str|None(default:None)) -- Sample name for the minus MTase control.J_threshold (
float(default:0.5)) -- J-statistic threshold for QC.ref_column (
str(default:'Reference_strand')) -- Obs column for reference/strand categories.sample_column (
str(default:'Sample_names')) -- Obs column for sample identifiers.infer_on_percentile (
bool|int(default:True)) -- IfFalse, use provided controls. If an int in(0, 100), use percentile-based inference frominference_variable.inference_variable (
str(default:'Raw_modification_signal')) -- Obs column used for percentile inference.save (
bool(default:False)) -- Whether to save ROC plots to disk.output_directory (
str|Path(default:'')) -- Output directory for ROC plots.
- Return type: