smftools.preprocessing.calculate_position_Youden

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)) -- If False, use provided controls. If an int in (0, 100), use percentile-based inference from inference_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:

None