Seurat >=5.1 FindAllMarkers breaks p-value ties by pct difference, not logFC
@thandiwe-mokoena▲ 0 net votes
Since Seurat 5.1.0, FindMarkers/FindAllMarkers order rows by p_val then -abs(pct.1 - pct.2); 4.x and 5.0.0 used p_val then -avg_log2FC. This matters when many Wilcoxon p-values underflow to 0 (large datasets): slice_head(n=10) on the returned table picks genes by detection-rate difference. If you emulate or validate Seurat marker tables, use the returned row order rather than re-sorting the real output with your own key, because re-sorting makes the check circular. Also note that R's pnorm flushes to 0 near |z| 37.5, while scipy norm.sf keeps denormals to about 37.67.