diff --git a/.gitignore b/.gitignore index 67aca49..e24a55c 100644 --- a/.gitignore +++ b/.gitignore @@ -8,14 +8,14 @@ build/ dist/ docs/_build/ docs/api/generated/ -benchmarking/lr_2026_atera/data/* -!benchmarking/lr_2026_atera/data/.gitkeep -benchmarking/lr_2026_atera/logs/* -!benchmarking/lr_2026_atera/logs/.gitkeep -benchmarking/lr_2026_atera/results/* -!benchmarking/lr_2026_atera/results/.gitkeep -benchmarking/lr_2026_atera/reports/* -!benchmarking/lr_2026_atera/reports/.gitkeep -benchmarking/lr_2026_atera/runs/* -!benchmarking/lr_2026_atera/runs/.gitkeep -benchmarking/lr_2026_atera/pdc_collected/ +benchmarking/cci_2026_atera/data/* +!benchmarking/cci_2026_atera/data/.gitkeep +benchmarking/cci_2026_atera/logs/* +!benchmarking/cci_2026_atera/logs/.gitkeep +benchmarking/cci_2026_atera/results/* +!benchmarking/cci_2026_atera/results/.gitkeep +benchmarking/cci_2026_atera/reports/* +!benchmarking/cci_2026_atera/reports/.gitkeep +benchmarking/cci_2026_atera/runs/* +!benchmarking/cci_2026_atera/runs/.gitkeep +benchmarking/cci_2026_atera/pdc_collected/ diff --git a/README.md b/README.md index fd71019..fd5806a 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@
- Xenium I/O, multimodal analysis, topology workflows, contour-native spatial profiling, GMI inference, mechanostress analysis, and AI-driven spatial pathology handoff. + Xenium I/O, multimodal analysis, topology workflows, contour-native spatial profiling, GMI inference, mechanostress analysis, and optional external workflow bridges.
@@ -28,21 +28,22 @@ Releases
-pyXenium is a Python toolkit for **10x Genomics Xenium** with eight feature areas: +pyXenium is a Python toolkit for **10x Genomics Xenium** with nine feature areas: - `pyXenium.io`: Xenium artifact loading, partial export recovery, SData I/O, and SpatialData-compatible export. - `pyXenium.multimodal`: canonical RNA + protein loading, joint analysis, immune-resistance scoring, and packaged workflows. -- `pyXenium.ligand_receptor`: topology-native ligand-receptor analysis. +- `pyXenium.cci`: topology-native cell-cell interaction analysis. - `pyXenium.pathway`: pathway topology analysis and pathway activity scoring. - `pyXenium.contour`: contour import, contour expansion, and contour-aware density profiling around polygon annotations. - `pyXenium.gmi`: contour-level GMI modeling for sparse main-effect and interaction discovery in spatial transcriptomics. - `pyXenium.mechanostress`: morphology-derived mechanical stress states, including fibroblast axis strength, tumor-stroma growth patterning, and cell polarity. - AI-Driven Spatial Pathologist via `spatho`: an optional external workflow layer for AI-driven spatial pathology, built on the Xenium data foundation provided by pyXenium's `XeniumSData` structure. +- `pyXenium.perturb`: SpatialPerturb Bridge for optional Perturb-seq reference projection onto Xenium tissue through the external `SpatialPerturb` package. Legacy compatibility entry points under `pyXenium.analysis`, `pyXenium.validation`, and `pyXenium.io.load_xenium_gene_protein(...)` remain importable, but new code should target the -canonical pyXenium namespaces above. The `spatho` workflow is installed and run separately; pyXenium -does not vendor it or add it as a runtime dependency. +canonical pyXenium namespaces above. The `spatho` and `SpatialPerturb` workflows are installed +and run separately; pyXenium does not vendor them or add them as core runtime dependencies. ## Release & Build @@ -73,6 +74,12 @@ For documentation work: pip install -e ".[docs]" ``` +For the optional SpatialPerturb Bridge runtime on Python 3.9+: + +```bash +pip install -e ".[perturb]" +``` + ## Quick examples ### Xenium I/O @@ -166,11 +173,39 @@ spatho doctor --config workflow.json spatho run --config workflow.json ``` -In pyXenium, this is documented as the eighth feature area rather than a new package namespace. +In pyXenium, this is documented as an optional external workflow bridge rather than a new +`pyXenium.spatho` namespace. The handoff is possible because `XeniumSData` keeps the cell table, transcript points, cell/nucleus boundaries, H&E image metadata, and SpatialData-compatible organization together for downstream tools. +### SpatialPerturb Bridge via SpatialPerturb + +[`SpatialPerturb`](https://github.com/hutaobo/SpatialPerturb) is an external workflow package +for combining spatial transcriptomics with Perturb-seq references. pyXenium exposes a lightweight +`pyXenium.perturb` bridge that writes a handoff JSON and stable external CLI commands without +vendoring the SpatialPerturb algorithms. + +```python +from pyXenium.perturb import SpatialPerturbBridgeConfig, write_spatialperturb_handoff + +spec = write_spatialperturb_handoff( + SpatialPerturbBridgeConfig( + xenium_path="/path/to/Xenium_outs", + output_dir="spatialperturb_reports/breast_case_01", + cell_group_path="/path/to/cell_groups.csv", + roi_geojson_path="/path/to/xenium_explorer_annotations.geojson", + sample_name="breast_case_01", + ), + "spatialperturb_bridge.json", +) +print(spec["command_text"]["run_reference_benchmark"]) +``` + +SpatialPerturb Bridge scores mean Perturb-seq-derived program similarity projected onto Xenium +tissue. They do not mean the tissue cell contains the corresponding knockout, guide, or drug +perturbation. + ## Documentation structure The docs mirror the package surfaces, high-level workflows, and external handoffs: @@ -180,6 +215,7 @@ The docs mirror the package surfaces, high-level workflows, and external handoff - Workflows - API Reference - AI-Driven Spatial Pathologist via `spatho` +- SpatialPerturb Bridge via `SpatialPerturb` - Changelog Start here: [pyxenium.readthedocs.io](https://pyxenium.readthedocs.io/en/latest/) diff --git a/benchmarking/bmnet_pdc/README.md b/benchmarking/bmnet_pdc/README.md new file mode 100644 index 0000000..35d431c --- /dev/null +++ b/benchmarking/bmnet_pdc/README.md @@ -0,0 +1,85 @@ +# BM-Net/H&E morphology increment pilot on PDC + +This scaffold runs a breast H&E morphology increment pilot for the aligned +Xenium RNA + H&E contour workflow. It is intentionally separate from the +published tutorial path so existing `run_contour_boundary_ecology_pilot` +behavior stays unchanged. + +Default dataset: + +```text +/cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/data/source_cache/breast/WTA_Preview_FFPE_Breast_Cancer_outs +``` + +Default BM-Net pilot root: + +```text +/cfs/klemming/scratch/h/hutaobo/pyxenium_bmnet_morphology_2026-04 +``` + +## Backends + +- `deterministic-smoke`: dependency-free BM-Net-like H&E proxy for validating + contour cropping, schema, artifacts, Slurm, and downstream increment tests. + This is not biological evidence. +- `bmnet-local`: loads a local checkpoint through a MobileNetV3-small BM-Net-like + head. Use this only when a compatible BM-Net checkpoint is available. +- `bmnet-like-trainable`: MobileNetV3-small + classifier head for local + training/fine-tuning experiments. +- `hf-pathology-backbone`: uses a Hugging Face pathology backbone such as + `1aurent/vit_small_patch8_224.lunit_dino` or `wisdomik/QuiltNet-B-32` as a + surrogate feature extractor and writes `pathology__...` features rather than + BM-Net probabilities. + +## PDC workflow + +From the staged repo on Dardel: + +```bash +export PDC_ROOT=/cfs/klemming/scratch/h/hutaobo/pyxenium_bmnet_morphology_2026-04 +export PDC_XENIUM_ROOT=/cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/data/source_cache/breast/WTA_Preview_FFPE_Breast_Cancer_outs + +bash benchmarking/bmnet_pdc/scripts/bootstrap_pdc_env.sh +bash benchmarking/bmnet_pdc/scripts/submit_pdc_bmnet_pilot.sh --backend deterministic-smoke --include-full +``` + +For a real BM-Net checkpoint: + +```bash +bash benchmarking/bmnet_pdc/scripts/submit_pdc_bmnet_pilot.sh \ + --backend bmnet-local \ + --checkpoint /cfs/klemming/scratch/h/hutaobo/models/bmnet/bmnet.pt \ + --include-full +``` + +For the Hugging Face surrogate backbone discovered during setup: + +```bash +bash benchmarking/bmnet_pdc/scripts/submit_pdc_bmnet_pilot.sh \ + --backend hf-pathology-backbone \ + --hf-model 1aurent/vit_small_patch8_224.lunit_dino \ + --smoke-max-contours 20 +``` + +The smoke job limits the run to 50 contours by default. The full job is +submitted with an `afterok` dependency when `--include-full` is used. + +## Outputs + +Each run directory writes: + +- `contour_features_with_bmnet.csv` +- `bmnet_patch_predictions.csv` +- `program_scores.csv` +- `xenium_native_morphology.csv` +- `he_morphology_features.csv` +- `feature_redundancy.csv` +- `incremental_prediction.csv` +- `partial_associations.csv` +- `matched_review_table.csv` +- `morphology_increment_summary.json` +- `bmnet_pdc_run_summary.json` + +`morphology_increment_summary.json` includes `model_metadata` so downstream +reports can distinguish trained BM-Net, Hugging Face surrogate, and smoke-only +outputs. diff --git a/benchmarking/bmnet_pdc/envs/pyx-bmnet-pdc.yml b/benchmarking/bmnet_pdc/envs/pyx-bmnet-pdc.yml new file mode 100644 index 0000000..d4becfb --- /dev/null +++ b/benchmarking/bmnet_pdc/envs/pyx-bmnet-pdc.yml @@ -0,0 +1,34 @@ +name: pyx-bmnet +channels: + - conda-forge +dependencies: + - python=3.11 + - pip + - git + - numpy + - pandas + - scipy + - scikit-learn + - seaborn + - anndata + - scanpy + - pyarrow + - h5py + - click + - matplotlib + - shapely + - statsmodels + - tifffile + - imagecodecs + - zarr + - fsspec + - requests + - pyyaml + - aiohttp + - pillow + - pip: + - -e ../../.. + - torch + - timm>=1.0 + - transformers>=4.40 + - huggingface_hub>=0.24 diff --git a/benchmarking/bmnet_pdc/scripts/bootstrap_pdc_env.sh b/benchmarking/bmnet_pdc/scripts/bootstrap_pdc_env.sh new file mode 100644 index 0000000..f2e3246 --- /dev/null +++ b/benchmarking/bmnet_pdc/scripts/bootstrap_pdc_env.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +set -euo pipefail + +PDC_ROOT="${PDC_ROOT:-/cfs/klemming/scratch/h/hutaobo/pyxenium_bmnet_morphology_2026-04}" +REPO_DIR="${REPO_DIR:-${PDC_ROOT}/repo}" +CONDA_PREFIX="${CONDA_PREFIX:-${PDC_ROOT}/conda/envs/pyx-bmnet}" +CONDA_PKGS_DIR="${CONDA_PKGS_DIR:-${PDC_ROOT}/conda/pkgs}" +LOG_DIR="${PDC_ROOT}/logs" + +mkdir -p "${LOG_DIR}" "${PDC_ROOT}/conda/envs" "${CONDA_PKGS_DIR}" "${PDC_ROOT}/tmp" +exec > >(tee -a "${LOG_DIR}/bootstrap_pdc_env.log") 2>&1 + +echo "[bmnet-pdc] bootstrap started $(date -Is)" +echo "[bmnet-pdc] pdc_root=${PDC_ROOT}" +echo "[bmnet-pdc] repo_dir=${REPO_DIR}" +echo "[bmnet-pdc] conda_prefix=${CONDA_PREFIX}" + +module load PDC/24.11 +module load miniconda3/25.3.1-1-cpeGNU-24.11 + +export CONDA_PKGS_DIRS="${CONDA_PKGS_DIR}" +export TMPDIR="${PDC_ROOT}/tmp" + +cd "${REPO_DIR}" + +if [[ -d "${CONDA_PREFIX}" ]]; then + echo "[bmnet-pdc] updating conda prefix" + conda env update --prefix "${CONDA_PREFIX}" --file benchmarking/bmnet_pdc/envs/pyx-bmnet-pdc.yml --prune +else + echo "[bmnet-pdc] creating conda prefix" + conda env create --prefix "${CONDA_PREFIX}" --file benchmarking/bmnet_pdc/envs/pyx-bmnet-pdc.yml +fi + +echo "[bmnet-pdc] bootstrap completed $(date -Is)" diff --git a/benchmarking/bmnet_pdc/scripts/run_bmnet_morphology_increment.py b/benchmarking/bmnet_pdc/scripts/run_bmnet_morphology_increment.py new file mode 100644 index 0000000..ce28996 --- /dev/null +++ b/benchmarking/bmnet_pdc/scripts/run_bmnet_morphology_increment.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python +from __future__ import annotations + +import argparse +import json +from pathlib import Path + +from pyXenium.multimodal import run_bmnet_morphology_increment_pilot + + +def build_parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser(description="Run BM-Net/H&E morphology increment pilot.") + parser.add_argument("--dataset-root", required=True) + parser.add_argument("--output-dir", required=True) + parser.add_argument("--contour-geojson", default=None) + parser.add_argument("--contour-key", default="s1_s5_contours") + parser.add_argument("--contour-id-key", default="polygon_id") + parser.add_argument("--contour-coordinate-space", default="xenium_pixel") + parser.add_argument("--contour-pixel-size-um", type=float, default=None) + parser.add_argument("--he-image-key", default="he") + parser.add_argument("--cells-parquet", default="cells.parquet") + parser.add_argument("--clusters-relpath", default="WTA_Preview_FFPE_Breast_Cancer_cell_groups.csv") + parser.add_argument("--cluster-column-name", default="cluster") + parser.add_argument( + "--backend", + default="deterministic-smoke", + choices=["deterministic-smoke", "bmnet-local", "bmnet-like-trainable", "hf-pathology-backbone"], + ) + parser.add_argument("--checkpoint", default=None) + parser.add_argument("--hf-model", default="1aurent/vit_small_patch8_224.lunit_dino") + parser.add_argument("--timm-architecture", default="mobilenetv3_small_100") + parser.add_argument("--timm-pretrained", action="store_true") + parser.add_argument("--max-contours", type=int, default=None) + parser.add_argument("--inner-rim-um", type=float, default=20.0) + parser.add_argument("--outer-rim-um", type=float, default=30.0) + parser.add_argument("--skip-pathomics", action="store_true") + parser.add_argument("--include-transcripts", action="store_true") + parser.add_argument("--program-library", default="breast_boundary_bmnet_v1") + parser.add_argument("--random-state", type=int, default=0) + parser.add_argument("--min-contours", type=int, default=8) + return parser + + +def main(argv: list[str] | None = None) -> int: + args = build_parser().parse_args(argv) + result = run_bmnet_morphology_increment_pilot( + dataset_root=args.dataset_root, + output_dir=args.output_dir, + contour_geojson=args.contour_geojson, + contour_key=args.contour_key, + contour_id_key=args.contour_id_key, + contour_coordinate_space=args.contour_coordinate_space, + contour_pixel_size_um=args.contour_pixel_size_um, + he_image_key=args.he_image_key, + cells_parquet=args.cells_parquet, + clusters_relpath=args.clusters_relpath, + cluster_column_name=args.cluster_column_name, + backend=args.backend, + checkpoint=args.checkpoint, + hf_model=args.hf_model, + timm_architecture=args.timm_architecture, + timm_pretrained=args.timm_pretrained, + max_contours=args.max_contours, + inner_rim_um=args.inner_rim_um, + outer_rim_um=args.outer_rim_um, + include_pathomics=not args.skip_pathomics, + include_transcripts=args.include_transcripts, + program_library=args.program_library, + random_state=args.random_state, + min_contours=args.min_contours, + ) + summary = result["summary"] + print(json.dumps({"artifact_dir": result["artifact_dir"], "summary": summary}, indent=2, default=str)) + summary_path = Path(summary["artifact_files"]["run_summary"]) + return 0 if summary_path.exists() else 1 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/benchmarking/bmnet_pdc/scripts/run_pdc_bmnet_pilot.sh b/benchmarking/bmnet_pdc/scripts/run_pdc_bmnet_pilot.sh new file mode 100644 index 0000000..5ac29b9 --- /dev/null +++ b/benchmarking/bmnet_pdc/scripts/run_pdc_bmnet_pilot.sh @@ -0,0 +1,88 @@ +#!/usr/bin/env bash +set -euo pipefail + +RUN_ID="${RUN_ID:-bmnet_smoke_$(date +%Y%m%d_%H%M%S)}" +PDC_ROOT="${PDC_ROOT:-/cfs/klemming/scratch/h/hutaobo/pyxenium_bmnet_morphology_2026-04}" +PDC_XENIUM_ROOT="${PDC_XENIUM_ROOT:-/cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/data/source_cache/breast/WTA_Preview_FFPE_Breast_Cancer_outs}" +REPO_DIR="${REPO_DIR:-${PDC_ROOT}/repo}" +CONDA_PREFIX="${CONDA_PREFIX:-${PDC_ROOT}/conda/envs/pyx-bmnet}" +CONTOUR_GEOJSON="${CONTOUR_GEOJSON:-${PDC_XENIUM_ROOT}/xenium_explorer_annotations.s1_s5.generated.geojson}" +BACKEND="${BACKEND:-deterministic-smoke}" +CHECKPOINT="${CHECKPOINT:-}" +HF_MODEL="${HF_MODEL:-1aurent/vit_small_patch8_224.lunit_dino}" +MAX_CONTOURS="${MAX_CONTOURS:-50}" +PROGRAM_LIBRARY="${PROGRAM_LIBRARY:-breast_boundary_bmnet_v1}" + +while [[ $# -gt 0 ]]; do + case "$1" in + --run-id) RUN_ID="$2"; shift 2 ;; + --pdc-root) PDC_ROOT="$2"; shift 2 ;; + --dataset-root|--pdc-xenium-root) PDC_XENIUM_ROOT="$2"; shift 2 ;; + --repo-dir) REPO_DIR="$2"; shift 2 ;; + --conda-prefix) CONDA_PREFIX="$2"; shift 2 ;; + --contour-geojson) CONTOUR_GEOJSON="$2"; shift 2 ;; + --backend) BACKEND="$2"; shift 2 ;; + --checkpoint) CHECKPOINT="$2"; shift 2 ;; + --hf-model) HF_MODEL="$2"; shift 2 ;; + --max-contours) MAX_CONTOURS="$2"; shift 2 ;; + --program-library) PROGRAM_LIBRARY="$2"; shift 2 ;; + *) echo "[bmnet-pdc] unknown option: $1" >&2; exit 2 ;; + esac +done + +if [[ ! -d "${PDC_XENIUM_ROOT}" ]]; then + echo "[bmnet-pdc] missing dataset root: ${PDC_XENIUM_ROOT}" >&2 + exit 2 +fi +if [[ ! -d "${CONDA_PREFIX}" ]]; then + echo "[bmnet-pdc] missing conda prefix: ${CONDA_PREFIX}" >&2 + echo "[bmnet-pdc] run benchmarking/bmnet_pdc/scripts/bootstrap_pdc_env.sh first." >&2 + exit 2 +fi +if [[ ! -s "${CONTOUR_GEOJSON}" ]]; then + echo "[bmnet-pdc] missing contour GeoJSON: ${CONTOUR_GEOJSON}" >&2 + echo "[bmnet-pdc] run benchmarking/gmi_pdc/scripts/prepare_pdc_inputs.sh if the S1/S5 GeoJSON has not been generated." >&2 + exit 2 +fi + +LOG_DIR="${PDC_ROOT}/logs" +OUT_DIR="${PDC_ROOT}/runs/${RUN_ID}" +mkdir -p "${LOG_DIR}" "${OUT_DIR}" "${PDC_ROOT}/tmp" +exec > >(tee -a "${LOG_DIR}/${RUN_ID}.log") 2>&1 + +echo "[bmnet-pdc] run_id=${RUN_ID} started $(date -Is)" +echo "[bmnet-pdc] dataset=${PDC_XENIUM_ROOT}" +echo "[bmnet-pdc] output=${OUT_DIR}" +echo "[bmnet-pdc] backend=${BACKEND}" +echo "[bmnet-pdc] checkpoint=${CHECKPOINT:-none}" +echo "[bmnet-pdc] hf_model=${HF_MODEL}" +echo "[bmnet-pdc] max_contours=${MAX_CONTOURS:-all}" + +module load PDC/24.11 +module load miniconda3/25.3.1-1-cpeGNU-24.11 + +export TMPDIR="${PDC_ROOT}/tmp" +export PYTHONNOUSERSITE=1 +export PYTHONPATH="${REPO_DIR}/src:${PYTHONPATH:-}" + +cd "${REPO_DIR}" + +ARGS=( + benchmarking/bmnet_pdc/scripts/run_bmnet_morphology_increment.py + --dataset-root "${PDC_XENIUM_ROOT}" + --output-dir "${OUT_DIR}" + --contour-geojson "${CONTOUR_GEOJSON}" + --backend "${BACKEND}" + --hf-model "${HF_MODEL}" + --program-library "${PROGRAM_LIBRARY}" +) +if [[ -n "${CHECKPOINT}" ]]; then + ARGS+=(--checkpoint "${CHECKPOINT}") +fi +if [[ -n "${MAX_CONTOURS}" ]]; then + ARGS+=(--max-contours "${MAX_CONTOURS}") +fi + +conda run --prefix "${CONDA_PREFIX}" python "${ARGS[@]}" + +echo "[bmnet-pdc] run_id=${RUN_ID} completed $(date -Is)" diff --git a/benchmarking/bmnet_pdc/scripts/submit_pdc_bmnet_pilot.sh b/benchmarking/bmnet_pdc/scripts/submit_pdc_bmnet_pilot.sh new file mode 100644 index 0000000..d9070c2 --- /dev/null +++ b/benchmarking/bmnet_pdc/scripts/submit_pdc_bmnet_pilot.sh @@ -0,0 +1,98 @@ +#!/usr/bin/env bash +set -euo pipefail + +PDC_ROOT="${PDC_ROOT:-/cfs/klemming/scratch/h/hutaobo/pyxenium_bmnet_morphology_2026-04}" +PDC_XENIUM_ROOT="${PDC_XENIUM_ROOT:-/cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/data/source_cache/breast/WTA_Preview_FFPE_Breast_Cancer_outs}" +REPO_DIR="${REPO_DIR:-${PDC_ROOT}/repo}" +CONDA_PREFIX="${CONDA_PREFIX:-${PDC_ROOT}/conda/envs/pyx-bmnet}" +CONTOUR_GEOJSON="${CONTOUR_GEOJSON:-${PDC_XENIUM_ROOT}/xenium_explorer_annotations.s1_s5.generated.geojson}" +BACKEND="${BACKEND:-deterministic-smoke}" +CHECKPOINT="${CHECKPOINT:-}" +HF_MODEL="${HF_MODEL:-1aurent/vit_small_patch8_224.lunit_dino}" +ACCOUNT="${PDC_PROJECT:-}" +SMOKE_MAX_CONTOURS="${SMOKE_MAX_CONTOURS:-50}" +INCLUDE_FULL=0 +DRY_RUN=0 + +while [[ $# -gt 0 ]]; do + case "$1" in + --pdc-root) PDC_ROOT="$2"; shift 2 ;; + --dataset-root|--pdc-xenium-root) PDC_XENIUM_ROOT="$2"; shift 2 ;; + --repo-dir) REPO_DIR="$2"; shift 2 ;; + --conda-prefix) CONDA_PREFIX="$2"; shift 2 ;; + --contour-geojson) CONTOUR_GEOJSON="$2"; shift 2 ;; + --backend) BACKEND="$2"; shift 2 ;; + --checkpoint) CHECKPOINT="$2"; shift 2 ;; + --hf-model) HF_MODEL="$2"; shift 2 ;; + --account) ACCOUNT="$2"; shift 2 ;; + --smoke-max-contours) SMOKE_MAX_CONTOURS="$2"; shift 2 ;; + --include-full) INCLUDE_FULL=1; shift ;; + --dry-run) DRY_RUN=1; shift ;; + *) echo "[bmnet-pdc] unknown option: $1" >&2; exit 2 ;; + esac +done + +mkdir -p "${PDC_ROOT}/logs" "${PDC_ROOT}/runs" "${PDC_ROOT}/tmp" + +module load PDC/24.11 +module load miniconda3/25.3.1-1-cpeGNU-24.11 + +if [[ -z "${ACCOUNT}" ]]; then + mapfile -t ACCOUNTS < <(projinfo 2>/dev/null | awk '/^[a-zA-Z0-9_-]+[[:space:]]/ {print $1}' | sort -u) + if [[ ${#ACCOUNTS[@]} -eq 1 ]]; then + ACCOUNT="${ACCOUNTS[0]}" + else + echo "[bmnet-pdc] unable to infer a single Slurm account. Set PDC_PROJECT or pass --account." >&2 + printf '[bmnet-pdc] projinfo candidates: %s\n' "${ACCOUNTS[*]:-none}" >&2 + exit 2 + fi +fi + +submit_job() { + local run_id="$1" + local max_contours="$2" + local partition="$3" + local mem="$4" + local time_limit="$5" + local dependency="${6:-}" + local cmd="bash ${REPO_DIR}/benchmarking/bmnet_pdc/scripts/run_pdc_bmnet_pilot.sh --run-id ${run_id} --pdc-root ${PDC_ROOT} --dataset-root ${PDC_XENIUM_ROOT} --repo-dir ${REPO_DIR} --conda-prefix ${CONDA_PREFIX} --contour-geojson ${CONTOUR_GEOJSON} --backend ${BACKEND} --hf-model ${HF_MODEL} --program-library breast_boundary_bmnet_v1" + if [[ -n "${CHECKPOINT}" ]]; then + cmd="${cmd} --checkpoint ${CHECKPOINT}" + fi + if [[ -n "${max_contours}" ]]; then + cmd="${cmd} --max-contours ${max_contours}" + else + cmd="${cmd} --max-contours ''" + fi + local sbatch_cmd=( + sbatch + "--job-name=pyxbmnet_${run_id:0:20}" + "--partition=${partition}" + "--nodes=1" + "--ntasks=1" + "--cpus-per-task=16" + "--mem=${mem}" + "--time=${time_limit}" + "--output=${PDC_ROOT}/logs/${run_id}.%j.log" + "--account=${ACCOUNT}" + ) + if [[ -n "${dependency}" ]]; then + sbatch_cmd+=("--dependency=afterok:${dependency}") + fi + sbatch_cmd+=(--wrap "${cmd}") + if [[ "${DRY_RUN}" -eq 1 ]]; then + printf '%q ' "${sbatch_cmd[@]}" >&2 + printf '\n' >&2 + echo "DRYRUN_${run_id}" + else + local result + result="$("${sbatch_cmd[@]}")" + echo "${result}" >&2 + awk '{print $NF}' <<<"${result}" + fi +} + +SMOKE_ID="$(submit_job "bmnet_smoke_${BACKEND//-/_}" "${SMOKE_MAX_CONTOURS}" "shared" "80GB" "04:00:00")" +if [[ "${INCLUDE_FULL}" -eq 1 ]]; then + submit_job "bmnet_full_${BACKEND//-/_}" "" "main" "220GB" "24:00:00" "${SMOKE_ID}" >/dev/null +fi diff --git a/benchmarking/lr_2026_atera/README.md b/benchmarking/cci_2026_atera/README.md similarity index 66% rename from benchmarking/lr_2026_atera/README.md rename to benchmarking/cci_2026_atera/README.md index 4114b9b..5fa52fb 100644 --- a/benchmarking/lr_2026_atera/README.md +++ b/benchmarking/cci_2026_atera/README.md @@ -1,6 +1,6 @@ -# Atera Xenium LR Benchmark +# Atera Xenium CCI Benchmark -This workspace packages the reproducible benchmark scaffold for the Atera Xenium WTA breast ligand-receptor study. It is designed around isolated per-method environments, a shared frozen input bundle, and a standardized result schema that focuses on biological discovery quality rather than raw method scores. +This workspace packages the reproducible benchmark scaffold for the Atera Xenium WTA breast cell-cell interaction study. It is designed around isolated per-method environments, a shared frozen input bundle, and a standardized result schema that focuses on biological discovery quality rather than raw method scores. ## Layout @@ -8,7 +8,7 @@ This workspace packages the reproducible benchmark scaffold for the Atera Xenium - `envs/`: one environment manifest per method plus bootstrap helpers - `scripts/`: high-level entrypoints to prepare data, create environments, aggregate results, render reports, and stage work to A100 - `runners/`: method-side wrappers that consume the frozen bundle and emit standardized artifacts or run manifests -- `data/`: generated benchmark inputs such as optional `adata_full.h5ad`, `adata_smoke.h5ad`, sparse matrices, and shared LR databases +- `data/`: generated benchmark inputs such as optional `adata_full.h5ad`, `adata_smoke.h5ad`, sparse matrices, and shared CCI resources - `runs/`: per-method execution outputs - `results/`: merged standardized tables and evaluation summaries - `reports/`: markdown reports and method cards @@ -18,14 +18,14 @@ This workspace packages the reproducible benchmark scaffold for the Atera Xenium Create the frozen input bundle: ```powershell -python benchmarking/lr_2026_atera/scripts/prepare_data.py ` +python benchmarking/cci_2026_atera/scripts/prepare_data.py ` --dataset-root "Y:\long\10X_datasets\Xenium\Atera\WTA_Preview_FFPE_Breast_Cancer_outs" ``` For local full-pilot runs, export the full sparse bundle while keeping the full `.h5ad` optional: ```powershell -python benchmarking/lr_2026_atera/scripts/prepare_data.py ` +python benchmarking/cci_2026_atera/scripts/prepare_data.py ` --dataset-root "Y:\long\10X_datasets\Xenium\Atera\WTA_Preview_FFPE_Breast_Cancer_outs" ` --skip-full-h5ad ``` @@ -33,19 +33,19 @@ python benchmarking/lr_2026_atera/scripts/prepare_data.py ` Create and bootstrap the prep environment: ```powershell -python benchmarking/lr_2026_atera/scripts/create_env.py --method pyx-lr-prep +python benchmarking/cci_2026_atera/scripts/create_env.py --method pyx-cci-prep ``` Run the built-in `pyXenium` smoke benchmark: ```powershell -python benchmarking/lr_2026_atera/scripts/run_pyxenium_smoke.py +python benchmarking/cci_2026_atera/scripts/run_pyxenium_smoke.py ``` Dry-run or execute any real adapter through the unified contract: ```powershell -pyxenium benchmark atera-lr run-method ` +pyxenium benchmark atera-cci run-method ` --method squidpy ` --database-mode common-db ` --phase smoke ` @@ -55,50 +55,50 @@ pyxenium benchmark atera-lr run-method ` Run the first-wave core smoke panel: ```powershell -pyxenium benchmark atera-lr smoke-core ` +pyxenium benchmark atera-cci smoke-core ` --methods pyxenium,squidpy,liana,commot,cellchat ` --database-mode common-db ` - --max-lr-pairs 50 + --max-cci-pairs 50 ``` Aggregate standardized result tables and build a report: ```powershell -python benchmarking/lr_2026_atera/scripts/aggregate_results.py -python benchmarking/lr_2026_atera/scripts/render_report.py +python benchmarking/cci_2026_atera/scripts/aggregate_results.py +python benchmarking/cci_2026_atera/scripts/render_report.py ``` Generate A100 staging commands: ```powershell -python benchmarking/lr_2026_atera/scripts/stage_to_a100.py ` +python benchmarking/cci_2026_atera/scripts/stage_to_a100.py ` --plan-only ` --remote-xenium-root /mnt/taobo.hu/long/10X_datasets/Xenium/Atera/WTA_Preview_FFPE_Breast_Cancer_outs ` - --remote-root /data/taobo.hu/pyxenium_lr_benchmark_2026-04 + --remote-root /data/taobo.hu/pyxenium_cci_benchmark_2026-04 ``` -Build the A100 full-run plan. The generated plan reads the original Xenium export from the read-only `/mnt` path and writes the full sparse bundle, logs, runs, results, and reports only under `/data/taobo.hu/pyxenium_lr_benchmark_2026-04`: +Build the A100 full-run plan. The generated plan reads the original Xenium export from the read-only `/mnt` path and writes the full sparse bundle, logs, runs, results, and reports only under `/data/taobo.hu/pyxenium_cci_benchmark_2026-04`: ```powershell -python benchmarking/lr_2026_atera/scripts/prepare_a100_bundle.py ` +python benchmarking/cci_2026_atera/scripts/prepare_a100_bundle.py ` --methods pyxenium,squidpy,liana,commot,cellchat ` --phase full ` --database-mode common-db ` --remote-xenium-root /mnt/taobo.hu/long/10X_datasets/Xenium/Atera/WTA_Preview_FFPE_Breast_Cancer_outs ` - --remote-root /data/taobo.hu/pyxenium_lr_benchmark_2026-04 + --remote-root /data/taobo.hu/pyxenium_cci_benchmark_2026-04 ``` Dry-run the A100 job manifest: ```powershell -python benchmarking/lr_2026_atera/scripts/run_a100_plan.py ` - --plan-json benchmarking/lr_2026_atera/logs/a100_bundle_plan.json +python benchmarking/cci_2026_atera/scripts/run_a100_plan.py ` + --plan-json benchmarking/cci_2026_atera/logs/a100_bundle_plan.json ``` Generate result recovery commands: ```powershell -python benchmarking/lr_2026_atera/scripts/collect_a100_results.py ` +python benchmarking/cci_2026_atera/scripts/collect_a100_results.py ` --host your-a100-host ` --user taobo.hu ` --since-last @@ -107,39 +107,39 @@ python benchmarking/lr_2026_atera/scripts/collect_a100_results.py ` Build the second-wave all-method A100 smoke matrix. This creates env-audit and smoke jobs for `SpatialDM`, `stLearn`, `Giotto`, `LARIS`, `CellPhoneDB`, `SpaTalk`, `NICHES`, `CellNEST`, `CellAgentChat`, and `SCILD`, while assigning GPU slots to GPU-heavy methods and keeping every output under `/data`: ```powershell -pyxenium benchmark atera-lr build-a100-matrix ` +pyxenium benchmark atera-cci build-a100-matrix ` --phase smoke ` --methods spatialdm,stlearn,giotto,laris,cellphonedb,spatalk,niches,cellnest,cellagentchat,scild ` - --max-lr-pairs 25 ` + --max-cci-pairs 25 ` --include-bootstrap ` --include-audit ` - --output-json benchmarking/lr_2026_atera/logs/a100_second_wave_smoke_matrix.json + --output-json benchmarking/cci_2026_atera/logs/a100_second_wave_smoke_matrix.json ``` Dry-run submission and monitor collected status: ```powershell -pyxenium benchmark atera-lr submit-a100-matrix ` - --matrix-json benchmarking/lr_2026_atera/logs/a100_second_wave_smoke_matrix.json ` +pyxenium benchmark atera-cci submit-a100-matrix ` + --matrix-json benchmarking/cci_2026_atera/logs/a100_second_wave_smoke_matrix.json ` --job-type env_bootstrap ` --host sscb-a100.scilifelab.se ` --user taobo.hu -pyxenium benchmark atera-lr submit-a100-matrix ` - --matrix-json benchmarking/lr_2026_atera/logs/a100_second_wave_smoke_matrix.json ` +pyxenium benchmark atera-cci submit-a100-matrix ` + --matrix-json benchmarking/cci_2026_atera/logs/a100_second_wave_smoke_matrix.json ` --job-type env_audit ` --host sscb-a100.scilifelab.se ` --user taobo.hu -pyxenium benchmark atera-lr submit-a100-matrix ` - --matrix-json benchmarking/lr_2026_atera/logs/a100_second_wave_smoke_matrix.json ` +pyxenium benchmark atera-cci submit-a100-matrix ` + --matrix-json benchmarking/cci_2026_atera/logs/a100_second_wave_smoke_matrix.json ` --job-type method_run ` --host sscb-a100.scilifelab.se ` --user taobo.hu -pyxenium benchmark atera-lr monitor-a100-jobs ` - --matrix-json benchmarking/lr_2026_atera/logs/a100_second_wave_smoke_matrix.json ` - --output-tsv benchmarking/lr_2026_atera/results/a100_second_wave_smoke_job_status.tsv +pyxenium benchmark atera-cci monitor-a100-jobs ` + --matrix-json benchmarking/cci_2026_atera/logs/a100_second_wave_smoke_matrix.json ` + --output-tsv benchmarking/cci_2026_atera/results/a100_second_wave_smoke_job_status.tsv ``` ## Notes @@ -150,6 +150,6 @@ pyxenium benchmark atera-lr monitor-a100-jobs ` - The second-wave scaffold now includes real/bounded adapters or reproducible method-card runners for `SpatialDM`, `stLearn`, `Giotto`, `LARIS`, `CellPhoneDB`, `SpaTalk`, `NICHES`, `CellNEST`, `CellAgentChat`, and `SCILD`. - Each adapter writes method-native raw artifacts, `params.json`, `run_summary.json`, and a standardized TSV that can be consumed by the existing aggregate/report steps. - The aggregator accepts both `standardized.tsv` and `standardized.tsv.gz`, so edge-level or chunked outputs can be compressed before collection. -- Squidpy is run from its isolated `pyx-lr-squidpy` environment, which pins `zarr<3` to avoid the `ome-zarr`/`FSStore` import conflict seen in some base environments. +- Squidpy is run from its isolated `pyx-cci-squidpy` environment, which pins `zarr<3` to avoid the `ome-zarr`/`FSStore` import conflict seen in some base environments. - A100 planning never stores passwords or hard-codes hosts. Use `--plan-only` without host/user for a portable plan, then supply SSH details only when staging or collecting results. -- On A100, `/mnt/taobo.hu/long/10X_datasets/Xenium/Atera/WTA_Preview_FFPE_Breast_Cancer_outs` is treated as read-only. The stage/job manifest includes a path-safety check that flags any output path under `/mnt`; all writable paths are organized under `/data/taobo.hu/pyxenium_lr_benchmark_2026-04`. +- On A100, `/mnt/taobo.hu/long/10X_datasets/Xenium/Atera/WTA_Preview_FFPE_Breast_Cancer_outs` is treated as read-only. The stage/job manifest includes a path-safety check that flags any output path under `/mnt`; all writable paths are organized under `/data/taobo.hu/pyxenium_cci_benchmark_2026-04`. diff --git a/benchmarking/cci_2026_atera/a100_validation_collected/README.md b/benchmarking/cci_2026_atera/a100_validation_collected/README.md new file mode 100644 index 0000000..89c9121 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_collected/README.md @@ -0,0 +1,16 @@ +# TopoLink-CCI validation run on A100 + +Purpose: computational false-positive controls for top TopoLink-CCI axes. + +This folder intentionally reuses existing benchmark artifacts via symlinks instead of duplicating the full Xenium export. + +Layout: +- scripts/: validation framework and launch script. +- data_links/full_sparse_bundle -> /data/taobo.hu/topolink_cci_benchmark_2026-04/data/full +- data_links/full_common_results -> /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common +- data_links/input_manifest.json -> /data/taobo.hu/topolink_cci_benchmark_2026-04/data/input_manifest.json +- outputs/: evidence tables, false-positive controls, scoreboard, figures, run_summary.json. +- logs/: stdout/stderr plus /usr/bin/time resource report. +- tmp/: job-local temporary files. + +No writes are made to /mnt. The original local Windows Xenium outs are not re-uploaded because the A100 already has the derived full sparse bundle and benchmark outputs needed for this validation. diff --git a/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_logs/run.stderr.log b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_logs/run.stderr.log new file mode 100644 index 0000000..635dd8a --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_logs/run.stderr.log @@ -0,0 +1,23 @@ + Command being timed: "/home/taobo.hu/miniconda3/bin/conda run -n pyx-cci-pyxenium python /data/taobo.hu/topolink_cci_validation_20260428/scripts/topolink_cci_validation_framework.py --root /data/taobo.hu/topolink_cci_benchmark_2026-04 --output-dir /data/taobo.hu/topolink_cci_validation_20260428/outputs --n-matched-controls 250 --seed 20260428" + User time (seconds): 66.42 + System time (seconds): 29.87 + Percent of CPU this job got: 175% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:54.82 + Average shared text size (kbytes): 0 + Average unshared data size (kbytes): 0 + Average stack size (kbytes): 0 + Average total size (kbytes): 0 + Maximum resident set size (kbytes): 8917204 + Average resident set size (kbytes): 0 + Major (requiring I/O) page faults: 441 + Minor (reclaiming a frame) page faults: 836764 + Voluntary context switches: 10346 + Involuntary context switches: 9193 + Swaps: 0 + File system inputs: 10927824 + File system outputs: 648 + Socket messages sent: 0 + Socket messages received: 0 + Signals delivered: 0 + Page size (bytes): 4096 + Exit status: 0 diff --git a/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_logs/run.stdout.log b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_logs/run.stdout.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/figures/topolink_cci_validation_figure.pdf b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/figures/topolink_cci_validation_figure.pdf new file mode 100644 index 0000000..d51c972 Binary files /dev/null and b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/figures/topolink_cci_validation_figure.pdf differ diff --git a/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/figures/topolink_cci_validation_figure.png b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/figures/topolink_cci_validation_figure.png new file mode 100644 index 0000000..fd3830a Binary files /dev/null and b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/figures/topolink_cci_validation_figure.png differ diff --git a/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/params.json b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/params.json new file mode 100644 index 0000000..9462027 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/params.json @@ -0,0 +1,6 @@ +{ + "root": "/data/taobo.hu/topolink_cci_benchmark_2026-04", + "output_dir": "/data/taobo.hu/topolink_cci_validation_20260428/outputs", + "n_matched_controls": 250, + "seed": 20260428 +} \ No newline at end of file diff --git a/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/run_summary.json b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/run_summary.json new file mode 100644 index 0000000..59aedb8 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/run_summary.json @@ -0,0 +1,49 @@ +{ + "status": "success", + "runtime_seconds": 52.501, + "n_scores": 1319600, + "n_target_axes": 7, + "target_axes": [ + { + "axis_id": "VWF-SELP|Endothelial Cells->Endothelial Cells", + "evidence_class": "strong", + "support_count": 6 + }, + { + "axis_id": "VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated", + "evidence_class": "strong", + "support_count": 5 + }, + { + "axis_id": "MMRN2-CD93|Endothelial Cells->Endothelial Cells", + "evidence_class": "strong", + "support_count": 6 + }, + { + "axis_id": "CD48-CD2|T Lymphocytes->T Lymphocytes", + "evidence_class": "strong", + "support_count": 6 + }, + { + "axis_id": "DLL4-NOTCH3|Endothelial Cells->Pericytes", + "evidence_class": "strong", + "support_count": 5 + }, + { + "axis_id": "CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes", + "evidence_class": "strong", + "support_count": 5 + }, + { + "axis_id": "JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells", + "evidence_class": "moderate", + "support_count": 4 + } + ], + "outputs": { + "evidence": "/data/taobo.hu/topolink_cci_validation_20260428/outputs/tables/topolink_cci_validation_evidence.tsv", + "controls": "/data/taobo.hu/topolink_cci_validation_20260428/outputs/tables/topolink_cci_false_positive_controls.tsv", + "scoreboard": "/data/taobo.hu/topolink_cci_validation_20260428/outputs/topolink_cci_validation_scoreboard.md", + "figure": "/data/taobo.hu/topolink_cci_validation_20260428/outputs/figures/topolink_cci_validation_figure.png" + } +} \ No newline at end of file diff --git a/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_component_ablation.tsv b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_component_ablation.tsv new file mode 100644 index 0000000..ede4740 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_component_ablation.tsv @@ -0,0 +1,50 @@ +axis_id removed_component score_without_component rank_without_component +VWF-SELP|Endothelial Cells->Endothelial Cells sender_anchor 0.7936685312319989 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated sender_anchor 0.7223245865106046 8 +MMRN2-CD93|Endothelial Cells->Endothelial Cells sender_anchor 0.7085348212720359 13 +DLL4-NOTCH3|Endothelial Cells->Pericytes sender_anchor 0.6745564828093611 25 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes sender_anchor 0.6525538738821847 36 +CD48-CD2|T Lymphocytes->T Lymphocytes sender_anchor 0.6964889406614021 16 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells sender_anchor 0.650110468858211 40 +VWF-SELP|Endothelial Cells->Endothelial Cells receiver_anchor 0.805686300976693 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated receiver_anchor 0.7689017668792069 2 +MMRN2-CD93|Endothelial Cells->Endothelial Cells receiver_anchor 0.7246305722691555 9 +DLL4-NOTCH3|Endothelial Cells->Pericytes receiver_anchor 0.6804202200885041 21 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes receiver_anchor 0.6417024502434168 49 +CD48-CD2|T Lymphocytes->T Lymphocytes receiver_anchor 0.6967533196814983 16 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells receiver_anchor 0.6692416628881765 30 +VWF-SELP|Endothelial Cells->Endothelial Cells structure_bridge 0.7854081482043567 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated structure_bridge 0.7708926279250373 2 +MMRN2-CD93|Endothelial Cells->Endothelial Cells structure_bridge 0.7055697377300002 12 +DLL4-NOTCH3|Endothelial Cells->Pericytes structure_bridge 0.6698572931376457 27 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes structure_bridge 0.7130771089942796 8 +CD48-CD2|T Lymphocytes->T Lymphocytes structure_bridge 0.6870622598572897 19 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells structure_bridge 0.6167922060783549 65 +VWF-SELP|Endothelial Cells->Endothelial Cells sender_expr 0.7854081482043567 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated sender_expr 0.7148067405584678 8 +MMRN2-CD93|Endothelial Cells->Endothelial Cells sender_expr 0.7055697377300002 9 +DLL4-NOTCH3|Endothelial Cells->Pericytes sender_expr 0.6628108709697559 33 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes sender_expr 0.6338817361079696 51 +CD48-CD2|T Lymphocytes->T Lymphocytes sender_expr 0.6870622598572897 20 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells sender_expr 0.6167922060783549 75 +VWF-SELP|Endothelial Cells->Endothelial Cells receiver_expr 0.7854081482043567 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated receiver_expr 0.7148067405584678 6 +MMRN2-CD93|Endothelial Cells->Endothelial Cells receiver_expr 0.7055697377300002 8 +DLL4-NOTCH3|Endothelial Cells->Pericytes receiver_expr 0.6787277660885117 24 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes receiver_expr 0.6338817361079696 52 +CD48-CD2|T Lymphocytes->T Lymphocytes receiver_expr 0.6870622598572897 19 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells receiver_expr 0.6167922060783549 79 +VWF-SELP|Endothelial Cells->Endothelial Cells local_contact 0.9646853087387212 16 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated local_contact 0.8530387672375239 614 +MMRN2-CD93|Endothelial Cells->Endothelial Cells local_contact 0.9696210584915509 11 +DLL4-NOTCH3|Endothelial Cells->Pericytes local_contact 0.9248792871416435 76 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes local_contact 0.8529786310985624 615 +CD48-CD2|T Lymphocytes->T Lymphocytes local_contact 0.9727447950557435 7 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells local_contact 0.8743949187647442 329 +VWF-SELP|Endothelial Cells->Endothelial Cells prior_confidence 0.7854081482043567 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated prior_confidence 0.7148067405584678 5 +MMRN2-CD93|Endothelial Cells->Endothelial Cells prior_confidence 0.7055697377300002 6 +DLL4-NOTCH3|Endothelial Cells->Pericytes prior_confidence 0.6628108709697559 20 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes prior_confidence 0.6338817361079696 29 +CD48-CD2|T Lymphocytes->T Lymphocytes prior_confidence 0.6870622598572897 13 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells prior_confidence 0.6167922060783549 41 diff --git a/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_cross_method_support_detail.tsv b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_cross_method_support_detail.tsv new file mode 100644 index 0000000..ab60aa3 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_cross_method_support_detail.tsv @@ -0,0 +1,50 @@ +axis_id method exact_support same_lr_any_celltype_support same_sender_receiver_support exact_best_rank same_lr_best_rank same_lr_best_score_std artifact_path +VWF-SELP|Endothelial Cells->Endothelial Cells cellchat_conda_full True True True 805.0 805.0 0.974550519118764 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellchat_conda_full/cellchat_standardized.tsv +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated cellchat_conda_full True True True 22.0 22.0 0.999335274753102 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellchat_conda_full/cellchat_standardized.tsv +MMRN2-CD93|Endothelial Cells->Endothelial Cells cellchat_conda_full True True True 2460.0 2460.0 0.922163838946569 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellchat_conda_full/cellchat_standardized.tsv +DLL4-NOTCH3|Endothelial Cells->Pericytes cellchat_conda_full True True True 4379.0 4379.0 0.86142061281337 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellchat_conda_full/cellchat_standardized.tsv +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes cellchat_conda_full True True True 638.0 638.0 0.979836667510762 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellchat_conda_full/cellchat_standardized.tsv +CD48-CD2|T Lymphocytes->T Lymphocytes cellchat_conda_full True True True 9528.0 9528.0 0.698436312990631 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellchat_conda_full/cellchat_standardized.tsv +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells cellchat_conda_full True True True 1152.0 389.0 0.987718409723981 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellchat_conda_full/cellchat_standardized.tsv +VWF-SELP|Endothelial Cells->Endothelial Cells cellphonedb True True True 692.0 692.0 0.9994161168645052 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated cellphonedb True True True 2.0 2.0 0.99999915501717 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv +MMRN2-CD93|Endothelial Cells->Endothelial Cells cellphonedb True True True 1352.0 1352.0 0.9988584281967392 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv +DLL4-NOTCH3|Endothelial Cells->Pericytes cellphonedb True True True 2869.0 2869.0 0.9975765892437064 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes cellphonedb True True True 171.0 171.0 0.9998563529189088 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv +CD48-CD2|T Lymphocytes->T Lymphocytes cellphonedb True True True 6381.0 6381.0 0.994609009544926 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells cellphonedb True True True 2782.0 1232.0 0.9989598261363328 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv +VWF-SELP|Endothelial Cells->Endothelial Cells laris True True True 2845.0 2845.0 0.9978205811017408 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated laris True True True 18.0 18.0 0.9999869725311988 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +MMRN2-CD93|Endothelial Cells->Endothelial Cells laris True True True 5577.0 5577.0 0.99572699023323 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +DLL4-NOTCH3|Endothelial Cells->Pericytes laris True True True 9878.0 9878.0 0.9924310406265446 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes laris True True True 226.0 226.0 0.9998275776188086 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +CD48-CD2|T Lymphocytes->T Lymphocytes laris True True True 15762.0 15762.0 0.987922003777966 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells laris True True True 2153.0 889.0 0.9993195063355648 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +VWF-SELP|Endothelial Cells->Endothelial Cells liana True True True 8450.0 1616.0 0.9978299106836924 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated liana True True True 58588.0 3227.0 0.9956651962016048 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv +MMRN2-CD93|Endothelial Cells->Endothelial Cells liana True True True 6324.0 3314.0 0.9955482935573206 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv +DLL4-NOTCH3|Endothelial Cells->Pericytes liana True True True 81639.0 32868.0 0.955836330923168 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes liana True True True 69984.0 9542.0 0.9871796766768476 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv +CD48-CD2|T Lymphocytes->T Lymphocytes liana True True True 23050.0 23050.0 0.9690288615160526 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells liana True True True 1437.0 170.0 0.9997729132542068 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv +VWF-SELP|Endothelial Cells->Endothelial Cells spatialdm True True True 1967.0 1896.0 0.9957513401775244 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated spatialdm True True True 13686.0 13543.0 0.9696383370364308 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +MMRN2-CD93|Endothelial Cells->Endothelial Cells spatialdm True True True 5602.0 5520.0 0.9876261986489486 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +DLL4-NOTCH3|Endothelial Cells->Pericytes spatialdm True True True 22202.0 22100.0 0.9504532277483448 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes spatialdm True True True 16101.0 16018.0 0.964089295843488 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +CD48-CD2|T Lymphocytes->T Lymphocytes spatialdm True True True 4354.0 4221.0 0.9905386045114264 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells spatialdm True True True 9527.0 9527.0 0.9786423570084952 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +VWF-SELP|Endothelial Cells->Endothelial Cells squidpy True True True 316.0 316.0 0.999761291300394 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/squidpy/squidpy_standardized.tsv +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated squidpy True True True 1.0 1.0 1.0 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/squidpy/squidpy_standardized.tsv +MMRN2-CD93|Endothelial Cells->Endothelial Cells squidpy True True True 5514.0 5514.0 0.9958222188541982 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/squidpy/squidpy_standardized.tsv +DLL4-NOTCH3|Endothelial Cells->Pericytes squidpy True True True 5956.0 5956.0 0.9954872688693543 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/squidpy/squidpy_standardized.tsv +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes squidpy True True True 204.0 204.0 0.9998461655046984 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/squidpy/squidpy_standardized.tsv +CD48-CD2|T Lymphocytes->T Lymphocytes squidpy True True True 26974.0 26974.0 0.9795597150651713 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/squidpy/squidpy_standardized.tsv +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells squidpy True True True 12740.0 4514.0 0.9965800242497728 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/squidpy/squidpy_standardized.tsv +VWF-SELP|Endothelial Cells->Endothelial Cells stlearn True True True 82562.0 82474.0 0.8367779512785954 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated stlearn True True True 100691.0 100539.0 0.8010255679512984 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +MMRN2-CD93|Endothelial Cells->Endothelial Cells stlearn True True True 88744.0 88651.0 0.8245530704696991 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +DLL4-NOTCH3|Endothelial Cells->Pericytes stlearn True True True 37015.0 36895.0 0.9269832034056298 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes stlearn True True True 47550.0 47459.0 0.9060760250236995 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +CD48-CD2|T Lymphocytes->T Lymphocytes stlearn True True True 161703.0 161549.0 0.6802808734149909 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells stlearn True True True 40130.0 40130.0 0.9205808253229392 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz diff --git a/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_expression_gene_specificity.tsv b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_expression_gene_specificity.tsv new file mode 100644 index 0000000..e50665c --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_expression_gene_specificity.tsv @@ -0,0 +1,217 @@ +gene detected_in_wta top_celltype_rank cell_type mean_expr detection_fraction +ANGPT2 True 1.0 CAFs, Invasive Associated 0.07923019245188703 0.056235939264297485 +ANGPT2 True 2.0 Pericytes 0.07468777049585755 0.05440830811858177 +ANGPT2 True 3.0 Endothelial Cells 0.06064471243042672 0.0460343211889267 +ANGPT2 True 4.0 Mast Cells 0.02710027100271003 0.027100270614027977 +ANGPT2 True 5.0 11q13 Invasive Tumor Cells (Mitotic) 0.0231519090170593 0.01909017004072666 +CCL19 True 1.0 Pericytes 0.16520341288487697 0.053171757608652115 +CCL19 True 2.0 Endothelial Cells 0.0912569573283859 0.04359925910830498 +CCL19 True 3.0 T Lymphocytes 0.08605637316038912 0.05238214135169983 +CCL19 True 4.0 Dendritic Cells 0.07784431137724551 0.04241516813635826 +CCL19 True 5.0 B Cells 0.04856687898089172 0.029458599165081978 +CCL21 True 1.0 Endothelial Cells 0.02481447124304267 0.01982838660478592 +CCL21 True 2.0 Myeloid Cells 0.02214022140221402 0.019680196419358253 +CCL21 True 3.0 Pericytes 0.017559045381476443 0.013725732453167439 +CCL21 True 4.0 Apocrine Cells 0.01488833746898263 0.014888337813317776 +CCL21 True 5.0 Plasma Cells 0.012600229095074456 0.010309278033673763 +CCND1 True 1.0 11q13 Invasive Tumor Cells (Mitotic) 45.75142160844842 0.995938241481781 +CCND1 True 2.0 11q13 Invasive Tumor Cells (G1/S) 44.573715248525694 0.9978938698768616 +CCND1 True 3.0 11q13 Invasive Tumor Cells 35.123071397339 0.991645336151123 +CCND1 True 4.0 Basal-like Structured DCIS Cells 14.588698630136987 0.928196370601654 +CCND1 True 5.0 Luminal-like Amorphous DCIS Cells 5.254068160884249 0.8043444752693176 +CD2 True 1.0 T Lymphocytes 0.49837864804190574 0.3382389545440674 +CD2 True 2.0 B Cells 0.09156050955414012 0.07762739062309265 +CD2 True 3.0 Plasma Cells 0.07331042382588775 0.05154639109969139 +CD2 True 4.0 Dendritic Cells 0.060129740518962076 0.049151696264743805 +CD2 True 5.0 Mast Cells 0.04607046070460705 0.04065040498971939 +CD3D True 1.0 T Lymphocytes 0.7599151908206535 0.42105263471603394 +CD3D True 2.0 B Cells 0.1664012738853503 0.10748407989740372 +CD3D True 3.0 Plasma Cells 0.1111111111111111 0.07445590198040009 +CD3D True 4.0 Mast Cells 0.08401084010840108 0.056910570710897446 +CD3D True 5.0 Dendritic Cells 0.08383233532934131 0.057135727256536484 +CD3E True 1.0 T Lymphocytes 1.2775006235969069 0.6097530722618103 +CD3E True 2.0 B Cells 0.2929936305732484 0.20700636506080627 +CD3E True 3.0 Plasma Cells 0.1775486827033219 0.0996563583612442 +CD3E True 4.0 Dendritic Cells 0.12250499001996008 0.08283433318138123 +CD3E True 5.0 Mast Cells 0.056910569105691054 0.046070460230112076 +CD48 True 1.0 T Lymphocytes 0.5604888999750561 0.37989524006843567 +CD48 True 2.0 Dendritic Cells 0.5446606786427146 0.33582833409309387 +CD48 True 3.0 Plasma Cells 0.3104238258877434 0.2279496043920517 +CD48 True 4.0 Mast Cells 0.20596205962059622 0.16802167892456055 +CD48 True 5.0 B Cells 0.18431528662420382 0.14331209659576416 +CD63 False +CD93 True 1.0 Endothelial Cells 0.9689239332096475 0.5012755393981934 +CD93 True 2.0 Pericytes 0.23234821318164955 0.16285395622253418 +CD93 True 3.0 Dendritic Cells 0.2315369261477046 0.16017964482307434 +CD93 True 4.0 Macrophages 0.1983941983941984 0.139860138297081 +CD93 True 5.0 Mast Cells 0.08130081300813008 0.056910570710897446 +CLEC14A True 1.0 Endothelial Cells 1.3179499072356216 0.5895176529884338 +CLEC14A True 2.0 Pericytes 0.31643378261407196 0.20934833586215973 +CLEC14A True 3.0 Myeloid Cells 0.0959409594095941 0.084870845079422 +CLEC14A True 4.0 CAFs, Invasive Associated 0.07173206698325418 0.05373656749725342 +CLEC14A True 5.0 11q13 Invasive Tumor Cells (Mitotic) 0.06498781478472786 0.058489032089710236 +COL4A1 True 1.0 Endothelial Cells 2.700139146567718 0.6525974273681641 +COL4A1 True 2.0 CAFs, Invasive Associated 2.4473881529617594 0.6213446855545044 +COL4A1 True 3.0 Pericytes 1.5722764931371336 0.5163843035697937 +COL4A1 True 4.0 CAFs, DCIS Associated 0.6216348907618034 0.3171180784702301 +COL4A1 True 5.0 Myoepithelial Cells 0.40009480919649204 0.2188907265663147 +COL4A2 True 1.0 Endothelial Cells 1.5338589981447124 0.5666744112968445 +COL4A2 True 2.0 CAFs, Invasive Associated 1.4781304673831541 0.5351161956787109 +COL4A2 True 3.0 Pericytes 1.0337578830221343 0.4361320734024048 +COL4A2 True 4.0 CAFs, DCIS Associated 0.5452499795434089 0.33074215054512024 +COL4A2 True 5.0 Myoepithelial Cells 0.5319981038160702 0.31879591941833496 +CXCL12 True 1.0 CAFs, DCIS Associated 3.649660420587513 0.7872514724731445 +CXCL12 True 2.0 CAFs, Invasive Associated 1.556610847288178 0.4851287305355072 +CXCL12 True 3.0 Endothelial Cells 1.3608534322820036 0.47993969917297363 +CXCL12 True 4.0 Macrophages 1.0893550893550894 0.40663039684295654 +CXCL12 True 5.0 Pericytes 1.0134784221590207 0.37875601649284363 +CXCR3 True 1.0 T Lymphocytes 0.034048391119980044 0.03280119597911835 +CXCR3 True 2.0 Plasma Cells 0.014891179839633447 0.014891180209815502 +CXCR3 True 3.0 Dendritic Cells 0.011477045908183632 0.010479042306542397 +CXCR3 True 4.0 Myeloid Cells 0.008610086100861008 0.008610086515545845 +CXCR3 True 5.0 Mast Cells 0.008130081300813009 0.008130080997943878 +CXCR4 True 1.0 T Lymphocytes 0.9085806934397606 0.4825392961502075 +CXCR4 True 2.0 Dendritic Cells 0.6749001996007984 0.3540419042110443 +CXCR4 True 3.0 Plasma Cells 0.36769759450171824 0.21305841207504272 +CXCR4 True 4.0 B Cells 0.21934713375796178 0.1675955355167389 +CXCR4 True 5.0 Macrophages 0.1761201761201761 0.1339031308889389 +DLL4 True 1.0 Endothelial Cells 0.476461038961039 0.2467532455921173 +DLL4 True 2.0 Pericytes 0.10634351428218128 0.07703722268342972 +DLL4 True 3.0 Myeloid Cells 0.04551045510455105 0.03198032081127167 +DLL4 True 4.0 11q13 Invasive Tumor Cells (Mitotic) 0.038180341186027617 0.03452477604150772 +DLL4 True 5.0 Plasma Cells 0.020618556701030927 0.019473081454634666 +EMCN True 1.0 Endothelial Cells 1.4728664192949907 0.6341604590415955 +EMCN True 2.0 Pericytes 0.32274020032150363 0.21491281688213348 +EMCN True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.09057676685621446 0.07514216005802155 +EMCN True 4.0 Myeloid Cells 0.06888068880688807 0.05781057849526405 +EMCN True 5.0 Plasma Cells 0.06758304696449026 0.05841924250125885 +FLT1 True 1.0 Endothelial Cells 1.5473098330241188 0.6168830990791321 +FLT1 True 2.0 Pericytes 0.3560034623469766 0.23519228398799896 +FLT1 True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.24654752233956134 0.20633630454540253 +FLT1 True 4.0 Myeloid Cells 0.21648216482164823 0.16851168870925903 +FLT1 True 5.0 Apocrine Cells 0.15632754342431762 0.14640198647975922 +HES1 True 1.0 11q13 Invasive Tumor Cells (Mitotic) 0.4435418359057677 0.307879775762558 +HES1 True 2.0 Luminal-like Amorphous DCIS Cells 0.40067546822229044 0.2689591646194458 +HES1 True 3.0 11q13 Invasive Tumor Cells (G1/S) 0.33403538331929233 0.24136479198932648 +HES1 True 4.0 11q13 Invasive Tumor Cells 0.2922418639515273 0.21926729381084442 +HES1 True 5.0 Basal-like Structured DCIS Cells 0.2264840182648402 0.1742009073495865 +HEY1 True 1.0 Endothelial Cells 0.24570964749536178 0.15584415197372437 +HEY1 True 2.0 11q13 Invasive Tumor Cells (Mitotic) 0.17749796913078797 0.1486596316099167 +HEY1 True 3.0 Basal-like Structured DCIS Cells 0.1430365296803653 0.10844749212265015 +HEY1 True 4.0 Myoepithelial Cells 0.1268073003081299 0.10630480945110321 +HEY1 True 5.0 Myeloid Cells 0.10947109471094711 0.08733087033033371 +HSPG2 True 1.0 Endothelial Cells 5.104359925788497 0.8711734414100647 +HSPG2 True 2.0 CAFs, Invasive Associated 2.2671832041989504 0.6923269033432007 +HSPG2 True 3.0 Pericytes 1.1843699765055027 0.48237913846969604 +HSPG2 True 4.0 CAFs, DCIS Associated 0.8459618689141641 0.4324932396411896 +HSPG2 True 5.0 Myoepithelial Cells 0.5875799952595402 0.3209291398525238 +IL7R True 1.0 T Lymphocytes 0.20990271888251436 0.15851832926273346 +IL7R True 2.0 Myeloid Cells 0.05289052890528905 0.046740468591451645 +IL7R True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.05280259951259139 0.05158407613635063 +IL7R True 4.0 Apocrine Cells 0.04714640198511166 0.04466501250863075 +IL7R True 5.0 Dendritic Cells 0.046656686626746505 0.037425149232149124 +JAG1 True 1.0 11q13 Invasive Tumor Cells (Mitotic) 1.9065800162469537 0.7083671689033508 +JAG1 True 2.0 11q13 Invasive Tumor Cells 1.4774345680554688 0.6293959617614746 +JAG1 True 3.0 11q13 Invasive Tumor Cells (G1/S) 1.3336141533277168 0.5867733955383301 +JAG1 True 4.0 Luminal-like Amorphous DCIS Cells 1.0723825606386246 0.5086736083030701 +JAG1 True 5.0 Basal-like Structured DCIS Cells 0.6257990867579909 0.3481735289096832 +KDR True 1.0 Endothelial Cells 2.37569573283859 0.6372912526130676 +KDR True 2.0 Pericytes 0.6527760603437616 0.3185359239578247 +KDR True 3.0 CAFs, Invasive Associated 0.10547363159210198 0.06723318994045258 +KDR True 4.0 Myeloid Cells 0.09471094710947109 0.084870845079422 +KDR True 5.0 Basal-like Structured DCIS Cells 0.08367579908675798 0.06061643734574318 +LCK True 1.0 T Lymphocytes 0.6152407084060864 0.3986031413078308 +LCK True 2.0 B Cells 0.11544585987261147 0.0927547737956047 +LCK True 3.0 Plasma Cells 0.08476517754868271 0.06643757224082947 +LCK True 4.0 Myeloid Cells 0.06150061500615006 0.05166051536798477 +LCK True 5.0 Dendritic Cells 0.058632734530938126 0.04466067999601364 +LRP1 True 1.0 CAFs, Invasive Associated 2.662834291427143 0.7233191728591919 +LRP1 True 2.0 CAFs, DCIS Associated 2.585713116766222 0.7374191880226135 +LRP1 True 3.0 Dendritic Cells 1.0197105788423153 0.44386228919029236 +LRP1 True 4.0 Macrophages 0.9233359233359233 0.440559446811676 +LRP1 True 5.0 Myoepithelial Cells 0.4869637354823418 0.302085816860199 +MMP2 True 1.0 CAFs, DCIS Associated 1.4687423287783323 0.5307257771492004 +MMP2 True 2.0 CAFs, Invasive Associated 1.3129217695576105 0.4966258406639099 +MMP2 True 3.0 Endothelial Cells 0.2912801484230056 0.1832096427679062 +MMP2 True 4.0 Dendritic Cells 0.2657185628742515 0.15668663382530212 +MMP2 True 5.0 Myoepithelial Cells 0.2623844512917753 0.1821521669626236 +MMRN2 True 1.0 Endothelial Cells 1.2184601113172542 0.5637755393981934 +MMRN2 True 2.0 Pericytes 0.2594287127488562 0.17744527757167816 +MMRN2 True 3.0 Basal-like Structured DCIS Cells 0.06746575342465753 0.05319634824991226 +MMRN2 True 4.0 Myoepithelial Cells 0.06245555818914435 0.05131547898054123 +MMRN2 True 5.0 Mast Cells 0.04607046070460705 0.0379403792321682 +MYC True 1.0 Basal-like Structured DCIS Cells 1.5598173515981735 0.5699771642684937 +MYC True 2.0 Endothelial Cells 1.1174628942486085 0.4582560360431671 +MYC True 3.0 11q13 Invasive Tumor Cells (G1/S) 0.9334456613310868 0.45408591628074646 +MYC True 4.0 11q13 Invasive Tumor Cells 0.8824879755137734 0.44670185446739197 +MYC True 5.0 11q13 Invasive Tumor Cells (Mitotic) 0.8273761169780666 0.43013811111450195 +NOTCH1 True 1.0 Endothelial Cells 0.5613404452690167 0.35366418957710266 +NOTCH1 True 2.0 Basal-like Structured DCIS Cells 0.4221461187214612 0.263812780380249 +NOTCH1 True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.30381803411860275 0.22542648017406464 +NOTCH1 True 4.0 Pericytes 0.22517620873006058 0.15951527655124664 +NOTCH1 True 5.0 Myoepithelial Cells 0.2188907324010429 0.15868689119815826 +NOTCH2 True 1.0 Apocrine Cells 2.1861042183622827 0.7171216011047363 +NOTCH2 True 2.0 11q13 Invasive Tumor Cells 1.3958398400899494 0.607002317905426 +NOTCH2 True 3.0 11q13 Invasive Tumor Cells (Mitotic) 1.334281072298944 0.6255077123641968 +NOTCH2 True 4.0 Luminal-like Amorphous DCIS Cells 1.1538992938286767 0.5558028817176819 +NOTCH2 True 5.0 11q13 Invasive Tumor Cells (G1/S) 1.0602358887952823 0.5395956039428711 +NOTCH3 True 1.0 Pericytes 2.3809818226783728 0.5623840689659119 +NOTCH3 True 2.0 CAFs, Invasive Associated 1.1647088227943014 0.4973756670951843 +NOTCH3 True 3.0 Luminal-like Amorphous DCIS Cells 0.9322229045133559 0.4947804808616638 +NOTCH3 True 4.0 Endothelial Cells 0.7337662337662337 0.27516233921051025 +NOTCH3 True 5.0 Basal-like Structured DCIS Cells 0.6931506849315069 0.3960045576095581 +NOTCH4 True 1.0 Endothelial Cells 0.4457328385899815 0.28038033843040466 +NOTCH4 True 2.0 Myoepithelial Cells 0.10997866793078928 0.09042426943778992 +NOTCH4 True 3.0 Pericytes 0.08445653517991838 0.0650426596403122 +NOTCH4 True 4.0 Basal-like Structured DCIS Cells 0.07682648401826483 0.06255707889795303 +NOTCH4 True 5.0 11q13 Invasive Tumor Cells (Mitotic) 0.07636068237205523 0.06986190378665924 +PDGFRB True 1.0 CAFs, Invasive Associated 0.6135966008497875 0.3709072768688202 +PDGFRB True 2.0 Pericytes 0.42549771237789047 0.2529986500740051 +PDGFRB True 3.0 CAFs, DCIS Associated 0.32493249324932494 0.2368464171886444 +PDGFRB True 4.0 Endothelial Cells 0.15213358070500926 0.10227272659540176 +PDGFRB True 5.0 Dendritic Cells 0.05189620758483034 0.0416666679084301 +PECAM1 True 1.0 Endothelial Cells 4.5438311688311686 0.8918135166168213 +PECAM1 True 2.0 Plasma Cells 1.7445589919816724 0.6300114393234253 +PECAM1 True 3.0 Pericytes 1.0775318412266601 0.4703845679759979 +PECAM1 True 4.0 Dendritic Cells 0.7437624750499002 0.4149201512336731 +PECAM1 True 5.0 Macrophages 0.4421134421134421 0.28671327233314514 +PLAT True 1.0 11q13 Invasive Tumor Cells 8.869838840652132 0.956024706363678 +PLAT True 2.0 11q13 Invasive Tumor Cells (Mitotic) 7.280259951259139 0.9549146890640259 +PLAT True 3.0 11q13 Invasive Tumor Cells (G1/S) 6.233361415332772 0.9182813763618469 +PLAT True 4.0 Apocrine Cells 3.3101736972704714 0.8114144206047058 +PLAT True 5.0 Luminal-like Amorphous DCIS Cells 2.8183143997543754 0.6322535872459412 +RGS5 True 1.0 Pericytes 0.6418943984172129 0.3001112937927246 +RGS5 True 2.0 Endothelial Cells 0.5906771799628943 0.3025278151035309 +RGS5 True 3.0 CAFs, Invasive Associated 0.10747313171707074 0.06723318994045258 +RGS5 True 4.0 Myeloid Cells 0.07995079950799508 0.06519065052270889 +RGS5 True 5.0 Mast Cells 0.07859078590785908 0.0731707289814949 +SELP True 1.0 Endothelial Cells 0.7355055658627088 0.259508341550827 +SELP True 2.0 Pericytes 0.10980586125881044 0.07270928472280502 +SELP True 3.0 T Lymphocytes 0.06023946121227239 0.050511348992586136 +SELP True 4.0 Myeloid Cells 0.05166051660516605 0.04428044334053993 +SELP True 5.0 Plasma Cells 0.043528064146620846 0.03665521368384361 +SERPINE1 True 1.0 CAFs, Invasive Associated 0.3504123969007748 0.20569857954978943 +SERPINE1 True 2.0 Myoepithelial Cells 0.05724105238208106 0.03507940098643303 +SERPINE1 True 3.0 Endothelial Cells 0.05322356215213358 0.04012059420347214 +SERPINE1 True 4.0 CAFs, DCIS Associated 0.04107683495622289 0.03358972445130348 +SERPINE1 True 5.0 Dendritic Cells 0.036926147704590816 0.03168662637472153 +THBD True 1.0 Endothelial Cells 0.8287337662337663 0.40491652488708496 +THBD True 2.0 Pericytes 0.2860145913194015 0.18770866096019745 +THBD True 3.0 Dendritic Cells 0.1217564870259481 0.09356287121772766 +THBD True 4.0 CAFs, Invasive Associated 0.10847288177955511 0.0794801265001297 +THBD True 5.0 Myeloid Cells 0.08487084870848709 0.07503075152635574 +THBS2 True 1.0 CAFs, Invasive Associated 1.8375406148462885 0.5576105713844299 +THBS2 True 2.0 CAFs, DCIS Associated 1.6160297847966616 0.5173472166061401 +THBS2 True 3.0 Dendritic Cells 0.1317365269461078 0.071856290102005 +THBS2 True 4.0 CXCL14+ Fibroblasts 0.11588330632090761 0.07698541134595871 +THBS2 True 5.0 Pericytes 0.1151230369729195 0.07122542709112167 +TRAC True 1.0 T Lymphocytes 2.8600648540783236 0.7904714345932007 +TRAC True 2.0 B Cells 0.6871019108280255 0.3626592457294464 +TRAC True 3.0 Plasma Cells 0.33791523482245134 0.1477663218975067 +TRAC True 4.0 Dendritic Cells 0.24176646706586827 0.1230039894580841 +TRAC True 5.0 CAFs, Invasive Associated 0.15571107223194203 0.10172457247972488 +VWF True 1.0 Endothelial Cells 6.707908163265306 0.8781307935714722 +VWF True 2.0 Pericytes 1.29108445653518 0.4304439127445221 +VWF True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.11169780666125101 0.09423232823610306 +VWF True 4.0 Dendritic Cells 0.11052894211576847 0.05913173779845238 +VWF True 5.0 Mast Cells 0.10840108401084012 0.08130080997943878 diff --git a/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_false_positive_controls.tsv b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_false_positive_controls.tsv new file mode 100644 index 0000000..8443750 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_false_positive_controls.tsv @@ -0,0 +1,36 @@ +axis_id control_type observed expected_or_control_mean z_or_rank p_or_percentile note +VWF-SELP|Endothelial Cells->Endothelial Cells spatial_abundance_null 12779.0 3498.750466020217 157.09499064265975 0.0 cell-type-label abundance null for graph edge count +VWF-SELP|Endothelial Cells->Endothelial Cells lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +VWF-SELP|Endothelial Cells->Endothelial Cells lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated spatial_abundance_null 13942.0 9916.101448337911 40.577088952341676 0.0 cell-type-label abundance null for graph edge count +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +MMRN2-CD93|Endothelial Cells->Endothelial Cells spatial_abundance_null 12779.0 3498.750466020217 157.09499064265975 0.0 cell-type-label abundance null for graph edge count +MMRN2-CD93|Endothelial Cells->Endothelial Cells lr_label_permutation_same_sender_receiver 4.0 3299.0 4.0 0.9990906335253107 rank percentile against all LR pairs in the same sender-receiver cell-type pair +MMRN2-CD93|Endothelial Cells->Endothelial Cells lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +DLL4-NOTCH3|Endothelial Cells->Pericytes spatial_abundance_null 11379.0 3280.889960425034 141.55074144031974 0.0 cell-type-label abundance null for graph edge count +DLL4-NOTCH3|Endothelial Cells->Pericytes lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +DLL4-NOTCH3|Endothelial Cells->Pericytes lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes spatial_abundance_null 11604.0 9219.306750089676 24.92068208259856 2.220471678964988e-137 cell-type-label abundance null for graph edge count +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +CD48-CD2|T Lymphocytes->T Lymphocytes spatial_abundance_null 21212.0 3024.318857794739 331.09056328473696 0.0 cell-type-label abundance null for graph edge count +CD48-CD2|T Lymphocytes->T Lymphocytes lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +CD48-CD2|T Lymphocytes->T Lymphocytes lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells spatial_abundance_null 423716.0 192905.1692550145 567.2684147856648 0.0 cell-type-label abundance null for graph edge count +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells lr_label_permutation_same_sender_receiver 8.0 3299.0 8.0 0.9978781448923917 rank percentile against all LR pairs in the same sender-receiver cell-type pair +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +VWF-SELP|Endothelial Cells->Endothelial Cells matched_gene_expression_control 0.690919789894645 0.1174789121765555 6.674917611699146 1.0 matched by global mean expression and detection fraction +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated matched_gene_expression_control 0.8904867455342288 0.1132557384471686 11.234674798948532 1.0 matched by global mean expression and detection fraction +MMRN2-CD93|Endothelial Cells->Endothelial Cells matched_gene_expression_control 0.7291144166273554 0.13022764647610297 6.198278570208171 1.0 matched by global mean expression and detection fraction +DLL4-NOTCH3|Endothelial Cells->Pericytes matched_gene_expression_control 0.6103430039507179 0.10700066735274656 8.301941713984622 1.0 matched by global mean expression and detection fraction +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes matched_gene_expression_control 0.7850757124806441 0.1029738649850631 11.218977606863426 1.0 matched by global mean expression and detection fraction +CD48-CD2|T Lymphocytes->T Lymphocytes matched_gene_expression_control 0.5987173848132842 0.10702942070910819 9.860708047779738 1.0 matched by global mean expression and detection fraction +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells matched_gene_expression_control 0.6593758884575077 0.6351644259334726 0.3126368933035661 0.576 matched by global mean expression and detection fraction +CD48-CD2|T Lymphocytes->T Lymphocytes component_ablation_max_rank 20.0 7.0 20.0 worst and best rank after removing one score component +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes component_ablation_max_rank 615.0 8.0 615.0 worst and best rank after removing one score component +DLL4-NOTCH3|Endothelial Cells->Pericytes component_ablation_max_rank 76.0 20.0 76.0 worst and best rank after removing one score component +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells component_ablation_max_rank 329.0 30.0 329.0 worst and best rank after removing one score component +MMRN2-CD93|Endothelial Cells->Endothelial Cells component_ablation_max_rank 13.0 6.0 13.0 worst and best rank after removing one score component +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated component_ablation_max_rank 614.0 2.0 614.0 worst and best rank after removing one score component +VWF-SELP|Endothelial Cells->Endothelial Cells component_ablation_max_rank 16.0 1.0 16.0 worst and best rank after removing one score component diff --git a/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_matched_gene_controls.tsv b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_matched_gene_controls.tsv new file mode 100644 index 0000000..59725eb --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_matched_gene_controls.tsv @@ -0,0 +1,8 @@ +axis_id matched_gene_status n_controls observed_expression_specificity_score control_mean control_sd matched_gene_z matched_gene_percentile +VWF-SELP|Endothelial Cells->Endothelial Cells success 250 0.690919789894645 0.1174789121765555 0.08590980609453787 6.674917611699146 1.0 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated success 250 0.8904867455342288 0.1132557384471686 0.06918144236447345 11.234674798948532 1.0 +MMRN2-CD93|Endothelial Cells->Endothelial Cells success 250 0.7291144166273554 0.13022764647610297 0.09662146729412627 6.198278570208171 1.0 +DLL4-NOTCH3|Endothelial Cells->Pericytes success 250 0.6103430039507179 0.10700066735274656 0.060629471265751134 8.301941713984622 1.0 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes success 250 0.7850757124806441 0.1029738649850631 0.06079893118587669 11.218977606863426 1.0 +CD48-CD2|T Lymphocytes->T Lymphocytes success 250 0.5987173848132842 0.10702942070910819 0.04986335278579571 9.860708047779738 1.0 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells success 250 0.6593758884575077 0.6351644259334726 0.07744275561402209 0.3126368933035661 0.576 diff --git a/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_spatial_null_summary.tsv b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_spatial_null_summary.tsv new file mode 100644 index 0000000..88f4c43 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_spatial_null_summary.tsv @@ -0,0 +1,8 @@ +axis_id observed_cross_edge_count expected_cross_edge_count_abundance_null cross_edge_enrichment_fold cross_edge_enrichment_z cross_edge_enrichment_p_approx local_contact contact_coverage within_sender_receiver_rank within_sender_receiver_n within_sender_receiver_percentile within_lr_pair_rank within_lr_pair_n within_lr_pair_percentile +VWF-SELP|Endothelial Cells->Endothelial Cells 12779 3498.750466020217 3.652446816116025 157.09499064265975 0.0 0.2912449657481761 0.1111198059316065 1 3299 1.0 1 400 1.0 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated 13942 9916.101448337911 1.4059961036740796 40.577088952341676 0.0 0.3461937505325735 0.1319036006311863 1 3299 1.0 1 400 1.0 +MMRN2-CD93|Endothelial Cells->Endothelial Cells 12779 3498.750466020217 3.652446816116025 157.09499064265975 0.0 0.1484661470807383 0.0288754988653259 4 3299 0.9990906335253107 1 400 1.0 +DLL4-NOTCH3|Endothelial Cells->Pericytes 11379 3280.889960425034 3.4682662744732435 141.55074144031974 0.0 0.135465098207694 0.0303190087002372 1 3299 1.0 1 400 1.0 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes 11604 9219.306750089676 1.258662968328625 24.92068208259856 2.220471678964988e-137 0.1684304172162009 0.0450706652878317 1 3299 1.0 1 400 1.0 +CD48-CD2|T Lymphocytes->T Lymphocytes 21212 3024.318857794739 7.0138107115687145 331.09056328473696 0.0 0.1241603897223811 0.0154158023760135 1 3299 1.0 1 400 1.0 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells 423716 192905.1692550145 2.1964989410929725 567.2684147856648 0.0 0.1231934200799743 0.0168391092146626 8 3299 0.9978781448923917 1 400 1.0 diff --git a/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_validation_evidence.tsv b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_validation_evidence.tsv new file mode 100644 index 0000000..4c1c8fd --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/tables/topolink_cci_validation_evidence.tsv @@ -0,0 +1,15 @@ +axis_id biology_label ligand receptor sender_celltype receiver_celltype CCI_score global_rank sender_anchor receiver_anchor structure_bridge sender_expr receiver_expr local_contact_x prior_confidence cross_edge_count sender receiver ligand_sender_mean ligand_sender_detection_fraction ligand_sender_celltype_rank ligand_sender_specificity_ratio receptor_receiver_mean receptor_receiver_detection_fraction receptor_receiver_celltype_rank receptor_receiver_specificity_ratio observed_cross_edge_count expected_cross_edge_count_abundance_null cross_edge_enrichment_fold cross_edge_enrichment_z cross_edge_enrichment_p_approx local_contact_y contact_coverage within_sender_receiver_rank within_sender_receiver_n within_sender_receiver_percentile within_lr_pair_rank within_lr_pair_n within_lr_pair_percentile matched_gene_status n_controls observed_expression_specificity_score control_mean control_sd matched_gene_z matched_gene_percentile max_rank_after_component_removal min_rank_after_component_removal cross_method_exact_count cross_method_same_lr_count cross_method_same_sender_receiver_count supporting_methods_exact supporting_methods_same_lr target_panel_present_n receiver_context_panel_score receiver_context_panel_genes expression_support spatial_abundance_null_support matched_gene_control_support component_ablation_support cross_method_support receiver_context_support support_count evidence_class axis_label +VWF-SELP|Endothelial Cells->Endothelial Cells WPB / endothelial activation VWF SELP Endothelial Cells Endothelial Cells 0.7854081595451057 1 0.939155377105368 0.8581763436107446 1.0 1.0 1.0 0.2912449657481761 1.0 12779 Endothelial Cells Endothelial Cells 6.707908163265306 0.8781307935714722 1 1.0 0.7355055658627088 0.259508341550827 1 1.0 12779 3498.750466020217 3.652446816116025 157.09499064265975 0.0 0.2912449657481761 0.1111198059316065 1 3299 1.0 1 400 1.0 success 250 0.690919789894645 0.1174789121765555 0.08590980609453787 6.674917611699146 1.0 16 1 7 7 7 cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn 6 0.6656207262750022 VWF,SELP,ANGPT2,THBD,PLAT,SERPINE1 True True True True True True 6 strong "VWF-SELP +Endothelial Cells -> Endothelial Cells" +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated vascular-stromal matrix/scavenger axis VWF LRP1 Endothelial Cells CAFs, DCIS Associated 0.7148067513709494 5 0.939155377105368 0.6455155104503945 0.6355774498689515 1.0 1.0 0.3461937505325735 1.0 13942 Endothelial Cells CAFs, DCIS Associated 6.707908163265306 0.8781307935714722 1 1.0 2.585713116766222 0.7374191880226135 2 0.971037936942149 13942 9916.101448337911 1.4059961036740796 40.577088952341676 0.0 0.3461937505325735 0.1319036006311863 1 3299 1.0 1 400 1.0 success 250 0.8904867455342288 0.1132557384471686 0.06918144236447345 11.234674798948532 1.0 614 2 7 7 7 cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn 7 0.5161052675482147 VWF,LRP1,HSPG2,COL4A1,COL4A2,MMP2,THBS2 True True True False True True 5 strong "VWF-LRP1 +Endothelial Cells -> CAFs, DCIS Associated" +MMRN2-CD93|Endothelial Cells->Endothelial Cells CD93-MMRN2 angiogenesis MMRN2 CD93 Endothelial Cells Endothelial Cells 0.7055697517643245 6 0.9751523688982604 0.8521965156573951 1.0 1.0 1.0 0.1484661470807383 1.0 12779 Endothelial Cells Endothelial Cells 1.2184601113172542 0.5637755393981934 1 1.0 0.9689239332096475 0.5012755393981934 1 1.0 12779 3498.750466020217 3.652446816116025 157.09499064265975 0.0 0.1484661470807383 0.0288754988653259 4 3299 0.9990906335253107 1 400 1.0 success 250 0.7291144166273554 0.13022764647610297 0.09662146729412627 6.198278570208171 1.0 13 6 7 7 7 cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn 7 1.0 MMRN2,CD93,CLEC14A,KDR,FLT1,PECAM1,EMCN True True True True True True 6 strong "MMRN2-CD93 +Endothelial Cells -> Endothelial Cells" +CD48-CD2|T Lymphocytes->T Lymphocytes T-cell adhesion/co-stimulation CD48 CD2 T Lymphocytes T Lymphocytes 0.6870622750035398 13 0.9214912429371794 0.9193953048895664 1.0 1.0 1.0 0.1241603897223811 1.0 21212 T Lymphocytes T Lymphocytes 0.5604888999750561 0.37989524006843567 1 1.0 0.49837864804190574 0.3382389545440674 1 1.0 21212 3024.318857794739 7.0138107115687145 331.09056328473696 0.0 0.1241603897223811 0.0154158023760135 1 3299 1.0 1 400 1.0 success 250 0.5987173848132842 0.10702942070910819 0.04986335278579571 9.860708047779738 1.0 20 7 7 7 7 cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn 7 1.0 CD48,CD2,CD3D,CD3E,TRAC,IL7R,LCK True True True True True True 6 strong "CD48-CD2 +T Lymphocytes -> T Lymphocytes" +DLL4-NOTCH3|Endothelial Cells->Pericytes endothelial-pericyte Notch DLL4 NOTCH3 Endothelial Cells Pericytes 0.6628108852003319 20 0.8999695474149415 0.8544260293908458 0.9385210026241833 1.0 0.8672894033034337 0.135465098207694 1.0 11379 Endothelial Cells Pericytes 0.476461038961039 0.2467532455921173 1 1.0 2.3809818226783728 0.5623840689659119 1 1.0 11379 3280.889960425034 3.4682662744732435 141.55074144031974 0.0 0.135465098207694 0.0303190087002372 1 3299 1.0 1 400 1.0 success 250 0.6103430039507179 0.10700066735274656 0.060629471265751134 8.301941713984622 1.0 76 20 7 7 7 cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn 8 0.48688694950414185 DLL4,NOTCH3,NOTCH4,JAG1,HEY1,HES1,PDGFRB,RGS5 True True True True True False 5 strong "DLL4-NOTCH3 +Endothelial Cells -> Pericytes" +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes CAF-immune chemokine recruitment CXCL12 CXCR4 CAFs, DCIS Associated T Lymphocytes 0.6338817490290192 29 0.8401391037337905 0.929067454422166 0.493435580121531 1.0 1.0 0.1684304172162009 1.0 11604 CAFs, DCIS Associated T Lymphocytes 3.649660420587513 0.7872514724731445 1 1.0 0.9085806934397606 0.4825392961502075 1 1.0 11604 9219.306750089676 1.258662968328625 24.92068208259856 2.220471678964988e-137 0.1684304172162009 0.0450706652878317 1 3299 1.0 1 400 1.0 success 250 0.7850757124806441 0.1029738649850631 0.06079893118587669 11.218977606863426 1.0 615 8 7 7 7 cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn 8 0.7664489835769633 CXCL12,CXCR4,CXCR3,CCL19,CCL21,CD3D,CD3E,IL7R True True True False True True 5 strong "CXCL12-CXCR4 +CAFs, DCIS Associated -> T Lymphocytes" +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells tumor-intrinsic Notch signaling JAG1 NOTCH2 11q13 Invasive Tumor Cells 11q13 Invasive Tumor Cells 0.6167922205938116 41 0.7293068717997298 0.6128235489150379 1.0 1.0 1.0 0.1231934200799743 1.0 423716 11q13 Invasive Tumor Cells 11q13 Invasive Tumor Cells 1.4774345680554688 0.6293959617614746 2 0.7749134866963281 1.3958398400899494 0.607002317905426 2 0.6385056249219633 423716 192905.1692550145 2.1964989410929725 567.2684147856648 0.0 0.1231934200799743 0.0168391092146626 8 3299 0.9978781448923917 1 400 1.0 success 250 0.6593758884575077 0.6351644259334726 0.07744275561402209 0.3126368933035661 0.576 329 30 7 7 7 cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn 7 0.5860530033828537 JAG1,NOTCH2,NOTCH1,HES1,HEY1,MYC,CCND1 True True False False True True 4 moderate "JAG1-NOTCH2 +11q13 Invasive Tumor Cells -> 11q13 Invasive Tumor Cells" diff --git a/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/topolink_cci_false_positive_controls.tsv b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/topolink_cci_false_positive_controls.tsv new file mode 100644 index 0000000..8443750 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/topolink_cci_false_positive_controls.tsv @@ -0,0 +1,36 @@ +axis_id control_type observed expected_or_control_mean z_or_rank p_or_percentile note +VWF-SELP|Endothelial Cells->Endothelial Cells spatial_abundance_null 12779.0 3498.750466020217 157.09499064265975 0.0 cell-type-label abundance null for graph edge count +VWF-SELP|Endothelial Cells->Endothelial Cells lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +VWF-SELP|Endothelial Cells->Endothelial Cells lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated spatial_abundance_null 13942.0 9916.101448337911 40.577088952341676 0.0 cell-type-label abundance null for graph edge count +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +MMRN2-CD93|Endothelial Cells->Endothelial Cells spatial_abundance_null 12779.0 3498.750466020217 157.09499064265975 0.0 cell-type-label abundance null for graph edge count +MMRN2-CD93|Endothelial Cells->Endothelial Cells lr_label_permutation_same_sender_receiver 4.0 3299.0 4.0 0.9990906335253107 rank percentile against all LR pairs in the same sender-receiver cell-type pair +MMRN2-CD93|Endothelial Cells->Endothelial Cells lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +DLL4-NOTCH3|Endothelial Cells->Pericytes spatial_abundance_null 11379.0 3280.889960425034 141.55074144031974 0.0 cell-type-label abundance null for graph edge count +DLL4-NOTCH3|Endothelial Cells->Pericytes lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +DLL4-NOTCH3|Endothelial Cells->Pericytes lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes spatial_abundance_null 11604.0 9219.306750089676 24.92068208259856 2.220471678964988e-137 cell-type-label abundance null for graph edge count +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +CD48-CD2|T Lymphocytes->T Lymphocytes spatial_abundance_null 21212.0 3024.318857794739 331.09056328473696 0.0 cell-type-label abundance null for graph edge count +CD48-CD2|T Lymphocytes->T Lymphocytes lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +CD48-CD2|T Lymphocytes->T Lymphocytes lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells spatial_abundance_null 423716.0 192905.1692550145 567.2684147856648 0.0 cell-type-label abundance null for graph edge count +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells lr_label_permutation_same_sender_receiver 8.0 3299.0 8.0 0.9978781448923917 rank percentile against all LR pairs in the same sender-receiver cell-type pair +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +VWF-SELP|Endothelial Cells->Endothelial Cells matched_gene_expression_control 0.690919789894645 0.1174789121765555 6.674917611699146 1.0 matched by global mean expression and detection fraction +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated matched_gene_expression_control 0.8904867455342288 0.1132557384471686 11.234674798948532 1.0 matched by global mean expression and detection fraction +MMRN2-CD93|Endothelial Cells->Endothelial Cells matched_gene_expression_control 0.7291144166273554 0.13022764647610297 6.198278570208171 1.0 matched by global mean expression and detection fraction +DLL4-NOTCH3|Endothelial Cells->Pericytes matched_gene_expression_control 0.6103430039507179 0.10700066735274656 8.301941713984622 1.0 matched by global mean expression and detection fraction +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes matched_gene_expression_control 0.7850757124806441 0.1029738649850631 11.218977606863426 1.0 matched by global mean expression and detection fraction +CD48-CD2|T Lymphocytes->T Lymphocytes matched_gene_expression_control 0.5987173848132842 0.10702942070910819 9.860708047779738 1.0 matched by global mean expression and detection fraction +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells matched_gene_expression_control 0.6593758884575077 0.6351644259334726 0.3126368933035661 0.576 matched by global mean expression and detection fraction +CD48-CD2|T Lymphocytes->T Lymphocytes component_ablation_max_rank 20.0 7.0 20.0 worst and best rank after removing one score component +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes component_ablation_max_rank 615.0 8.0 615.0 worst and best rank after removing one score component +DLL4-NOTCH3|Endothelial Cells->Pericytes component_ablation_max_rank 76.0 20.0 76.0 worst and best rank after removing one score component +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells component_ablation_max_rank 329.0 30.0 329.0 worst and best rank after removing one score component +MMRN2-CD93|Endothelial Cells->Endothelial Cells component_ablation_max_rank 13.0 6.0 13.0 worst and best rank after removing one score component +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated component_ablation_max_rank 614.0 2.0 614.0 worst and best rank after removing one score component +VWF-SELP|Endothelial Cells->Endothelial Cells component_ablation_max_rank 16.0 1.0 16.0 worst and best rank after removing one score component diff --git a/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/topolink_cci_validation_scoreboard.md b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/topolink_cci_validation_scoreboard.md new file mode 100644 index 0000000..061f27a --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_collected/topolink_cci_validation_20260428_outputs/topolink_cci_validation_scoreboard.md @@ -0,0 +1,41 @@ +# TopoLink-CCI validation evidence scoreboard + +This PDC run applies the computational false-positive-control logic used by classic CCC/LR papers: expression specificity, spatial/label nulls, matched-gene controls, component ablation, cross-method triangulation, and receiver-context support. It is computational evidence, not wet-lab proof. + +## Evidence classes + +- Strong axes: 6 +- Moderate axes: 1 +- Hypothesis-only axes: 0 + +axis_label biology_label CCI_score global_rank evidence_class support_count cross_method_same_lr_count matched_gene_percentile cross_edge_enrichment_z max_rank_after_component_removal +"VWF-SELP +Endothelial Cells -> Endothelial Cells" WPB / endothelial activation 0.7854081595451057 1 strong 6 7 1.0 157.09499064265975 16 +"VWF-LRP1 +Endothelial Cells -> CAFs, DCIS Associated" vascular-stromal matrix/scavenger axis 0.7148067513709494 5 strong 5 7 1.0 40.577088952341676 614 +"MMRN2-CD93 +Endothelial Cells -> Endothelial Cells" CD93-MMRN2 angiogenesis 0.7055697517643245 6 strong 6 7 1.0 157.09499064265975 13 +"CD48-CD2 +T Lymphocytes -> T Lymphocytes" T-cell adhesion/co-stimulation 0.6870622750035398 13 strong 6 7 1.0 331.09056328473696 20 +"DLL4-NOTCH3 +Endothelial Cells -> Pericytes" endothelial-pericyte Notch 0.6628108852003319 20 strong 5 7 1.0 141.55074144031974 76 +"CXCL12-CXCR4 +CAFs, DCIS Associated -> T Lymphocytes" CAF-immune chemokine recruitment 0.6338817490290192 29 strong 5 7 1.0 24.92068208259856 615 +"JAG1-NOTCH2 +11q13 Invasive Tumor Cells -> 11q13 Invasive Tumor Cells" tumor-intrinsic Notch signaling 0.6167922205938116 41 moderate 4 7 0.576 567.2684147856648 329 + + +## Control interpretation + +- `spatial_abundance_null`: compares observed sender-receiver graph edges with a label-abundance null; it is conservative about exact geometry but catches cell-type-pair edge enrichment. +- `matched_gene_control`: compares ligand/receptor sender-receiver expression specificity with genes matched by global mean and detection. +- `lr_label_permutation`: reports where the candidate ranks within the same sender-receiver cell-type pair and within the same LR pair across cell-type pairs. +- `component_ablation`: recomputes geometric-mean LR scores after removing one pyXenium component at a time. + +## References to validation patterns + +- CellPhoneDB: curated LR database, complex filtering, and cell-label permutation specificity. +- CellChat: mass-action communication probability, curated cofactors/complexes, and label permutation. +- NicheNet: downstream receiver target-gene support rather than co-expression alone. +- stLearn/SpatialDM/Squidpy: spatially constrained LR evidence and permutation/random-pair controls. +- LIANA benchmark: multi-method consensus and rank aggregation because no single LR score is ground truth. diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/logs/run.stderr.log b/benchmarking/cci_2026_atera/a100_validation_v2_collected/logs/run.stderr.log new file mode 100644 index 0000000..2ffc4c6 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/logs/run.stderr.log @@ -0,0 +1,23 @@ + Command being timed: "/home/taobo.hu/miniconda3/bin/conda run -n pyx-cci-pyxenium python /data/taobo.hu/topolink_cci_validation_20260428_v2/scripts/topolink_cci_validation_v2.py --root /data/taobo.hu/topolink_cci_benchmark_2026-04 --output-dir /data/taobo.hu/topolink_cci_validation_20260428_v2/outputs --n-label-permutations 500 --n-spatial-permutations 300 --n-spatial-matched-pairs 120 --n-matched-controls 250 --n-downstream-permutations 120 --n-bootstraps 5 --k-neighbors 10 --seed 20260428" + User time (seconds): 80.13 + System time (seconds): 54.35 + Percent of CPU this job got: 186% + Elapsed (wall clock) time (h:mm:ss or m:ss): 1:12.28 + Average shared text size (kbytes): 0 + Average unshared data size (kbytes): 0 + Average stack size (kbytes): 0 + Average total size (kbytes): 0 + Maximum resident set size (kbytes): 8977084 + Average resident set size (kbytes): 0 + Major (requiring I/O) page faults: 480 + Minor (reclaiming a frame) page faults: 1243039 + Voluntary context switches: 9968 + Involuntary context switches: 17531 + Swaps: 0 + File system inputs: 1635344 + File system outputs: 960 + Socket messages sent: 0 + Socket messages received: 0 + Signals delivered: 0 + Page size (bytes): 4096 + Exit status: 0 diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/logs/run.stdout.log b/benchmarking/cci_2026_atera/a100_validation_v2_collected/logs/run.stdout.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/figures/topolink_cci_validation_v2_evidence_matrix.pdf b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/figures/topolink_cci_validation_v2_evidence_matrix.pdf new file mode 100644 index 0000000..306e270 Binary files /dev/null and b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/figures/topolink_cci_validation_v2_evidence_matrix.pdf differ diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/figures/topolink_cci_validation_v2_evidence_matrix.png b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/figures/topolink_cci_validation_v2_evidence_matrix.png new file mode 100644 index 0000000..ccab14f Binary files /dev/null and b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/figures/topolink_cci_validation_v2_evidence_matrix.png differ diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/figures/topolink_cci_validation_v2_support_counts.pdf b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/figures/topolink_cci_validation_v2_support_counts.pdf new file mode 100644 index 0000000..0007519 Binary files /dev/null and b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/figures/topolink_cci_validation_v2_support_counts.pdf differ diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/figures/topolink_cci_validation_v2_support_counts.png b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/figures/topolink_cci_validation_v2_support_counts.png new file mode 100644 index 0000000..7ef5b07 Binary files /dev/null and b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/figures/topolink_cci_validation_v2_support_counts.png differ diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/params.json b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/params.json new file mode 100644 index 0000000..4c4a845 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/params.json @@ -0,0 +1,14 @@ +{ + "root": "/data/taobo.hu/topolink_cci_benchmark_2026-04", + "output_dir": "/data/taobo.hu/topolink_cci_validation_20260428_v2/outputs", + "expected_score_rows": 1319600, + "n_label_permutations": 500, + "n_spatial_permutations": 300, + "n_spatial_matched_pairs": 120, + "n_matched_controls": 250, + "n_downstream_permutations": 120, + "n_bootstraps": 5, + "bootstrap_fraction": 0.8, + "k_neighbors": 10, + "seed": 20260428 +} \ No newline at end of file diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/topolink_cci_validation_v2_report.md b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/topolink_cci_validation_v2_report.md new file mode 100644 index 0000000..ca86fdd --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/topolink_cci_validation_v2_report.md @@ -0,0 +1,35 @@ +# TopoLink-CCI validation v2 + +This report applies the main computational false-positive controls used by classic LR/CCC papers to TopoLink-CCI axes. The result should be read as computational validation, not wet-lab proof. + +## Summary + +- strong: 7 +- moderate: 0 +- hypothesis_only: 0 +- artifact_risk: 0 + +ligand receptor sender receiver CCI_score pyxenium_rank evidence_class support_count cell_label_perm_fdr spatial_null_fdr matched_gene_z downstream_target_fdr cross_method_same_lr_count bootstrap_rank_median contamination_flag +VWF SELP Endothelial Cells Endothelial Cells 0.7854081595451057 1 strong 8 0.001996007984031936 0.004651162790697674 6.674917611699146 0.027184466019417475 7 1.0 False +VWF LRP1 Endothelial Cells CAFs, DCIS Associated 0.7148067513709494 5 strong 8 0.001996007984031936 0.004651162790697674 11.234674798948532 0.029131985731272295 7 3.0 False +MMRN2 CD93 Endothelial Cells Endothelial Cells 0.7055697517643245 6 strong 8 0.001996007984031936 0.004651162790697674 6.198278570208171 0.008323424494649227 7 2.0 False +CD48 CD2 T Lymphocytes T Lymphocytes 0.6870622750035398 13 strong 8 0.001996007984031936 0.011627906976744186 9.860708047779738 0.008323424494649227 7 5.0 False +DLL4 NOTCH3 Endothelial Cells Pericytes 0.6628108852003319 20 strong 8 0.001996007984031936 0.004651162790697674 8.301941713984622 0.025494276795005204 7 6.0 False +CXCL12 CXCR4 CAFs, DCIS Associated T Lymphocytes 0.6338817490290192 29 strong 7 0.001996007984031936 0.5813953488372093 11.218977606863426 0.025494276795005204 7 4.0 False +JAG1 NOTCH2 11q13 Invasive Tumor Cells 11q13 Invasive Tumor Cells 0.6167922205938116 41 strong 6 0.001996007984031936 0.004651162790697674 0.3126368933035661 0.6076099881093936 7 7.0 False + + +## Evidence layers implemented + +- CellPhoneDB/Squidpy-style cell-label permutation of ligand/receptor communication probability. +- CellChat-style sender/receiver group specificity and permutation significance. +- stLearn-style spatial-neighborhood LR co-expression plus matched-expression random gene pairs. +- SpatialDM-style spatial expression null based on ligand/receptor neighborhood coupling. +- NicheNet-style receiver target/pathway support using predefined biology panels. +- COMMOT/SpaTalk-style received-signal association with receiver target programs. +- LIANA-style cross-method consensus across completed benchmark methods. +- pyXenium component ablation and stratified bootstrap stability. + +## Caveat + +The framework reduces false-positive risk, but protein-level receptor binding, secretion, and functional causality require orthogonal experimental validation. diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/CD48_CD2_T_Lymphocytes_T_Lymphocytes.md b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/CD48_CD2_T_Lymphocytes_T_Lymphocytes.md new file mode 100644 index 0000000..237ddb6 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/CD48_CD2_T_Lymphocytes_T_Lymphocytes.md @@ -0,0 +1,25 @@ +# CD48-CD2: T Lymphocytes -> T Lymphocytes + +- Biology label: T-cell adhesion/co-stimulation +- TopoLink-CCI_score: 0.687062 +- pyXenium rank: 13 +- Evidence class: strong +- Supported layers: 8/9 +- Interpretation: strong: 8/9 computational evidence layers support the axis; contamination_flag=False. + +## Key controls + +- `cell_label_perm_fdr`: 0.001996007984031936 +- `spatial_null_fdr`: 0.011627906976744186 +- `matched_gene_z`: 9.860708047779738 +- `matched_gene_percentile`: 1.0 +- `downstream_target_score`: 11.544674396514893 +- `downstream_target_fdr`: 0.008323424494649227 +- `received_signal_target_spearman`: 0.4228849179250702 +- `cross_method_exact_count`: 7 +- `cross_method_same_lr_count`: 7 +- `bootstrap_rank_median`: 5.0 +- `bootstrap_rank_iqr`: 0.0 +- `contamination_flag`: False + +This is computational support only; it does not prove protein-level binding or functional signaling. diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/CXCL12_CXCR4_CAFs_DCIS_Associated_T_Lymphocytes.md b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/CXCL12_CXCR4_CAFs_DCIS_Associated_T_Lymphocytes.md new file mode 100644 index 0000000..d1d4bf4 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/CXCL12_CXCR4_CAFs_DCIS_Associated_T_Lymphocytes.md @@ -0,0 +1,25 @@ +# CXCL12-CXCR4: CAFs, DCIS Associated -> T Lymphocytes + +- Biology label: CAF-immune chemokine recruitment +- TopoLink-CCI_score: 0.633882 +- pyXenium rank: 29 +- Evidence class: strong +- Supported layers: 7/9 +- Interpretation: strong: 7/9 computational evidence layers support the axis; contamination_flag=False. + +## Key controls + +- `cell_label_perm_fdr`: 0.001996007984031936 +- `spatial_null_fdr`: 0.5813953488372093 +- `matched_gene_z`: 11.218977606863426 +- `matched_gene_percentile`: 1.0 +- `downstream_target_score`: 6.800970241427422 +- `downstream_target_fdr`: 0.025494276795005204 +- `received_signal_target_spearman`: 0.4955612441859473 +- `cross_method_exact_count`: 7 +- `cross_method_same_lr_count`: 7 +- `bootstrap_rank_median`: 4.0 +- `bootstrap_rank_iqr`: 0.0 +- `contamination_flag`: False + +This is computational support only; it does not prove protein-level binding or functional signaling. diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/DLL4_NOTCH3_Endothelial_Cells_Pericytes.md b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/DLL4_NOTCH3_Endothelial_Cells_Pericytes.md new file mode 100644 index 0000000..d5ec4cf --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/DLL4_NOTCH3_Endothelial_Cells_Pericytes.md @@ -0,0 +1,25 @@ +# DLL4-NOTCH3: Endothelial Cells -> Pericytes + +- Biology label: endothelial-pericyte Notch +- TopoLink-CCI_score: 0.662811 +- pyXenium rank: 20 +- Evidence class: strong +- Supported layers: 8/9 +- Interpretation: strong: 8/9 computational evidence layers support the axis; contamination_flag=False. + +## Key controls + +- `cell_label_perm_fdr`: 0.001996007984031936 +- `spatial_null_fdr`: 0.004651162790697674 +- `matched_gene_z`: 8.301941713984622 +- `matched_gene_percentile`: 1.0 +- `downstream_target_score`: 2.61274266988039 +- `downstream_target_fdr`: 0.025494276795005204 +- `received_signal_target_spearman`: 0.721750076253441 +- `cross_method_exact_count`: 7 +- `cross_method_same_lr_count`: 7 +- `bootstrap_rank_median`: 6.0 +- `bootstrap_rank_iqr`: 0.0 +- `contamination_flag`: False + +This is computational support only; it does not prove protein-level binding or functional signaling. diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/JAG1_NOTCH2_11q13_Invasive_Tumor_Cells_11q13_Invasive_Tumor_Cells.md b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/JAG1_NOTCH2_11q13_Invasive_Tumor_Cells_11q13_Invasive_Tumor_Cells.md new file mode 100644 index 0000000..62f9a06 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/JAG1_NOTCH2_11q13_Invasive_Tumor_Cells_11q13_Invasive_Tumor_Cells.md @@ -0,0 +1,25 @@ +# JAG1-NOTCH2: 11q13 Invasive Tumor Cells -> 11q13 Invasive Tumor Cells + +- Biology label: tumor-intrinsic Notch signaling +- TopoLink-CCI_score: 0.616792 +- pyXenium rank: 41 +- Evidence class: strong +- Supported layers: 6/9 +- Interpretation: strong: 6/9 computational evidence layers support the axis; contamination_flag=False. + +## Key controls + +- `cell_label_perm_fdr`: 0.001996007984031936 +- `spatial_null_fdr`: 0.004651162790697674 +- `matched_gene_z`: 0.3126368933035661 +- `matched_gene_percentile`: 0.576 +- `downstream_target_score`: 1.5110729336738586 +- `downstream_target_fdr`: 0.6076099881093936 +- `received_signal_target_spearman`: 0.5874875426315861 +- `cross_method_exact_count`: 7 +- `cross_method_same_lr_count`: 7 +- `bootstrap_rank_median`: 7.0 +- `bootstrap_rank_iqr`: 0.0 +- `contamination_flag`: False + +This is computational support only; it does not prove protein-level binding or functional signaling. diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/MMRN2_CD93_Endothelial_Cells_Endothelial_Cells.md b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/MMRN2_CD93_Endothelial_Cells_Endothelial_Cells.md new file mode 100644 index 0000000..c2ac74d --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/MMRN2_CD93_Endothelial_Cells_Endothelial_Cells.md @@ -0,0 +1,25 @@ +# MMRN2-CD93: Endothelial Cells -> Endothelial Cells + +- Biology label: CD93-MMRN2 angiogenesis +- TopoLink-CCI_score: 0.70557 +- pyXenium rank: 6 +- Evidence class: strong +- Supported layers: 8/9 +- Interpretation: strong: 8/9 computational evidence layers support the axis; contamination_flag=False. + +## Key controls + +- `cell_label_perm_fdr`: 0.001996007984031936 +- `spatial_null_fdr`: 0.004651162790697674 +- `matched_gene_z`: 6.198278570208171 +- `matched_gene_percentile`: 1.0 +- `downstream_target_score`: 11.116392135620117 +- `downstream_target_fdr`: 0.008323424494649227 +- `received_signal_target_spearman`: 0.4506380910061747 +- `cross_method_exact_count`: 7 +- `cross_method_same_lr_count`: 7 +- `bootstrap_rank_median`: 2.0 +- `bootstrap_rank_iqr`: 0.0 +- `contamination_flag`: False + +This is computational support only; it does not prove protein-level binding or functional signaling. diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/VWF_LRP1_Endothelial_Cells_CAFs_DCIS_Associated.md b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/VWF_LRP1_Endothelial_Cells_CAFs_DCIS_Associated.md new file mode 100644 index 0000000..7c4d936 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/VWF_LRP1_Endothelial_Cells_CAFs_DCIS_Associated.md @@ -0,0 +1,25 @@ +# VWF-LRP1: Endothelial Cells -> CAFs, DCIS Associated + +- Biology label: vascular-stromal matrix/scavenger axis +- TopoLink-CCI_score: 0.714807 +- pyXenium rank: 5 +- Evidence class: strong +- Supported layers: 8/9 +- Interpretation: strong: 8/9 computational evidence layers support the axis; contamination_flag=False. + +## Key controls + +- `cell_label_perm_fdr`: 0.001996007984031936 +- `spatial_null_fdr`: 0.004651162790697674 +- `matched_gene_z`: 11.234674798948532 +- `matched_gene_percentile`: 1.0 +- `downstream_target_score`: 2.588202246597835 +- `downstream_target_fdr`: 0.029131985731272295 +- `received_signal_target_spearman`: 0.6575063035069829 +- `cross_method_exact_count`: 7 +- `cross_method_same_lr_count`: 7 +- `bootstrap_rank_median`: 3.0 +- `bootstrap_rank_iqr`: 0.0 +- `contamination_flag`: False + +This is computational support only; it does not prove protein-level binding or functional signaling. diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/VWF_SELP_Endothelial_Cells_Endothelial_Cells.md b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/VWF_SELP_Endothelial_Cells_Endothelial_Cells.md new file mode 100644 index 0000000..3b8cfe4 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/reports/validation_cards/VWF_SELP_Endothelial_Cells_Endothelial_Cells.md @@ -0,0 +1,25 @@ +# VWF-SELP: Endothelial Cells -> Endothelial Cells + +- Biology label: WPB / endothelial activation +- TopoLink-CCI_score: 0.785408 +- pyXenium rank: 1 +- Evidence class: strong +- Supported layers: 8/9 +- Interpretation: strong: 8/9 computational evidence layers support the axis; contamination_flag=False. + +## Key controls + +- `cell_label_perm_fdr`: 0.001996007984031936 +- `spatial_null_fdr`: 0.004651162790697674 +- `matched_gene_z`: 6.674917611699146 +- `matched_gene_percentile`: 1.0 +- `downstream_target_score`: 6.738417175908883 +- `downstream_target_fdr`: 0.027184466019417475 +- `received_signal_target_spearman`: 0.6283646829850982 +- `cross_method_exact_count`: 7 +- `cross_method_same_lr_count`: 7 +- `bootstrap_rank_median`: 1.0 +- `bootstrap_rank_iqr`: 0.0 +- `contamination_flag`: False + +This is computational support only; it does not prove protein-level binding or functional signaling. diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/run_summary.json b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/run_summary.json new file mode 100644 index 0000000..4c9940b --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/run_summary.json @@ -0,0 +1,15 @@ +{ + "status": "success", + "runtime_seconds": 69.638, + "n_scores": 1319600, + "n_target_axes": 7, + "evidence_class_counts": { + "strong": 7 + }, + "outputs": { + "evidence": "/data/taobo.hu/topolink_cci_validation_20260428_v2/outputs/tables/topolink_cci_validation_v2_evidence.tsv", + "controls": "/data/taobo.hu/topolink_cci_validation_20260428_v2/outputs/tables/topolink_cci_validation_v2_false_positive_controls.tsv", + "report": "/data/taobo.hu/topolink_cci_validation_20260428_v2/outputs/reports/topolink_cci_validation_v2_report.md", + "figure": "/data/taobo.hu/topolink_cci_validation_20260428_v2/outputs/figures/topolink_cci_validation_v2_evidence_matrix.png" + } +} \ No newline at end of file diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/bootstrap_stability_repeats.tsv b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/bootstrap_stability_repeats.tsv new file mode 100644 index 0000000..ec48a81 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/bootstrap_stability_repeats.tsv @@ -0,0 +1,36 @@ +axis_id bootstrap_id bootstrap_validation_score bootstrap_rank +VWF-SELP|Endothelial Cells->Endothelial Cells 1 2.5294846037115666 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated 1 2.4775096018215743 3 +MMRN2-CD93|Endothelial Cells->Endothelial Cells 1 2.492760816959846 2 +DLL4-NOTCH3|Endothelial Cells->Pericytes 1 1.6468683289549024 6 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes 1 1.9733111259538318 4 +CD48-CD2|T Lymphocytes->T Lymphocytes 1 1.9415515823178238 5 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells 1 1.0242960341055216 7 +VWF-SELP|Endothelial Cells->Endothelial Cells 2 2.5171162335011186 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated 2 2.473767032097854 3 +MMRN2-CD93|Endothelial Cells->Endothelial Cells 2 2.4772141734693474 2 +DLL4-NOTCH3|Endothelial Cells->Pericytes 2 1.6386355219882283 6 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes 2 1.9703233264062612 4 +CD48-CD2|T Lymphocytes->T Lymphocytes 2 1.9142494261725485 5 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells 2 1.0252292828485567 7 +VWF-SELP|Endothelial Cells->Endothelial Cells 3 2.5103975259149602 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated 3 2.471284260537661 3 +MMRN2-CD93|Endothelial Cells->Endothelial Cells 3 2.4798530594772266 2 +DLL4-NOTCH3|Endothelial Cells->Pericytes 3 1.6483774045144926 6 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes 3 1.972576240962361 4 +CD48-CD2|T Lymphocytes->T Lymphocytes 3 1.941759991358487 5 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells 3 1.0218695412958279 7 +VWF-SELP|Endothelial Cells->Endothelial Cells 4 2.5250901302802897 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated 4 2.476756834260751 3 +MMRN2-CD93|Endothelial Cells->Endothelial Cells 4 2.4928706890779577 2 +DLL4-NOTCH3|Endothelial Cells->Pericytes 4 1.6169876523117452 6 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes 4 1.978781084743746 4 +CD48-CD2|T Lymphocytes->T Lymphocytes 4 1.9076236376944962 5 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells 4 1.02607284368184 7 +VWF-SELP|Endothelial Cells->Endothelial Cells 5 2.541566594354046 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated 5 2.4811317184193578 2 +MMRN2-CD93|Endothelial Cells->Endothelial Cells 5 2.473281442649322 3 +DLL4-NOTCH3|Endothelial Cells->Pericytes 5 1.6233431845634525 6 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes 5 1.9747722688717537 4 +CD48-CD2|T Lymphocytes->T Lymphocytes 5 1.921048420646914 5 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells 5 1.025995534799094 7 diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/bootstrap_stability_summary.tsv b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/bootstrap_stability_summary.tsv new file mode 100644 index 0000000..7ba975b --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/bootstrap_stability_summary.tsv @@ -0,0 +1,8 @@ +axis_id bootstrap_rank_median bootstrap_rank_iqr bootstrap_score_mean bootstrap_score_sd bootstrap_n +CD48-CD2|T Lymphocytes->T Lymphocytes 5.0 0.0 1.925246611638054 0.015713655566381553 5 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes 4.0 0.0 1.9739528093875909 0.0031410030934122366 5 +DLL4-NOTCH3|Endothelial Cells->Pericytes 6.0 0.0 1.634842418466564 0.014082178981952163 5 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells 7.0 0.0 1.0246926473461682 0.0017333252101482156 5 +MMRN2-CD93|Endothelial Cells->Endothelial Cells 2.0 0.0 2.48319603632674 0.009087646555426442 5 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated 3.0 0.0 2.4760898894274397 0.003754003645322219 5 +VWF-SELP|Endothelial Cells->Endothelial Cells 1.0 0.0 2.5247310175523965 0.011933106345753796 5 diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/cell_label_permutation.tsv b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/cell_label_permutation.tsv new file mode 100644 index 0000000..e4e88df --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/cell_label_permutation.tsv @@ -0,0 +1,8 @@ +axis_id cell_label_perm_status cell_label_comm_prob cell_label_perm_mean cell_label_perm_sd cell_label_perm_z cell_label_perm_p cell_label_perm_n cell_label_perm_fdr +VWF-SELP|Endothelial Cells->Endothelial Cells success 4.933703899383545 0.02757341218739748 0.002595310303671029 1890.383003626386 0.001996007984031936 500 0.001996007984031936 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated success 17.3447265625 0.2998358674645424 0.016262341095952152 1048.1203533037499 0.001996007984031936 500 0.001996007984031936 +MMRN2-CD93|Endothelial Cells->Endothelial Cells success 1.1805951595306396 0.008823287986218929 0.0006422116967277436 1824.588180992251 0.001996007984031936 500 0.001996007984031936 +DLL4-NOTCH3|Endothelial Cells->Pericytes success 1.1344451904296875 0.022496088080108164 0.0018236492093399003 609.7384829575133 0.001996007984031936 500 0.001996007984031936 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes success 3.3160109519958496 0.08272893443703651 0.004327497961377857 747.1481318801938 0.001996007984031936 500 0.001996007984031936 +CD48-CD2|T Lymphocytes->T Lymphocytes success 0.2793356776237488 0.0026596546296495946 0.00022015248609680323 1256.7472114416275 0.001996007984031936 500 0.001996007984031936 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells success 2.0622618198394775 0.7131924320459366 0.005215585602508038 258.6611534368852 0.001996007984031936 500 0.001996007984031936 diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/component_ablation.tsv b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/component_ablation.tsv new file mode 100644 index 0000000..ede4740 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/component_ablation.tsv @@ -0,0 +1,50 @@ +axis_id removed_component score_without_component rank_without_component +VWF-SELP|Endothelial Cells->Endothelial Cells sender_anchor 0.7936685312319989 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated sender_anchor 0.7223245865106046 8 +MMRN2-CD93|Endothelial Cells->Endothelial Cells sender_anchor 0.7085348212720359 13 +DLL4-NOTCH3|Endothelial Cells->Pericytes sender_anchor 0.6745564828093611 25 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes sender_anchor 0.6525538738821847 36 +CD48-CD2|T Lymphocytes->T Lymphocytes sender_anchor 0.6964889406614021 16 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells sender_anchor 0.650110468858211 40 +VWF-SELP|Endothelial Cells->Endothelial Cells receiver_anchor 0.805686300976693 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated receiver_anchor 0.7689017668792069 2 +MMRN2-CD93|Endothelial Cells->Endothelial Cells receiver_anchor 0.7246305722691555 9 +DLL4-NOTCH3|Endothelial Cells->Pericytes receiver_anchor 0.6804202200885041 21 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes receiver_anchor 0.6417024502434168 49 +CD48-CD2|T Lymphocytes->T Lymphocytes receiver_anchor 0.6967533196814983 16 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells receiver_anchor 0.6692416628881765 30 +VWF-SELP|Endothelial Cells->Endothelial Cells structure_bridge 0.7854081482043567 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated structure_bridge 0.7708926279250373 2 +MMRN2-CD93|Endothelial Cells->Endothelial Cells structure_bridge 0.7055697377300002 12 +DLL4-NOTCH3|Endothelial Cells->Pericytes structure_bridge 0.6698572931376457 27 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes structure_bridge 0.7130771089942796 8 +CD48-CD2|T Lymphocytes->T Lymphocytes structure_bridge 0.6870622598572897 19 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells structure_bridge 0.6167922060783549 65 +VWF-SELP|Endothelial Cells->Endothelial Cells sender_expr 0.7854081482043567 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated sender_expr 0.7148067405584678 8 +MMRN2-CD93|Endothelial Cells->Endothelial Cells sender_expr 0.7055697377300002 9 +DLL4-NOTCH3|Endothelial Cells->Pericytes sender_expr 0.6628108709697559 33 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes sender_expr 0.6338817361079696 51 +CD48-CD2|T Lymphocytes->T Lymphocytes sender_expr 0.6870622598572897 20 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells sender_expr 0.6167922060783549 75 +VWF-SELP|Endothelial Cells->Endothelial Cells receiver_expr 0.7854081482043567 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated receiver_expr 0.7148067405584678 6 +MMRN2-CD93|Endothelial Cells->Endothelial Cells receiver_expr 0.7055697377300002 8 +DLL4-NOTCH3|Endothelial Cells->Pericytes receiver_expr 0.6787277660885117 24 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes receiver_expr 0.6338817361079696 52 +CD48-CD2|T Lymphocytes->T Lymphocytes receiver_expr 0.6870622598572897 19 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells receiver_expr 0.6167922060783549 79 +VWF-SELP|Endothelial Cells->Endothelial Cells local_contact 0.9646853087387212 16 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated local_contact 0.8530387672375239 614 +MMRN2-CD93|Endothelial Cells->Endothelial Cells local_contact 0.9696210584915509 11 +DLL4-NOTCH3|Endothelial Cells->Pericytes local_contact 0.9248792871416435 76 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes local_contact 0.8529786310985624 615 +CD48-CD2|T Lymphocytes->T Lymphocytes local_contact 0.9727447950557435 7 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells local_contact 0.8743949187647442 329 +VWF-SELP|Endothelial Cells->Endothelial Cells prior_confidence 0.7854081482043567 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated prior_confidence 0.7148067405584678 5 +MMRN2-CD93|Endothelial Cells->Endothelial Cells prior_confidence 0.7055697377300002 6 +DLL4-NOTCH3|Endothelial Cells->Pericytes prior_confidence 0.6628108709697559 20 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes prior_confidence 0.6338817361079696 29 +CD48-CD2|T Lymphocytes->T Lymphocytes prior_confidence 0.6870622598572897 13 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells prior_confidence 0.6167922060783549 41 diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/contamination_controls.tsv b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/contamination_controls.tsv new file mode 100644 index 0000000..85ff31b --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/contamination_controls.tsv @@ -0,0 +1,8 @@ +axis_id contamination_marker_mean contamination_marker_detection contamination_marker_n endothelial_marker_mean endothelial_marker_detection endothelial_marker_n contamination_to_endothelial_ratio contamination_flag +VWF-SELP|Endothelial Cells->Endothelial Cells 0.05890538077801466 0.024628942486085346 5 2.5959966480731964 0.684963474025974 8 0.022690853943026265 False +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated 0.026129559427499772 0.01609508256214843 5 0.717039417475462 0.20992484727514668 8 0.036440896819168185 False +MMRN2-CD93|Endothelial Cells->Endothelial Cells 0.05890538077801466 0.024628942486085346 5 2.5959966480731964 0.684963474025974 8 0.022690853943026265 False +DLL4-NOTCH3|Endothelial Cells->Pericytes 0.04168511740863323 0.01809586499910239 5 1.6176096498966217 0.4904778289749267 8 0.02576957760563387 False +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes 0.01597042493522167 0.014516327788046826 5 0.060339648043736815 0.047238909426987066 8 0.2646754738053097 False +CD48-CD2|T Lymphocytes->T Lymphocytes 0.020254427567124367 0.018882514342728862 5 0.07943065511062741 0.06225056123721627 8 0.2549950965268374 False +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells 0.013545505329966545 0.012730339184208883 5 0.05200395057909191 0.04524603348116684 8 0.26047069845906073 False diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/cross_method_support_detail.tsv b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/cross_method_support_detail.tsv new file mode 100644 index 0000000..ab60aa3 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/cross_method_support_detail.tsv @@ -0,0 +1,50 @@ +axis_id method exact_support same_lr_any_celltype_support same_sender_receiver_support exact_best_rank same_lr_best_rank same_lr_best_score_std artifact_path +VWF-SELP|Endothelial Cells->Endothelial Cells cellchat_conda_full True True True 805.0 805.0 0.974550519118764 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellchat_conda_full/cellchat_standardized.tsv +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated cellchat_conda_full True True True 22.0 22.0 0.999335274753102 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellchat_conda_full/cellchat_standardized.tsv +MMRN2-CD93|Endothelial Cells->Endothelial Cells cellchat_conda_full True True True 2460.0 2460.0 0.922163838946569 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellchat_conda_full/cellchat_standardized.tsv +DLL4-NOTCH3|Endothelial Cells->Pericytes cellchat_conda_full True True True 4379.0 4379.0 0.86142061281337 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellchat_conda_full/cellchat_standardized.tsv +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes cellchat_conda_full True True True 638.0 638.0 0.979836667510762 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellchat_conda_full/cellchat_standardized.tsv +CD48-CD2|T Lymphocytes->T Lymphocytes cellchat_conda_full True True True 9528.0 9528.0 0.698436312990631 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellchat_conda_full/cellchat_standardized.tsv +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells cellchat_conda_full True True True 1152.0 389.0 0.987718409723981 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellchat_conda_full/cellchat_standardized.tsv +VWF-SELP|Endothelial Cells->Endothelial Cells cellphonedb True True True 692.0 692.0 0.9994161168645052 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated cellphonedb True True True 2.0 2.0 0.99999915501717 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv +MMRN2-CD93|Endothelial Cells->Endothelial Cells cellphonedb True True True 1352.0 1352.0 0.9988584281967392 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv +DLL4-NOTCH3|Endothelial Cells->Pericytes cellphonedb True True True 2869.0 2869.0 0.9975765892437064 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes cellphonedb True True True 171.0 171.0 0.9998563529189088 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv +CD48-CD2|T Lymphocytes->T Lymphocytes cellphonedb True True True 6381.0 6381.0 0.994609009544926 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells cellphonedb True True True 2782.0 1232.0 0.9989598261363328 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv +VWF-SELP|Endothelial Cells->Endothelial Cells laris True True True 2845.0 2845.0 0.9978205811017408 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated laris True True True 18.0 18.0 0.9999869725311988 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +MMRN2-CD93|Endothelial Cells->Endothelial Cells laris True True True 5577.0 5577.0 0.99572699023323 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +DLL4-NOTCH3|Endothelial Cells->Pericytes laris True True True 9878.0 9878.0 0.9924310406265446 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes laris True True True 226.0 226.0 0.9998275776188086 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +CD48-CD2|T Lymphocytes->T Lymphocytes laris True True True 15762.0 15762.0 0.987922003777966 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells laris True True True 2153.0 889.0 0.9993195063355648 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +VWF-SELP|Endothelial Cells->Endothelial Cells liana True True True 8450.0 1616.0 0.9978299106836924 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated liana True True True 58588.0 3227.0 0.9956651962016048 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv +MMRN2-CD93|Endothelial Cells->Endothelial Cells liana True True True 6324.0 3314.0 0.9955482935573206 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv +DLL4-NOTCH3|Endothelial Cells->Pericytes liana True True True 81639.0 32868.0 0.955836330923168 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes liana True True True 69984.0 9542.0 0.9871796766768476 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv +CD48-CD2|T Lymphocytes->T Lymphocytes liana True True True 23050.0 23050.0 0.9690288615160526 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells liana True True True 1437.0 170.0 0.9997729132542068 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv +VWF-SELP|Endothelial Cells->Endothelial Cells spatialdm True True True 1967.0 1896.0 0.9957513401775244 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated spatialdm True True True 13686.0 13543.0 0.9696383370364308 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +MMRN2-CD93|Endothelial Cells->Endothelial Cells spatialdm True True True 5602.0 5520.0 0.9876261986489486 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +DLL4-NOTCH3|Endothelial Cells->Pericytes spatialdm True True True 22202.0 22100.0 0.9504532277483448 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes spatialdm True True True 16101.0 16018.0 0.964089295843488 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +CD48-CD2|T Lymphocytes->T Lymphocytes spatialdm True True True 4354.0 4221.0 0.9905386045114264 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells spatialdm True True True 9527.0 9527.0 0.9786423570084952 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +VWF-SELP|Endothelial Cells->Endothelial Cells squidpy True True True 316.0 316.0 0.999761291300394 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/squidpy/squidpy_standardized.tsv +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated squidpy True True True 1.0 1.0 1.0 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/squidpy/squidpy_standardized.tsv +MMRN2-CD93|Endothelial Cells->Endothelial Cells squidpy True True True 5514.0 5514.0 0.9958222188541982 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/squidpy/squidpy_standardized.tsv +DLL4-NOTCH3|Endothelial Cells->Pericytes squidpy True True True 5956.0 5956.0 0.9954872688693543 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/squidpy/squidpy_standardized.tsv +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes squidpy True True True 204.0 204.0 0.9998461655046984 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/squidpy/squidpy_standardized.tsv +CD48-CD2|T Lymphocytes->T Lymphocytes squidpy True True True 26974.0 26974.0 0.9795597150651713 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/squidpy/squidpy_standardized.tsv +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells squidpy True True True 12740.0 4514.0 0.9965800242497728 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/squidpy/squidpy_standardized.tsv +VWF-SELP|Endothelial Cells->Endothelial Cells stlearn True True True 82562.0 82474.0 0.8367779512785954 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated stlearn True True True 100691.0 100539.0 0.8010255679512984 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +MMRN2-CD93|Endothelial Cells->Endothelial Cells stlearn True True True 88744.0 88651.0 0.8245530704696991 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +DLL4-NOTCH3|Endothelial Cells->Pericytes stlearn True True True 37015.0 36895.0 0.9269832034056298 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes stlearn True True True 47550.0 47459.0 0.9060760250236995 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +CD48-CD2|T Lymphocytes->T Lymphocytes stlearn True True True 161703.0 161549.0 0.6802808734149909 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells stlearn True True True 40130.0 40130.0 0.9205808253229392 /data/taobo.hu/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/downstream_target_support.tsv b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/downstream_target_support.tsv new file mode 100644 index 0000000..312a2bc --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/downstream_target_support.tsv @@ -0,0 +1,8 @@ +axis_id downstream_status downstream_target_genes_present downstream_target_score downstream_target_null_mean downstream_target_null_sd downstream_target_z downstream_target_p downstream_target_gene_panel downstream_target_fdr +VWF-SELP|Endothelial Cells->Endothelial Cells success 6 6.738417175908883 1.0064762527795716 1.4133941349379884 4.055444112466758 0.019417475728155338 VWF,SELP,ANGPT2,THBD,PLAT,SERPINE1 0.027184466019417475 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated success 7 2.588202246597835 0.41110825241499005 0.5784531172302644 3.763648132120292 0.02497027348394768 VWF,LRP1,HSPG2,COL4A1,COL4A2,MMP2,THBS2 0.029131985731272295 +MMRN2-CD93|Endothelial Cells->Endothelial Cells success 7 11.116392135620117 1.047396860657526 1.5327809936425985 6.56910238104792 0.0023781212841854932 MMRN2,CD93,CLEC14A,KDR,FLT1,PECAM1,EMCN 0.008323424494649227 +DLL4-NOTCH3|Endothelial Cells->Pericytes success 8 2.61274266988039 0.5068325942343411 0.5551530740828993 3.7933863180438414 0.014568158168574402 DLL4,NOTCH3,NOTCH4,JAG1,HEY1,HES1,PDGFRB,RGS5 0.025494276795005204 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes success 8 6.800970241427422 1.15657870703144 1.2287697052997264 4.59353083824538 0.012486992715920915 CXCL12,CXCR4,CXCR3,CCL19,CCL21,CD3D,CD3E,IL7R 0.025494276795005204 +CD48-CD2|T Lymphocytes->T Lymphocytes success 7 11.544674396514893 1.0685981322434686 1.2195936012363278 8.589809141054532 0.0023781212841854932 CD48,CD2,CD3D,CD3E,TRAC,IL7R,LCK 0.008323424494649227 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells success 7 1.5110729336738586 1.5341725096816108 0.3373003415056495 -0.06848370180901593 0.6076099881093936 JAG1,NOTCH2,NOTCH1,HES1,HEY1,MYC,CCND1 0.6076099881093936 diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/expression_gene_specificity.tsv b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/expression_gene_specificity.tsv new file mode 100644 index 0000000..e50665c --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/expression_gene_specificity.tsv @@ -0,0 +1,217 @@ +gene detected_in_wta top_celltype_rank cell_type mean_expr detection_fraction +ANGPT2 True 1.0 CAFs, Invasive Associated 0.07923019245188703 0.056235939264297485 +ANGPT2 True 2.0 Pericytes 0.07468777049585755 0.05440830811858177 +ANGPT2 True 3.0 Endothelial Cells 0.06064471243042672 0.0460343211889267 +ANGPT2 True 4.0 Mast Cells 0.02710027100271003 0.027100270614027977 +ANGPT2 True 5.0 11q13 Invasive Tumor Cells (Mitotic) 0.0231519090170593 0.01909017004072666 +CCL19 True 1.0 Pericytes 0.16520341288487697 0.053171757608652115 +CCL19 True 2.0 Endothelial Cells 0.0912569573283859 0.04359925910830498 +CCL19 True 3.0 T Lymphocytes 0.08605637316038912 0.05238214135169983 +CCL19 True 4.0 Dendritic Cells 0.07784431137724551 0.04241516813635826 +CCL19 True 5.0 B Cells 0.04856687898089172 0.029458599165081978 +CCL21 True 1.0 Endothelial Cells 0.02481447124304267 0.01982838660478592 +CCL21 True 2.0 Myeloid Cells 0.02214022140221402 0.019680196419358253 +CCL21 True 3.0 Pericytes 0.017559045381476443 0.013725732453167439 +CCL21 True 4.0 Apocrine Cells 0.01488833746898263 0.014888337813317776 +CCL21 True 5.0 Plasma Cells 0.012600229095074456 0.010309278033673763 +CCND1 True 1.0 11q13 Invasive Tumor Cells (Mitotic) 45.75142160844842 0.995938241481781 +CCND1 True 2.0 11q13 Invasive Tumor Cells (G1/S) 44.573715248525694 0.9978938698768616 +CCND1 True 3.0 11q13 Invasive Tumor Cells 35.123071397339 0.991645336151123 +CCND1 True 4.0 Basal-like Structured DCIS Cells 14.588698630136987 0.928196370601654 +CCND1 True 5.0 Luminal-like Amorphous DCIS Cells 5.254068160884249 0.8043444752693176 +CD2 True 1.0 T Lymphocytes 0.49837864804190574 0.3382389545440674 +CD2 True 2.0 B Cells 0.09156050955414012 0.07762739062309265 +CD2 True 3.0 Plasma Cells 0.07331042382588775 0.05154639109969139 +CD2 True 4.0 Dendritic Cells 0.060129740518962076 0.049151696264743805 +CD2 True 5.0 Mast Cells 0.04607046070460705 0.04065040498971939 +CD3D True 1.0 T Lymphocytes 0.7599151908206535 0.42105263471603394 +CD3D True 2.0 B Cells 0.1664012738853503 0.10748407989740372 +CD3D True 3.0 Plasma Cells 0.1111111111111111 0.07445590198040009 +CD3D True 4.0 Mast Cells 0.08401084010840108 0.056910570710897446 +CD3D True 5.0 Dendritic Cells 0.08383233532934131 0.057135727256536484 +CD3E True 1.0 T Lymphocytes 1.2775006235969069 0.6097530722618103 +CD3E True 2.0 B Cells 0.2929936305732484 0.20700636506080627 +CD3E True 3.0 Plasma Cells 0.1775486827033219 0.0996563583612442 +CD3E True 4.0 Dendritic Cells 0.12250499001996008 0.08283433318138123 +CD3E True 5.0 Mast Cells 0.056910569105691054 0.046070460230112076 +CD48 True 1.0 T Lymphocytes 0.5604888999750561 0.37989524006843567 +CD48 True 2.0 Dendritic Cells 0.5446606786427146 0.33582833409309387 +CD48 True 3.0 Plasma Cells 0.3104238258877434 0.2279496043920517 +CD48 True 4.0 Mast Cells 0.20596205962059622 0.16802167892456055 +CD48 True 5.0 B Cells 0.18431528662420382 0.14331209659576416 +CD63 False +CD93 True 1.0 Endothelial Cells 0.9689239332096475 0.5012755393981934 +CD93 True 2.0 Pericytes 0.23234821318164955 0.16285395622253418 +CD93 True 3.0 Dendritic Cells 0.2315369261477046 0.16017964482307434 +CD93 True 4.0 Macrophages 0.1983941983941984 0.139860138297081 +CD93 True 5.0 Mast Cells 0.08130081300813008 0.056910570710897446 +CLEC14A True 1.0 Endothelial Cells 1.3179499072356216 0.5895176529884338 +CLEC14A True 2.0 Pericytes 0.31643378261407196 0.20934833586215973 +CLEC14A True 3.0 Myeloid Cells 0.0959409594095941 0.084870845079422 +CLEC14A True 4.0 CAFs, Invasive Associated 0.07173206698325418 0.05373656749725342 +CLEC14A True 5.0 11q13 Invasive Tumor Cells (Mitotic) 0.06498781478472786 0.058489032089710236 +COL4A1 True 1.0 Endothelial Cells 2.700139146567718 0.6525974273681641 +COL4A1 True 2.0 CAFs, Invasive Associated 2.4473881529617594 0.6213446855545044 +COL4A1 True 3.0 Pericytes 1.5722764931371336 0.5163843035697937 +COL4A1 True 4.0 CAFs, DCIS Associated 0.6216348907618034 0.3171180784702301 +COL4A1 True 5.0 Myoepithelial Cells 0.40009480919649204 0.2188907265663147 +COL4A2 True 1.0 Endothelial Cells 1.5338589981447124 0.5666744112968445 +COL4A2 True 2.0 CAFs, Invasive Associated 1.4781304673831541 0.5351161956787109 +COL4A2 True 3.0 Pericytes 1.0337578830221343 0.4361320734024048 +COL4A2 True 4.0 CAFs, DCIS Associated 0.5452499795434089 0.33074215054512024 +COL4A2 True 5.0 Myoepithelial Cells 0.5319981038160702 0.31879591941833496 +CXCL12 True 1.0 CAFs, DCIS Associated 3.649660420587513 0.7872514724731445 +CXCL12 True 2.0 CAFs, Invasive Associated 1.556610847288178 0.4851287305355072 +CXCL12 True 3.0 Endothelial Cells 1.3608534322820036 0.47993969917297363 +CXCL12 True 4.0 Macrophages 1.0893550893550894 0.40663039684295654 +CXCL12 True 5.0 Pericytes 1.0134784221590207 0.37875601649284363 +CXCR3 True 1.0 T Lymphocytes 0.034048391119980044 0.03280119597911835 +CXCR3 True 2.0 Plasma Cells 0.014891179839633447 0.014891180209815502 +CXCR3 True 3.0 Dendritic Cells 0.011477045908183632 0.010479042306542397 +CXCR3 True 4.0 Myeloid Cells 0.008610086100861008 0.008610086515545845 +CXCR3 True 5.0 Mast Cells 0.008130081300813009 0.008130080997943878 +CXCR4 True 1.0 T Lymphocytes 0.9085806934397606 0.4825392961502075 +CXCR4 True 2.0 Dendritic Cells 0.6749001996007984 0.3540419042110443 +CXCR4 True 3.0 Plasma Cells 0.36769759450171824 0.21305841207504272 +CXCR4 True 4.0 B Cells 0.21934713375796178 0.1675955355167389 +CXCR4 True 5.0 Macrophages 0.1761201761201761 0.1339031308889389 +DLL4 True 1.0 Endothelial Cells 0.476461038961039 0.2467532455921173 +DLL4 True 2.0 Pericytes 0.10634351428218128 0.07703722268342972 +DLL4 True 3.0 Myeloid Cells 0.04551045510455105 0.03198032081127167 +DLL4 True 4.0 11q13 Invasive Tumor Cells (Mitotic) 0.038180341186027617 0.03452477604150772 +DLL4 True 5.0 Plasma Cells 0.020618556701030927 0.019473081454634666 +EMCN True 1.0 Endothelial Cells 1.4728664192949907 0.6341604590415955 +EMCN True 2.0 Pericytes 0.32274020032150363 0.21491281688213348 +EMCN True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.09057676685621446 0.07514216005802155 +EMCN True 4.0 Myeloid Cells 0.06888068880688807 0.05781057849526405 +EMCN True 5.0 Plasma Cells 0.06758304696449026 0.05841924250125885 +FLT1 True 1.0 Endothelial Cells 1.5473098330241188 0.6168830990791321 +FLT1 True 2.0 Pericytes 0.3560034623469766 0.23519228398799896 +FLT1 True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.24654752233956134 0.20633630454540253 +FLT1 True 4.0 Myeloid Cells 0.21648216482164823 0.16851168870925903 +FLT1 True 5.0 Apocrine Cells 0.15632754342431762 0.14640198647975922 +HES1 True 1.0 11q13 Invasive Tumor Cells (Mitotic) 0.4435418359057677 0.307879775762558 +HES1 True 2.0 Luminal-like Amorphous DCIS Cells 0.40067546822229044 0.2689591646194458 +HES1 True 3.0 11q13 Invasive Tumor Cells (G1/S) 0.33403538331929233 0.24136479198932648 +HES1 True 4.0 11q13 Invasive Tumor Cells 0.2922418639515273 0.21926729381084442 +HES1 True 5.0 Basal-like Structured DCIS Cells 0.2264840182648402 0.1742009073495865 +HEY1 True 1.0 Endothelial Cells 0.24570964749536178 0.15584415197372437 +HEY1 True 2.0 11q13 Invasive Tumor Cells (Mitotic) 0.17749796913078797 0.1486596316099167 +HEY1 True 3.0 Basal-like Structured DCIS Cells 0.1430365296803653 0.10844749212265015 +HEY1 True 4.0 Myoepithelial Cells 0.1268073003081299 0.10630480945110321 +HEY1 True 5.0 Myeloid Cells 0.10947109471094711 0.08733087033033371 +HSPG2 True 1.0 Endothelial Cells 5.104359925788497 0.8711734414100647 +HSPG2 True 2.0 CAFs, Invasive Associated 2.2671832041989504 0.6923269033432007 +HSPG2 True 3.0 Pericytes 1.1843699765055027 0.48237913846969604 +HSPG2 True 4.0 CAFs, DCIS Associated 0.8459618689141641 0.4324932396411896 +HSPG2 True 5.0 Myoepithelial Cells 0.5875799952595402 0.3209291398525238 +IL7R True 1.0 T Lymphocytes 0.20990271888251436 0.15851832926273346 +IL7R True 2.0 Myeloid Cells 0.05289052890528905 0.046740468591451645 +IL7R True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.05280259951259139 0.05158407613635063 +IL7R True 4.0 Apocrine Cells 0.04714640198511166 0.04466501250863075 +IL7R True 5.0 Dendritic Cells 0.046656686626746505 0.037425149232149124 +JAG1 True 1.0 11q13 Invasive Tumor Cells (Mitotic) 1.9065800162469537 0.7083671689033508 +JAG1 True 2.0 11q13 Invasive Tumor Cells 1.4774345680554688 0.6293959617614746 +JAG1 True 3.0 11q13 Invasive Tumor Cells (G1/S) 1.3336141533277168 0.5867733955383301 +JAG1 True 4.0 Luminal-like Amorphous DCIS Cells 1.0723825606386246 0.5086736083030701 +JAG1 True 5.0 Basal-like Structured DCIS Cells 0.6257990867579909 0.3481735289096832 +KDR True 1.0 Endothelial Cells 2.37569573283859 0.6372912526130676 +KDR True 2.0 Pericytes 0.6527760603437616 0.3185359239578247 +KDR True 3.0 CAFs, Invasive Associated 0.10547363159210198 0.06723318994045258 +KDR True 4.0 Myeloid Cells 0.09471094710947109 0.084870845079422 +KDR True 5.0 Basal-like Structured DCIS Cells 0.08367579908675798 0.06061643734574318 +LCK True 1.0 T Lymphocytes 0.6152407084060864 0.3986031413078308 +LCK True 2.0 B Cells 0.11544585987261147 0.0927547737956047 +LCK True 3.0 Plasma Cells 0.08476517754868271 0.06643757224082947 +LCK True 4.0 Myeloid Cells 0.06150061500615006 0.05166051536798477 +LCK True 5.0 Dendritic Cells 0.058632734530938126 0.04466067999601364 +LRP1 True 1.0 CAFs, Invasive Associated 2.662834291427143 0.7233191728591919 +LRP1 True 2.0 CAFs, DCIS Associated 2.585713116766222 0.7374191880226135 +LRP1 True 3.0 Dendritic Cells 1.0197105788423153 0.44386228919029236 +LRP1 True 4.0 Macrophages 0.9233359233359233 0.440559446811676 +LRP1 True 5.0 Myoepithelial Cells 0.4869637354823418 0.302085816860199 +MMP2 True 1.0 CAFs, DCIS Associated 1.4687423287783323 0.5307257771492004 +MMP2 True 2.0 CAFs, Invasive Associated 1.3129217695576105 0.4966258406639099 +MMP2 True 3.0 Endothelial Cells 0.2912801484230056 0.1832096427679062 +MMP2 True 4.0 Dendritic Cells 0.2657185628742515 0.15668663382530212 +MMP2 True 5.0 Myoepithelial Cells 0.2623844512917753 0.1821521669626236 +MMRN2 True 1.0 Endothelial Cells 1.2184601113172542 0.5637755393981934 +MMRN2 True 2.0 Pericytes 0.2594287127488562 0.17744527757167816 +MMRN2 True 3.0 Basal-like Structured DCIS Cells 0.06746575342465753 0.05319634824991226 +MMRN2 True 4.0 Myoepithelial Cells 0.06245555818914435 0.05131547898054123 +MMRN2 True 5.0 Mast Cells 0.04607046070460705 0.0379403792321682 +MYC True 1.0 Basal-like Structured DCIS Cells 1.5598173515981735 0.5699771642684937 +MYC True 2.0 Endothelial Cells 1.1174628942486085 0.4582560360431671 +MYC True 3.0 11q13 Invasive Tumor Cells (G1/S) 0.9334456613310868 0.45408591628074646 +MYC True 4.0 11q13 Invasive Tumor Cells 0.8824879755137734 0.44670185446739197 +MYC True 5.0 11q13 Invasive Tumor Cells (Mitotic) 0.8273761169780666 0.43013811111450195 +NOTCH1 True 1.0 Endothelial Cells 0.5613404452690167 0.35366418957710266 +NOTCH1 True 2.0 Basal-like Structured DCIS Cells 0.4221461187214612 0.263812780380249 +NOTCH1 True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.30381803411860275 0.22542648017406464 +NOTCH1 True 4.0 Pericytes 0.22517620873006058 0.15951527655124664 +NOTCH1 True 5.0 Myoepithelial Cells 0.2188907324010429 0.15868689119815826 +NOTCH2 True 1.0 Apocrine Cells 2.1861042183622827 0.7171216011047363 +NOTCH2 True 2.0 11q13 Invasive Tumor Cells 1.3958398400899494 0.607002317905426 +NOTCH2 True 3.0 11q13 Invasive Tumor Cells (Mitotic) 1.334281072298944 0.6255077123641968 +NOTCH2 True 4.0 Luminal-like Amorphous DCIS Cells 1.1538992938286767 0.5558028817176819 +NOTCH2 True 5.0 11q13 Invasive Tumor Cells (G1/S) 1.0602358887952823 0.5395956039428711 +NOTCH3 True 1.0 Pericytes 2.3809818226783728 0.5623840689659119 +NOTCH3 True 2.0 CAFs, Invasive Associated 1.1647088227943014 0.4973756670951843 +NOTCH3 True 3.0 Luminal-like Amorphous DCIS Cells 0.9322229045133559 0.4947804808616638 +NOTCH3 True 4.0 Endothelial Cells 0.7337662337662337 0.27516233921051025 +NOTCH3 True 5.0 Basal-like Structured DCIS Cells 0.6931506849315069 0.3960045576095581 +NOTCH4 True 1.0 Endothelial Cells 0.4457328385899815 0.28038033843040466 +NOTCH4 True 2.0 Myoepithelial Cells 0.10997866793078928 0.09042426943778992 +NOTCH4 True 3.0 Pericytes 0.08445653517991838 0.0650426596403122 +NOTCH4 True 4.0 Basal-like Structured DCIS Cells 0.07682648401826483 0.06255707889795303 +NOTCH4 True 5.0 11q13 Invasive Tumor Cells (Mitotic) 0.07636068237205523 0.06986190378665924 +PDGFRB True 1.0 CAFs, Invasive Associated 0.6135966008497875 0.3709072768688202 +PDGFRB True 2.0 Pericytes 0.42549771237789047 0.2529986500740051 +PDGFRB True 3.0 CAFs, DCIS Associated 0.32493249324932494 0.2368464171886444 +PDGFRB True 4.0 Endothelial Cells 0.15213358070500926 0.10227272659540176 +PDGFRB True 5.0 Dendritic Cells 0.05189620758483034 0.0416666679084301 +PECAM1 True 1.0 Endothelial Cells 4.5438311688311686 0.8918135166168213 +PECAM1 True 2.0 Plasma Cells 1.7445589919816724 0.6300114393234253 +PECAM1 True 3.0 Pericytes 1.0775318412266601 0.4703845679759979 +PECAM1 True 4.0 Dendritic Cells 0.7437624750499002 0.4149201512336731 +PECAM1 True 5.0 Macrophages 0.4421134421134421 0.28671327233314514 +PLAT True 1.0 11q13 Invasive Tumor Cells 8.869838840652132 0.956024706363678 +PLAT True 2.0 11q13 Invasive Tumor Cells (Mitotic) 7.280259951259139 0.9549146890640259 +PLAT True 3.0 11q13 Invasive Tumor Cells (G1/S) 6.233361415332772 0.9182813763618469 +PLAT True 4.0 Apocrine Cells 3.3101736972704714 0.8114144206047058 +PLAT True 5.0 Luminal-like Amorphous DCIS Cells 2.8183143997543754 0.6322535872459412 +RGS5 True 1.0 Pericytes 0.6418943984172129 0.3001112937927246 +RGS5 True 2.0 Endothelial Cells 0.5906771799628943 0.3025278151035309 +RGS5 True 3.0 CAFs, Invasive Associated 0.10747313171707074 0.06723318994045258 +RGS5 True 4.0 Myeloid Cells 0.07995079950799508 0.06519065052270889 +RGS5 True 5.0 Mast Cells 0.07859078590785908 0.0731707289814949 +SELP True 1.0 Endothelial Cells 0.7355055658627088 0.259508341550827 +SELP True 2.0 Pericytes 0.10980586125881044 0.07270928472280502 +SELP True 3.0 T Lymphocytes 0.06023946121227239 0.050511348992586136 +SELP True 4.0 Myeloid Cells 0.05166051660516605 0.04428044334053993 +SELP True 5.0 Plasma Cells 0.043528064146620846 0.03665521368384361 +SERPINE1 True 1.0 CAFs, Invasive Associated 0.3504123969007748 0.20569857954978943 +SERPINE1 True 2.0 Myoepithelial Cells 0.05724105238208106 0.03507940098643303 +SERPINE1 True 3.0 Endothelial Cells 0.05322356215213358 0.04012059420347214 +SERPINE1 True 4.0 CAFs, DCIS Associated 0.04107683495622289 0.03358972445130348 +SERPINE1 True 5.0 Dendritic Cells 0.036926147704590816 0.03168662637472153 +THBD True 1.0 Endothelial Cells 0.8287337662337663 0.40491652488708496 +THBD True 2.0 Pericytes 0.2860145913194015 0.18770866096019745 +THBD True 3.0 Dendritic Cells 0.1217564870259481 0.09356287121772766 +THBD True 4.0 CAFs, Invasive Associated 0.10847288177955511 0.0794801265001297 +THBD True 5.0 Myeloid Cells 0.08487084870848709 0.07503075152635574 +THBS2 True 1.0 CAFs, Invasive Associated 1.8375406148462885 0.5576105713844299 +THBS2 True 2.0 CAFs, DCIS Associated 1.6160297847966616 0.5173472166061401 +THBS2 True 3.0 Dendritic Cells 0.1317365269461078 0.071856290102005 +THBS2 True 4.0 CXCL14+ Fibroblasts 0.11588330632090761 0.07698541134595871 +THBS2 True 5.0 Pericytes 0.1151230369729195 0.07122542709112167 +TRAC True 1.0 T Lymphocytes 2.8600648540783236 0.7904714345932007 +TRAC True 2.0 B Cells 0.6871019108280255 0.3626592457294464 +TRAC True 3.0 Plasma Cells 0.33791523482245134 0.1477663218975067 +TRAC True 4.0 Dendritic Cells 0.24176646706586827 0.1230039894580841 +TRAC True 5.0 CAFs, Invasive Associated 0.15571107223194203 0.10172457247972488 +VWF True 1.0 Endothelial Cells 6.707908163265306 0.8781307935714722 +VWF True 2.0 Pericytes 1.29108445653518 0.4304439127445221 +VWF True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.11169780666125101 0.09423232823610306 +VWF True 4.0 Dendritic Cells 0.11052894211576847 0.05913173779845238 +VWF True 5.0 Mast Cells 0.10840108401084012 0.08130080997943878 diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/functional_received_signal_support.tsv b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/functional_received_signal_support.tsv new file mode 100644 index 0000000..0345974 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/functional_received_signal_support.tsv @@ -0,0 +1,8 @@ +axis_id functional_signal_status received_signal_n_cells received_signal_target_spearman received_signal_target_p received_signal_top_vs_bottom_target_delta received_signal_target_fdr +VWF-SELP|Endothelial Cells->Endothelial Cells success 8624 0.6283646829850982 0.0 0.48874330520629883 0.0 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated success 24442 0.6575063035069829 0.0 0.5568488836288452 0.0 +MMRN2-CD93|Endothelial Cells->Endothelial Cells success 8624 0.4506380910061747 0.0 0.37315094470977783 0.0 +DLL4-NOTCH3|Endothelial Cells->Pericytes success 8087 0.721750076253441 0.0 0.3684804439544678 0.0 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes success 8018 0.4955612441859473 0.0 0.19490374624729156 0.0 +CD48-CD2|T Lymphocytes->T Lymphocytes success 8018 0.4228849179250702 0.0 0.2631298005580902 0.0 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells success 64036 0.5874875426315861 0.0 0.44811439514160156 0.0 diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/spatial_edge_summary.tsv b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/spatial_edge_summary.tsv new file mode 100644 index 0000000..0581a61 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/spatial_edge_summary.tsv @@ -0,0 +1,8 @@ +axis_id edge_count mean_distance median_distance p90_distance +VWF-SELP|Endothelial Cells->Endothelial Cells 86240 76.04301478064798 68.93717988356124 138.33223775288278 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated 86240 80.87535740094346 57.15353528817341 178.660086189941 +MMRN2-CD93|Endothelial Cells->Endothelial Cells 86240 76.04301478064798 68.93717988356124 138.33223775288278 +DLL4-NOTCH3|Endothelial Cells->Pericytes 86240 84.10916634767867 78.14056887409708 151.5374911181689 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes 244420 164.7070669332812 146.09120882284316 307.8334754314995 +CD48-CD2|T Lymphocytes->T Lymphocytes 80180 61.10885372104813 33.60942094304036 154.61747704003622 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells 640360 18.888647018391932 17.47750226471102 28.465688513696342 diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/spatial_neighborhood_controls.tsv b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/spatial_neighborhood_controls.tsv new file mode 100644 index 0000000..a21b768 --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/spatial_neighborhood_controls.tsv @@ -0,0 +1,8 @@ +axis_id spatial_neighborhood_status spatial_edge_count spatial_edge_mean_distance spatial_lr_edge_score spatial_lr_active_edge_fraction spatial_perm_mean spatial_perm_sd spatial_perm_z spatial_perm_p spatial_matched_gene_mean spatial_matched_gene_sd spatial_matched_gene_z spatial_matched_gene_p spatial_null_fdr spatial_matched_gene_fdr +VWF-SELP|Endothelial Cells->Endothelial Cells success 86240 76.04301478064798 7.3085808753967285 0.25011595547309834 5.2657176113128665 0.04370881998253159 46.73800996916185 0.0033222591362126247 0.018927508491591045 0.027477133079608154 265.29890675949275 0.008264462809917356 0.004651162790697674 0.009641873278236915 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated success 86240 80.87535740094346 17.646312713623047 0.6248144712430427 16.915456352233885 0.07295353245322052 10.01810792174873 0.0033222591362126247 0.09186524196557003 0.5419791132694604 32.389527643899775 0.008264462809917356 0.004651162790697674 0.009641873278236915 +MMRN2-CD93|Endothelial Cells->Endothelial Cells success 86240 76.04301478064798 1.2517509460449219 0.29074675324675325 1.2041044370333354 0.00651539452823075 7.312912334799914 0.0033222591362126247 0.019798527385379808 0.041071614915599616 29.99522714631871 0.008264462809917356 0.004651162790697674 0.009641873278236915 +DLL4-NOTCH3|Endothelial Cells->Pericytes success 86240 84.10916634767867 1.1946196556091309 0.14225417439703153 1.1400103183587391 0.011914708983071235 4.58335468604246 0.0033222591362126247 0.010454062237477047 0.01560259723839002 75.89541505679755 0.008264462809917356 0.004651162790697674 0.009641873278236915 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes success 244420 164.7070669332812 3.6240406036376953 0.3872269045086327 3.6269676375389097 0.011749306634564156 -0.24912396895010336 0.5813953488372093 0.017585406292346305 0.025217267011605142 143.01530755436883 0.008264462809917356 0.5813953488372093 0.009641873278236915 +CD48-CD2|T Lymphocytes->T Lymphocytes success 80180 61.10885372104813 0.2860439121723175 0.1294462459466201 0.27965914239486056 0.0026717226614147317 2.3897576906714106 0.009966777408637873 0.004725929109872596 0.017223321423744452 16.333550082541787 0.008264462809917356 0.011627906976744186 0.009641873278236915 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells success 640360 18.888647018391932 2.253023386001587 0.39369885689299766 2.055801842212677 0.0037028198352934225 53.26252763072426 0.0033222591362126247 1.8470757191379865 0.5534657573718224 0.7334648285944125 0.2066115702479339 0.004651162790697674 0.2066115702479339 diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/topolink_cci_validation_v2_evidence.tsv b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/topolink_cci_validation_v2_evidence.tsv new file mode 100644 index 0000000..86c251f --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/topolink_cci_validation_v2_evidence.tsv @@ -0,0 +1,15 @@ +axis_id biology_label ligand receptor sender receiver CCI_score pyxenium_rank sender_anchor receiver_anchor structure_bridge sender_expr receiver_expr local_contact_x prior_confidence cross_edge_count sender_expr_label receiver_expr_label ligand_sender_mean ligand_sender_detection_fraction ligand_sender_celltype_rank ligand_sender_specificity_ratio receptor_receiver_mean receptor_receiver_detection_fraction receptor_receiver_celltype_rank receptor_receiver_specificity_ratio observed_cross_edge_count expected_cross_edge_count_abundance_null cross_edge_enrichment_fold cross_edge_enrichment_z cross_edge_enrichment_p_approx local_contact_y contact_coverage within_sender_receiver_rank within_sender_receiver_n within_sender_receiver_percentile within_lr_pair_rank within_lr_pair_n within_lr_pair_percentile matched_gene_status n_controls observed_expression_specificity_score control_mean control_sd matched_gene_z matched_gene_percentile max_rank_after_ablation min_rank_after_ablation cross_method_exact_count cross_method_same_lr_count cross_method_same_sender_receiver_count supporting_methods_exact supporting_methods_same_lr target_panel_present_n receiver_context_panel_score receiver_context_panel_genes cell_label_perm_status cell_label_comm_prob cell_label_perm_mean cell_label_perm_sd cell_label_perm_z cell_label_perm_p cell_label_perm_n cell_label_perm_fdr spatial_neighborhood_status spatial_edge_count spatial_edge_mean_distance spatial_lr_edge_score spatial_lr_active_edge_fraction spatial_perm_mean spatial_perm_sd spatial_perm_z spatial_perm_p spatial_matched_gene_mean spatial_matched_gene_sd spatial_matched_gene_z spatial_matched_gene_p spatial_null_fdr spatial_matched_gene_fdr downstream_status downstream_target_genes_present downstream_target_score downstream_target_null_mean downstream_target_null_sd downstream_target_z downstream_target_p downstream_target_gene_panel downstream_target_fdr functional_signal_status received_signal_n_cells received_signal_target_spearman received_signal_target_p received_signal_top_vs_bottom_target_delta received_signal_target_fdr contamination_marker_mean contamination_marker_detection contamination_marker_n endothelial_marker_mean endothelial_marker_detection endothelial_marker_n contamination_to_endothelial_ratio contamination_flag bootstrap_rank_median bootstrap_rank_iqr bootstrap_score_mean bootstrap_score_sd bootstrap_n expression_specificity_support cell_label_permutation_support spatial_null_support matched_gene_control_support downstream_target_support functional_received_signal_support cross_method_support component_ablation_support bootstrap_stability_support support_count evidence_class interpretation_note axis_label +VWF-SELP|Endothelial Cells->Endothelial Cells WPB / endothelial activation VWF SELP Endothelial Cells Endothelial Cells 0.7854081595451057 1 0.939155377105368 0.8581763436107446 1.0 1.0 1.0 0.2912449657481761 1.0 12779 Endothelial Cells Endothelial Cells 6.707908163265306 0.8781307935714722 1 1.0 0.7355055658627088 0.259508341550827 1 1.0 12779 3498.750466020217 3.652446816116025 157.09499064265975 0.0 0.2912449657481761 0.1111198059316065 1 3299 1.0 1 400 1.0 success 250 0.690919789894645 0.1174789121765555 0.08590980609453787 6.674917611699146 1.0 16 1 7 7 7 cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn 6 0.6656207262750022 VWF,SELP,ANGPT2,THBD,PLAT,SERPINE1 success 4.933703899383545 0.02757341218739748 0.002595310303671029 1890.383003626386 0.001996007984031936 500 0.001996007984031936 success 86240 76.04301478064798 7.3085808753967285 0.25011595547309834 5.2657176113128665 0.04370881998253159 46.73800996916185 0.0033222591362126247 0.018927508491591045 0.027477133079608154 265.29890675949275 0.008264462809917356 0.004651162790697674 0.009641873278236915 success 6 6.738417175908883 1.0064762527795716 1.4133941349379884 4.055444112466758 0.019417475728155338 VWF,SELP,ANGPT2,THBD,PLAT,SERPINE1 0.027184466019417475 success 8624 0.6283646829850982 0.0 0.48874330520629883 0.0 0.05890538077801466 0.024628942486085346 5 2.5959966480731964 0.684963474025974 8 0.022690853943026265 False 1.0 0.0 2.5247310175523965 0.011933106345753796 5 True True True True True True True False True 8 strong strong: 8/9 computational evidence layers support the axis; contamination_flag=False. "VWF-SELP +Endothelial Cells -> Endothelial Cells" +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated vascular-stromal matrix/scavenger axis VWF LRP1 Endothelial Cells CAFs, DCIS Associated 0.7148067513709494 5 0.939155377105368 0.6455155104503945 0.6355774498689515 1.0 1.0 0.3461937505325735 1.0 13942 Endothelial Cells CAFs, DCIS Associated 6.707908163265306 0.8781307935714722 1 1.0 2.585713116766222 0.7374191880226135 2 0.971037936942149 13942 9916.101448337911 1.4059961036740796 40.577088952341676 0.0 0.3461937505325735 0.1319036006311863 1 3299 1.0 1 400 1.0 success 250 0.8904867455342288 0.1132557384471686 0.06918144236447345 11.234674798948532 1.0 614 2 7 7 7 cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn 7 0.5161052675482147 VWF,LRP1,HSPG2,COL4A1,COL4A2,MMP2,THBS2 success 17.3447265625 0.2998358674645424 0.016262341095952152 1048.1203533037499 0.001996007984031936 500 0.001996007984031936 success 86240 80.87535740094346 17.646312713623047 0.6248144712430427 16.915456352233885 0.07295353245322052 10.01810792174873 0.0033222591362126247 0.09186524196557003 0.5419791132694604 32.389527643899775 0.008264462809917356 0.004651162790697674 0.009641873278236915 success 7 2.588202246597835 0.41110825241499005 0.5784531172302644 3.763648132120292 0.02497027348394768 VWF,LRP1,HSPG2,COL4A1,COL4A2,MMP2,THBS2 0.029131985731272295 success 24442 0.6575063035069829 0.0 0.5568488836288452 0.0 0.026129559427499772 0.01609508256214843 5 0.717039417475462 0.20992484727514668 8 0.036440896819168185 False 3.0 0.0 2.4760898894274397 0.003754003645322219 5 True True True True True True True False True 8 strong strong: 8/9 computational evidence layers support the axis; contamination_flag=False. "VWF-LRP1 +Endothelial Cells -> CAFs, DCIS Associated" +MMRN2-CD93|Endothelial Cells->Endothelial Cells CD93-MMRN2 angiogenesis MMRN2 CD93 Endothelial Cells Endothelial Cells 0.7055697517643245 6 0.9751523688982604 0.8521965156573951 1.0 1.0 1.0 0.1484661470807383 1.0 12779 Endothelial Cells Endothelial Cells 1.2184601113172542 0.5637755393981934 1 1.0 0.9689239332096475 0.5012755393981934 1 1.0 12779 3498.750466020217 3.652446816116025 157.09499064265975 0.0 0.1484661470807383 0.0288754988653259 4 3299 0.9990906335253107 1 400 1.0 success 250 0.7291144166273554 0.13022764647610297 0.09662146729412627 6.198278570208171 1.0 13 6 7 7 7 cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn 7 1.0 MMRN2,CD93,CLEC14A,KDR,FLT1,PECAM1,EMCN success 1.1805951595306396 0.008823287986218929 0.0006422116967277436 1824.588180992251 0.001996007984031936 500 0.001996007984031936 success 86240 76.04301478064798 1.2517509460449219 0.29074675324675325 1.2041044370333354 0.00651539452823075 7.312912334799914 0.0033222591362126247 0.019798527385379808 0.041071614915599616 29.99522714631871 0.008264462809917356 0.004651162790697674 0.009641873278236915 success 7 11.116392135620117 1.047396860657526 1.5327809936425985 6.56910238104792 0.0023781212841854932 MMRN2,CD93,CLEC14A,KDR,FLT1,PECAM1,EMCN 0.008323424494649227 success 8624 0.4506380910061747 0.0 0.37315094470977783 0.0 0.05890538077801466 0.024628942486085346 5 2.5959966480731964 0.684963474025974 8 0.022690853943026265 False 2.0 0.0 2.48319603632674 0.009087646555426442 5 True True True True True True True False True 8 strong strong: 8/9 computational evidence layers support the axis; contamination_flag=False. "MMRN2-CD93 +Endothelial Cells -> Endothelial Cells" +CD48-CD2|T Lymphocytes->T Lymphocytes T-cell adhesion/co-stimulation CD48 CD2 T Lymphocytes T Lymphocytes 0.6870622750035398 13 0.9214912429371794 0.9193953048895664 1.0 1.0 1.0 0.1241603897223811 1.0 21212 T Lymphocytes T Lymphocytes 0.5604888999750561 0.37989524006843567 1 1.0 0.49837864804190574 0.3382389545440674 1 1.0 21212 3024.318857794739 7.0138107115687145 331.09056328473696 0.0 0.1241603897223811 0.0154158023760135 1 3299 1.0 1 400 1.0 success 250 0.5987173848132842 0.10702942070910819 0.04986335278579571 9.860708047779738 1.0 20 7 7 7 7 cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn 7 1.0 CD48,CD2,CD3D,CD3E,TRAC,IL7R,LCK success 0.2793356776237488 0.0026596546296495946 0.00022015248609680323 1256.7472114416275 0.001996007984031936 500 0.001996007984031936 success 80180 61.10885372104813 0.2860439121723175 0.1294462459466201 0.27965914239486056 0.0026717226614147317 2.3897576906714106 0.009966777408637873 0.004725929109872596 0.017223321423744452 16.333550082541787 0.008264462809917356 0.011627906976744186 0.009641873278236915 success 7 11.544674396514893 1.0685981322434686 1.2195936012363278 8.589809141054532 0.0023781212841854932 CD48,CD2,CD3D,CD3E,TRAC,IL7R,LCK 0.008323424494649227 success 8018 0.4228849179250702 0.0 0.2631298005580902 0.0 0.020254427567124367 0.018882514342728862 5 0.07943065511062741 0.06225056123721627 8 0.2549950965268374 False 5.0 0.0 1.925246611638054 0.015713655566381553 5 True True True True True True True False True 8 strong strong: 8/9 computational evidence layers support the axis; contamination_flag=False. "CD48-CD2 +T Lymphocytes -> T Lymphocytes" +DLL4-NOTCH3|Endothelial Cells->Pericytes endothelial-pericyte Notch DLL4 NOTCH3 Endothelial Cells Pericytes 0.6628108852003319 20 0.8999695474149415 0.8544260293908458 0.9385210026241833 1.0 0.8672894033034337 0.135465098207694 1.0 11379 Endothelial Cells Pericytes 0.476461038961039 0.2467532455921173 1 1.0 2.3809818226783728 0.5623840689659119 1 1.0 11379 3280.889960425034 3.4682662744732435 141.55074144031974 0.0 0.135465098207694 0.0303190087002372 1 3299 1.0 1 400 1.0 success 250 0.6103430039507179 0.10700066735274656 0.060629471265751134 8.301941713984622 1.0 76 20 7 7 7 cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn 8 0.48688694950414185 DLL4,NOTCH3,NOTCH4,JAG1,HEY1,HES1,PDGFRB,RGS5 success 1.1344451904296875 0.022496088080108164 0.0018236492093399003 609.7384829575133 0.001996007984031936 500 0.001996007984031936 success 86240 84.10916634767867 1.1946196556091309 0.14225417439703153 1.1400103183587391 0.011914708983071235 4.58335468604246 0.0033222591362126247 0.010454062237477047 0.01560259723839002 75.89541505679755 0.008264462809917356 0.004651162790697674 0.009641873278236915 success 8 2.61274266988039 0.5068325942343411 0.5551530740828993 3.7933863180438414 0.014568158168574402 DLL4,NOTCH3,NOTCH4,JAG1,HEY1,HES1,PDGFRB,RGS5 0.025494276795005204 success 8087 0.721750076253441 0.0 0.3684804439544678 0.0 0.04168511740863323 0.01809586499910239 5 1.6176096498966217 0.4904778289749267 8 0.02576957760563387 False 6.0 0.0 1.634842418466564 0.014082178981952163 5 True True True True True True True False True 8 strong strong: 8/9 computational evidence layers support the axis; contamination_flag=False. "DLL4-NOTCH3 +Endothelial Cells -> Pericytes" +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes CAF-immune chemokine recruitment CXCL12 CXCR4 CAFs, DCIS Associated T Lymphocytes 0.6338817490290192 29 0.8401391037337905 0.929067454422166 0.493435580121531 1.0 1.0 0.1684304172162009 1.0 11604 CAFs, DCIS Associated T Lymphocytes 3.649660420587513 0.7872514724731445 1 1.0 0.9085806934397606 0.4825392961502075 1 1.0 11604 9219.306750089676 1.258662968328625 24.92068208259856 2.220471678964988e-137 0.1684304172162009 0.0450706652878317 1 3299 1.0 1 400 1.0 success 250 0.7850757124806441 0.1029738649850631 0.06079893118587669 11.218977606863426 1.0 615 8 7 7 7 cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn 8 0.7664489835769633 CXCL12,CXCR4,CXCR3,CCL19,CCL21,CD3D,CD3E,IL7R success 3.3160109519958496 0.08272893443703651 0.004327497961377857 747.1481318801938 0.001996007984031936 500 0.001996007984031936 success 244420 164.7070669332812 3.6240406036376953 0.3872269045086327 3.6269676375389097 0.011749306634564156 -0.24912396895010336 0.5813953488372093 0.017585406292346305 0.025217267011605142 143.01530755436883 0.008264462809917356 0.5813953488372093 0.009641873278236915 success 8 6.800970241427422 1.15657870703144 1.2287697052997264 4.59353083824538 0.012486992715920915 CXCL12,CXCR4,CXCR3,CCL19,CCL21,CD3D,CD3E,IL7R 0.025494276795005204 success 8018 0.4955612441859473 0.0 0.19490374624729156 0.0 0.01597042493522167 0.014516327788046826 5 0.060339648043736815 0.047238909426987066 8 0.2646754738053097 False 4.0 0.0 1.9739528093875909 0.0031410030934122366 5 True True False True True True True False True 7 strong strong: 7/9 computational evidence layers support the axis; contamination_flag=False. "CXCL12-CXCR4 +CAFs, DCIS Associated -> T Lymphocytes" +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells tumor-intrinsic Notch signaling JAG1 NOTCH2 11q13 Invasive Tumor Cells 11q13 Invasive Tumor Cells 0.6167922205938116 41 0.7293068717997298 0.6128235489150379 1.0 1.0 1.0 0.1231934200799743 1.0 423716 11q13 Invasive Tumor Cells 11q13 Invasive Tumor Cells 1.4774345680554688 0.6293959617614746 2 0.7749134866963281 1.3958398400899494 0.607002317905426 2 0.6385056249219633 423716 192905.1692550145 2.1964989410929725 567.2684147856648 0.0 0.1231934200799743 0.0168391092146626 8 3299 0.9978781448923917 1 400 1.0 success 250 0.6593758884575077 0.6351644259334726 0.07744275561402209 0.3126368933035661 0.576 329 30 7 7 7 cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn cellchat_conda_full,cellphonedb,laris,liana,spatialdm,squidpy,stlearn 7 0.5860530033828537 JAG1,NOTCH2,NOTCH1,HES1,HEY1,MYC,CCND1 success 2.0622618198394775 0.7131924320459366 0.005215585602508038 258.6611534368852 0.001996007984031936 500 0.001996007984031936 success 640360 18.888647018391932 2.253023386001587 0.39369885689299766 2.055801842212677 0.0037028198352934225 53.26252763072426 0.0033222591362126247 1.8470757191379865 0.5534657573718224 0.7334648285944125 0.2066115702479339 0.004651162790697674 0.2066115702479339 success 7 1.5110729336738586 1.5341725096816108 0.3373003415056495 -0.06848370180901593 0.6076099881093936 JAG1,NOTCH2,NOTCH1,HES1,HEY1,MYC,CCND1 0.6076099881093936 success 64036 0.5874875426315861 0.0 0.44811439514160156 0.0 0.013545505329966545 0.012730339184208883 5 0.05200395057909191 0.04524603348116684 8 0.26047069845906073 False 7.0 0.0 1.0246926473461682 0.0017333252101482156 5 True True True False False True True False True 6 strong strong: 6/9 computational evidence layers support the axis; contamination_flag=False. "JAG1-NOTCH2 +11q13 Invasive Tumor Cells -> 11q13 Invasive Tumor Cells" diff --git a/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/topolink_cci_validation_v2_false_positive_controls.tsv b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/topolink_cci_validation_v2_false_positive_controls.tsv new file mode 100644 index 0000000..5db84db --- /dev/null +++ b/benchmarking/cci_2026_atera/a100_validation_v2_collected/outputs/tables/topolink_cci_validation_v2_false_positive_controls.tsv @@ -0,0 +1,78 @@ +axis_id control_type observed expected_or_control_mean z_or_rank p_or_percentile note cell_label_comm_prob cell_label_perm_mean cell_label_perm_z cell_label_perm_p cell_label_perm_fdr spatial_lr_edge_score spatial_perm_mean spatial_perm_z spatial_perm_p spatial_null_fdr spatial_matched_gene_mean spatial_matched_gene_z spatial_matched_gene_p spatial_matched_gene_fdr downstream_target_score downstream_target_null_mean downstream_target_z downstream_target_p downstream_target_fdr received_signal_target_spearman received_signal_target_p received_signal_target_fdr received_signal_top_vs_bottom_target_delta bootstrap_rank_median bootstrap_rank_iqr bootstrap_score_mean bootstrap_score_sd +VWF-SELP|Endothelial Cells->Endothelial Cells spatial_abundance_null 12779.0 3498.750466020217 157.09499064265975 0.0 cell-type-label abundance null for graph edge count +VWF-SELP|Endothelial Cells->Endothelial Cells lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +VWF-SELP|Endothelial Cells->Endothelial Cells lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated spatial_abundance_null 13942.0 9916.101448337911 40.577088952341676 0.0 cell-type-label abundance null for graph edge count +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +MMRN2-CD93|Endothelial Cells->Endothelial Cells spatial_abundance_null 12779.0 3498.750466020217 157.09499064265975 0.0 cell-type-label abundance null for graph edge count +MMRN2-CD93|Endothelial Cells->Endothelial Cells lr_label_permutation_same_sender_receiver 4.0 3299.0 4.0 0.9990906335253107 rank percentile against all LR pairs in the same sender-receiver cell-type pair +MMRN2-CD93|Endothelial Cells->Endothelial Cells lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +DLL4-NOTCH3|Endothelial Cells->Pericytes spatial_abundance_null 11379.0 3280.889960425034 141.55074144031974 0.0 cell-type-label abundance null for graph edge count +DLL4-NOTCH3|Endothelial Cells->Pericytes lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +DLL4-NOTCH3|Endothelial Cells->Pericytes lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes spatial_abundance_null 11604.0 9219.306750089676 24.92068208259856 2.220471678964988e-137 cell-type-label abundance null for graph edge count +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +CD48-CD2|T Lymphocytes->T Lymphocytes spatial_abundance_null 21212.0 3024.318857794739 331.09056328473696 0.0 cell-type-label abundance null for graph edge count +CD48-CD2|T Lymphocytes->T Lymphocytes lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +CD48-CD2|T Lymphocytes->T Lymphocytes lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells spatial_abundance_null 423716.0 192905.1692550145 567.2684147856648 0.0 cell-type-label abundance null for graph edge count +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells lr_label_permutation_same_sender_receiver 8.0 3299.0 8.0 0.9978781448923917 rank percentile against all LR pairs in the same sender-receiver cell-type pair +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +VWF-SELP|Endothelial Cells->Endothelial Cells matched_gene_expression_control 0.690919789894645 0.1174789121765555 6.674917611699146 1.0 matched by global mean expression and detection fraction +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated matched_gene_expression_control 0.8904867455342288 0.1132557384471686 11.234674798948532 1.0 matched by global mean expression and detection fraction +MMRN2-CD93|Endothelial Cells->Endothelial Cells matched_gene_expression_control 0.7291144166273554 0.13022764647610297 6.198278570208171 1.0 matched by global mean expression and detection fraction +DLL4-NOTCH3|Endothelial Cells->Pericytes matched_gene_expression_control 0.6103430039507179 0.10700066735274656 8.301941713984622 1.0 matched by global mean expression and detection fraction +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes matched_gene_expression_control 0.7850757124806441 0.1029738649850631 11.218977606863426 1.0 matched by global mean expression and detection fraction +CD48-CD2|T Lymphocytes->T Lymphocytes matched_gene_expression_control 0.5987173848132842 0.10702942070910819 9.860708047779738 1.0 matched by global mean expression and detection fraction +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells matched_gene_expression_control 0.6593758884575077 0.6351644259334726 0.3126368933035661 0.576 matched by global mean expression and detection fraction +CD48-CD2|T Lymphocytes->T Lymphocytes component_ablation_max_rank 20.0 7.0 20.0 worst and best rank after removing one score component +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes component_ablation_max_rank 615.0 8.0 615.0 worst and best rank after removing one score component +DLL4-NOTCH3|Endothelial Cells->Pericytes component_ablation_max_rank 76.0 20.0 76.0 worst and best rank after removing one score component +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells component_ablation_max_rank 329.0 30.0 329.0 worst and best rank after removing one score component +MMRN2-CD93|Endothelial Cells->Endothelial Cells component_ablation_max_rank 13.0 6.0 13.0 worst and best rank after removing one score component +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated component_ablation_max_rank 614.0 2.0 614.0 worst and best rank after removing one score component +VWF-SELP|Endothelial Cells->Endothelial Cells component_ablation_max_rank 16.0 1.0 16.0 worst and best rank after removing one score component +VWF-SELP|Endothelial Cells->Endothelial Cells cell_label_permutation 4.933703899383545 0.02757341218739748 1890.383003626386 0.001996007984031936 0.001996007984031936 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated cell_label_permutation 17.3447265625 0.2998358674645424 1048.1203533037499 0.001996007984031936 0.001996007984031936 +MMRN2-CD93|Endothelial Cells->Endothelial Cells cell_label_permutation 1.1805951595306396 0.008823287986218929 1824.588180992251 0.001996007984031936 0.001996007984031936 +DLL4-NOTCH3|Endothelial Cells->Pericytes cell_label_permutation 1.1344451904296875 0.022496088080108164 609.7384829575133 0.001996007984031936 0.001996007984031936 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes cell_label_permutation 3.3160109519958496 0.08272893443703651 747.1481318801938 0.001996007984031936 0.001996007984031936 +CD48-CD2|T Lymphocytes->T Lymphocytes cell_label_permutation 0.2793356776237488 0.0026596546296495946 1256.7472114416275 0.001996007984031936 0.001996007984031936 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells cell_label_permutation 2.0622618198394775 0.7131924320459366 258.6611534368852 0.001996007984031936 0.001996007984031936 +VWF-SELP|Endothelial Cells->Endothelial Cells spatial_neighborhood_permutation 7.3085808753967285 5.2657176113128665 46.73800996916185 0.0033222591362126247 0.004651162790697674 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated spatial_neighborhood_permutation 17.646312713623047 16.915456352233885 10.01810792174873 0.0033222591362126247 0.004651162790697674 +MMRN2-CD93|Endothelial Cells->Endothelial Cells spatial_neighborhood_permutation 1.2517509460449219 1.2041044370333354 7.312912334799914 0.0033222591362126247 0.004651162790697674 +DLL4-NOTCH3|Endothelial Cells->Pericytes spatial_neighborhood_permutation 1.1946196556091309 1.1400103183587391 4.58335468604246 0.0033222591362126247 0.004651162790697674 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes spatial_neighborhood_permutation 3.6240406036376953 3.6269676375389097 -0.24912396895010336 0.5813953488372093 0.5813953488372093 +CD48-CD2|T Lymphocytes->T Lymphocytes spatial_neighborhood_permutation 0.2860439121723175 0.27965914239486056 2.3897576906714106 0.009966777408637873 0.011627906976744186 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells spatial_neighborhood_permutation 2.253023386001587 2.055801842212677 53.26252763072426 0.0033222591362126247 0.004651162790697674 +VWF-SELP|Endothelial Cells->Endothelial Cells spatial_matched_gene_pairs 7.3085808753967285 0.018927508491591045 265.29890675949275 0.008264462809917356 0.009641873278236915 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated spatial_matched_gene_pairs 17.646312713623047 0.09186524196557003 32.389527643899775 0.008264462809917356 0.009641873278236915 +MMRN2-CD93|Endothelial Cells->Endothelial Cells spatial_matched_gene_pairs 1.2517509460449219 0.019798527385379808 29.99522714631871 0.008264462809917356 0.009641873278236915 +DLL4-NOTCH3|Endothelial Cells->Pericytes spatial_matched_gene_pairs 1.1946196556091309 0.010454062237477047 75.89541505679755 0.008264462809917356 0.009641873278236915 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes spatial_matched_gene_pairs 3.6240406036376953 0.017585406292346305 143.01530755436883 0.008264462809917356 0.009641873278236915 +CD48-CD2|T Lymphocytes->T Lymphocytes spatial_matched_gene_pairs 0.2860439121723175 0.004725929109872596 16.333550082541787 0.008264462809917356 0.009641873278236915 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells spatial_matched_gene_pairs 2.253023386001587 1.8470757191379865 0.7334648285944125 0.2066115702479339 0.2066115702479339 +VWF-SELP|Endothelial Cells->Endothelial Cells downstream_target_enrichment 6.738417175908883 1.0064762527795716 4.055444112466758 0.019417475728155338 0.027184466019417475 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated downstream_target_enrichment 2.588202246597835 0.41110825241499005 3.763648132120292 0.02497027348394768 0.029131985731272295 +MMRN2-CD93|Endothelial Cells->Endothelial Cells downstream_target_enrichment 11.116392135620117 1.047396860657526 6.56910238104792 0.0023781212841854932 0.008323424494649227 +DLL4-NOTCH3|Endothelial Cells->Pericytes downstream_target_enrichment 2.61274266988039 0.5068325942343411 3.7933863180438414 0.014568158168574402 0.025494276795005204 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes downstream_target_enrichment 6.800970241427422 1.15657870703144 4.59353083824538 0.012486992715920915 0.025494276795005204 +CD48-CD2|T Lymphocytes->T Lymphocytes downstream_target_enrichment 11.544674396514893 1.0685981322434686 8.589809141054532 0.0023781212841854932 0.008323424494649227 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells downstream_target_enrichment 1.5110729336738586 1.5341725096816108 -0.06848370180901593 0.6076099881093936 0.6076099881093936 +VWF-SELP|Endothelial Cells->Endothelial Cells received_signal_target_correlation 0.6283646829850982 0.0 0.0 0.48874330520629883 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated received_signal_target_correlation 0.6575063035069829 0.0 0.0 0.5568488836288452 +MMRN2-CD93|Endothelial Cells->Endothelial Cells received_signal_target_correlation 0.4506380910061747 0.0 0.0 0.37315094470977783 +DLL4-NOTCH3|Endothelial Cells->Pericytes received_signal_target_correlation 0.721750076253441 0.0 0.0 0.3684804439544678 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes received_signal_target_correlation 0.4955612441859473 0.0 0.0 0.19490374624729156 +CD48-CD2|T Lymphocytes->T Lymphocytes received_signal_target_correlation 0.4228849179250702 0.0 0.0 0.2631298005580902 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells received_signal_target_correlation 0.5874875426315861 0.0 0.0 0.44811439514160156 +CD48-CD2|T Lymphocytes->T Lymphocytes bootstrap_stability 5.0 0.0 1.925246611638054 0.015713655566381553 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes bootstrap_stability 4.0 0.0 1.9739528093875909 0.0031410030934122366 +DLL4-NOTCH3|Endothelial Cells->Pericytes bootstrap_stability 6.0 0.0 1.634842418466564 0.014082178981952163 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells bootstrap_stability 7.0 0.0 1.0246926473461682 0.0017333252101482156 +MMRN2-CD93|Endothelial Cells->Endothelial Cells bootstrap_stability 2.0 0.0 2.48319603632674 0.009087646555426442 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated bootstrap_stability 3.0 0.0 2.4760898894274397 0.003754003645322219 +VWF-SELP|Endothelial Cells->Endothelial Cells bootstrap_stability 1.0 0.0 2.5247310175523965 0.011933106345753796 diff --git a/benchmarking/lr_2026_atera/configs/benchmark.yaml b/benchmarking/cci_2026_atera/configs/benchmark.yaml similarity index 79% rename from benchmarking/lr_2026_atera/configs/benchmark.yaml rename to benchmarking/cci_2026_atera/configs/benchmark.yaml index 95b5826..3c2f99a 100644 --- a/benchmarking/lr_2026_atera/configs/benchmark.yaml +++ b/benchmarking/cci_2026_atera/configs/benchmark.yaml @@ -1,10 +1,10 @@ -benchmark_name: atera_xenium_lr_2026 +benchmark_name: atera_xenium_cci_2026 dataset_root: Y:\long\10X_datasets\Xenium\Atera\WTA_Preview_FFPE_Breast_Cancer_outs tbc_results: Y:\long\10X_datasets\Xenium\Atera\WTA_Preview_FFPE_Breast_Cancer_outs\sfplot_tbc_formal_wta\results smoke_n_cells: 20000 seed: 0 -local_env_root: D:\GitHub\pyXenium\.envs\lr_benchmark -a100_remote_root: /data/taobo.hu/pyxenium_lr_benchmark_2026-04 +local_env_root: D:\GitHub\pyXenium\.envs\cci_benchmark +a100_remote_root: /data/taobo.hu/pyxenium_cci_benchmark_2026-04 score_weights: canonical_recovery: 0.30 spatial_coherence: 0.25 diff --git a/benchmarking/lr_2026_atera/configs/canonical_axes.yaml b/benchmarking/cci_2026_atera/configs/canonical_axes.yaml similarity index 100% rename from benchmarking/lr_2026_atera/configs/canonical_axes.yaml rename to benchmarking/cci_2026_atera/configs/canonical_axes.yaml diff --git a/benchmarking/lr_2026_atera/configs/methods.yaml b/benchmarking/cci_2026_atera/configs/methods.yaml similarity index 70% rename from benchmarking/lr_2026_atera/configs/methods.yaml rename to benchmarking/cci_2026_atera/configs/methods.yaml index 938a4cb..eb8ee37 100644 --- a/benchmarking/lr_2026_atera/configs/methods.yaml +++ b/benchmarking/cci_2026_atera/configs/methods.yaml @@ -1,10 +1,10 @@ methods: - slug: pyxenium - display_name: pyXenium topology LR + display_name: pyXenium TopoLink-CCI language: python status: implemented - env_name: pyx-lr-pyxenium - env_file: envs/pyx-lr-pyxenium.yml + env_name: pyx-cci-pyxenium + env_file: envs/pyx-cci-pyxenium.yml runner: runners/python/run_pyxenium.py default_phase: smoke resolution: celltype_pair @@ -19,8 +19,8 @@ methods: display_name: CellChat v3 / Spatial CellChat language: r status: adapter-implemented - env_name: r-lr-cellchat - env_file: envs/r-lr-cellchat.yml + env_name: r-cci-cellchat + env_file: envs/r-cci-cellchat.yml runner: runners/r/run_cellchat.R default_phase: smoke resolution: celltype_pair @@ -44,8 +44,8 @@ methods: display_name: COMMOT language: python status: adapter-implemented - env_name: pyx-lr-commot - env_file: envs/pyx-lr-commot.yml + env_name: pyx-cci-commot + env_file: envs/pyx-cci-commot.yml runner: runners/python/run_commot.py default_phase: smoke resolution: cell_pair @@ -62,11 +62,11 @@ methods: display_name: LIANA+ bivariate language: python status: adapter-implemented - env_name: pyx-lr-liana - env_file: envs/pyx-lr-liana.yml + env_name: pyx-cci-liana + env_file: envs/pyx-cci-liana.yml runner: runners/python/run_liana.py default_phase: smoke - resolution: local_lr + resolution: local_cci preferred_platform: local a100_preferred: false supports_native_db: true @@ -83,11 +83,11 @@ methods: display_name: SpatialDM language: python status: adapter-implemented - env_name: pyx-lr-spatialdm - env_file: envs/pyx-lr-spatialdm.yml + env_name: pyx-cci-spatialdm + env_file: envs/pyx-cci-spatialdm.yml runner: scripts/run_method.py default_phase: smoke - resolution: local_lr + resolution: local_cci preferred_platform: local a100_preferred: false supports_native_db: true @@ -102,11 +102,11 @@ methods: display_name: stLearn CCI language: python status: adapter-implemented - env_name: pyx-lr-stlearn - env_file: envs/pyx-lr-stlearn.yml + env_name: pyx-cci-stlearn + env_file: envs/pyx-cci-stlearn.yml runner: scripts/run_method.py default_phase: smoke - resolution: local_lr + resolution: local_cci preferred_platform: local a100_preferred: false supports_native_db: true @@ -120,8 +120,8 @@ methods: display_name: Giotto spatCellCellcom language: r status: adapter-implemented - env_name: r-lr-giotto - env_file: envs/r-lr-giotto.yml + env_name: r-cci-giotto + env_file: envs/r-cci-giotto.yml runner: runners/r/run_giotto.R default_phase: smoke resolution: celltype_pair @@ -140,8 +140,8 @@ methods: display_name: Squidpy ligrec language: python status: adapter-implemented - env_name: pyx-lr-squidpy - env_file: envs/pyx-lr-squidpy.yml + env_name: pyx-cci-squidpy + env_file: envs/pyx-cci-squidpy.yml runner: runners/python/run_squidpy.py default_phase: smoke resolution: celltype_pair @@ -159,8 +159,8 @@ methods: display_name: SpaTalk language: r status: adapter-implemented - env_name: r-lr-spatalk - env_file: envs/r-lr-spatalk.yml + env_name: r-cci-spatalk + env_file: envs/r-cci-spatalk.yml runner: runners/r/run_spatalk.R default_phase: smoke resolution: cell_pair @@ -178,9 +178,9 @@ methods: - slug: cellnest display_name: CellNEST language: python - status: adapter-pending - env_name: pyx-lr-cellnest - env_file: envs/pyx-lr-cellnest.yml + status: adapter-implemented + env_name: pyx-cci-cellnest + env_file: envs/pyx-cci-cellnest.yml runner: scripts/run_method.py default_phase: smoke resolution: cell_pair @@ -189,15 +189,22 @@ methods: supports_native_db: true supports_common_db: true install: - pip_git: - - git+https://github.com/schwartzlab-methods/CellNEST.git + source_git: + - https://github.com/schwartzlab-methods/CellNEST.git + source_commit: 2737fa8f54952b4b35a540f6070655a69f2c4999 + container: + - library://fatema/collection/cellnest_image.sif:latest + pip: + - PyYAML>=6.0 + - zarr>=2.16,<3 + notes: Official implementation is source-layout based; clone under external_src/cellnest and prefer Apptainer/Singularity for torch-geometric compatibility; source Python rebuild env installs pyXenium runtime deps without allowing zarr>=3. - slug: cellagentchat display_name: CellAgentChat language: python - status: adapter-pending - env_name: pyx-lr-cellagentchat - env_file: envs/pyx-lr-cellagentchat.yml + status: adapter-implemented + env_name: pyx-cci-cellagentchat + env_file: envs/pyx-cci-cellagentchat.yml runner: scripts/run_method.py default_phase: smoke resolution: cell_pair @@ -206,15 +213,24 @@ methods: supports_native_db: true supports_common_db: true install: - pip_git: - - git+https://github.com/mcgilldinglab/CellAgentChat.git + source_git: + - https://github.com/mcgilldinglab/CellAgentChat.git + source_commit: 37e51980cb9ba87684993d8bdae26feac8806bae + pythonpath: external_src/cellagentchat/src + pip: + - PyYAML>=6.0 + - numpy==1.26.4 + - zarr>=2.16,<3 + - Mesa==1.0.0 + - pyslingshot==0.0.2 + notes: Use source PYTHONPATH instead of relying on a package import name; the adapter drives tutorial modules directly; full common-db runs are split into CCI chunks and merged before final scoring; torch-scatter/torch-sparse are installed from the matching PyG wheel index. - slug: scild display_name: SCILD language: python - status: adapter-pending - env_name: pyx-lr-scild - env_file: envs/pyx-lr-scild.yml + status: adapter-implemented + env_name: pyx-cci-scild + env_file: envs/pyx-cci-scild.yml runner: scripts/run_method.py default_phase: appendix resolution: cell_pair @@ -225,6 +241,14 @@ methods: install: source_git: - https://github.com/jiatingyu-amss/SCILD.git + source_commit: 683515043df1878f3069c4dd5f887abb5c8976bd + pythonpath: external_src/scild + pip: + - PyYAML>=6.0 + - numpy==1.26.4 + - scipy==1.11.4 + - zarr>=2.16,<3 + - commot==0.0.3 docs: - https://scilddocs.readthedocs.io notes: Official implementation is source-layout based rather than a standard pip package; clone under external_src/scild and run via PYTHONPATH against Models.SCILD_main. @@ -233,8 +257,8 @@ methods: display_name: NICHES language: r status: adapter-implemented - env_name: r-lr-niches - env_file: envs/r-lr-niches.yml + env_name: r-cci-niches + env_file: envs/r-cci-niches.yml runner: runners/r/run_niches.R default_phase: appendix resolution: cell_pair @@ -253,8 +277,8 @@ methods: display_name: CellPhoneDB v5 baseline language: python status: adapter-implemented - env_name: pyx-lr-cellphonedb - env_file: envs/pyx-lr-cellphonedb.yml + env_name: pyx-cci-cellphonedb + env_file: envs/pyx-cci-cellphonedb.yml runner: scripts/run_method.py default_phase: smoke resolution: celltype_pair @@ -271,8 +295,8 @@ methods: display_name: LARIS language: python status: adapter-implemented - env_name: pyx-lr-laris - env_file: envs/pyx-lr-laris.yml + env_name: pyx-cci-laris + env_file: envs/pyx-cci-laris.yml runner: scripts/run_method.py default_phase: smoke resolution: celltype_pair @@ -289,8 +313,8 @@ methods: display_name: Benchmark data prep language: python status: implemented - env_name: pyx-lr-prep - env_file: envs/pyx-lr-prep.yml + env_name: pyx-cci-prep + env_file: envs/pyx-cci-prep.yml runner: scripts/prepare_data.py default_phase: prep resolution: none diff --git a/benchmarking/lr_2026_atera/configs/pathways.yaml b/benchmarking/cci_2026_atera/configs/pathways.yaml similarity index 100% rename from benchmarking/lr_2026_atera/configs/pathways.yaml rename to benchmarking/cci_2026_atera/configs/pathways.yaml diff --git a/benchmarking/lr_2026_atera/data/.gitkeep b/benchmarking/cci_2026_atera/data/.gitkeep similarity index 100% rename from benchmarking/lr_2026_atera/data/.gitkeep rename to benchmarking/cci_2026_atera/data/.gitkeep diff --git a/benchmarking/lr_2026_atera/envs/bootstrap_cellchat_mainline.R b/benchmarking/cci_2026_atera/envs/bootstrap_cellchat_mainline.R similarity index 100% rename from benchmarking/lr_2026_atera/envs/bootstrap_cellchat_mainline.R rename to benchmarking/cci_2026_atera/envs/bootstrap_cellchat_mainline.R diff --git a/benchmarking/lr_2026_atera/envs/bootstrap_env.py b/benchmarking/cci_2026_atera/envs/bootstrap_env.py similarity index 98% rename from benchmarking/lr_2026_atera/envs/bootstrap_env.py rename to benchmarking/cci_2026_atera/envs/bootstrap_env.py index 6d006d7..778b291 100644 --- a/benchmarking/lr_2026_atera/envs/bootstrap_env.py +++ b/benchmarking/cci_2026_atera/envs/bootstrap_env.py @@ -56,7 +56,7 @@ def main() -> None: args = parser.parse_args() repo_root = Path(args.repo_root).resolve() - benchmark_root = Path(args.benchmark_root).resolve() if args.benchmark_root else repo_root / "benchmarking" / "lr_2026_atera" + benchmark_root = Path(args.benchmark_root).resolve() if args.benchmark_root else repo_root / "benchmarking" / "cci_2026_atera" methods_path = Path(args.methods_config) if args.methods_config else benchmark_root / "configs" / "methods.yaml" methods = yaml.safe_load(methods_path.read_text(encoding="utf-8")).get("methods", []) method = next((item for item in methods if item.get("slug") == args.method or item.get("env_name") == args.method), None) diff --git a/benchmarking/lr_2026_atera/envs/pyx-lr-cellagentchat.yml b/benchmarking/cci_2026_atera/envs/pyx-cci-cellagentchat.yml similarity index 81% rename from benchmarking/lr_2026_atera/envs/pyx-lr-cellagentchat.yml rename to benchmarking/cci_2026_atera/envs/pyx-cci-cellagentchat.yml index abee88e..b71f635 100644 --- a/benchmarking/lr_2026_atera/envs/pyx-lr-cellagentchat.yml +++ b/benchmarking/cci_2026_atera/envs/pyx-cci-cellagentchat.yml @@ -1,4 +1,4 @@ -name: pyx-lr-cellagentchat +name: pyx-cci-cellagentchat channels: - conda-forge dependencies: diff --git a/benchmarking/lr_2026_atera/envs/pyx-lr-cellnest.yml b/benchmarking/cci_2026_atera/envs/pyx-cci-cellnest.yml similarity index 84% rename from benchmarking/lr_2026_atera/envs/pyx-lr-cellnest.yml rename to benchmarking/cci_2026_atera/envs/pyx-cci-cellnest.yml index 74c35f7..6548ae0 100644 --- a/benchmarking/lr_2026_atera/envs/pyx-lr-cellnest.yml +++ b/benchmarking/cci_2026_atera/envs/pyx-cci-cellnest.yml @@ -1,4 +1,4 @@ -name: pyx-lr-cellnest +name: pyx-cci-cellnest channels: - conda-forge dependencies: diff --git a/benchmarking/lr_2026_atera/envs/pyx-lr-cellphonedb.yml b/benchmarking/cci_2026_atera/envs/pyx-cci-cellphonedb.yml similarity index 85% rename from benchmarking/lr_2026_atera/envs/pyx-lr-cellphonedb.yml rename to benchmarking/cci_2026_atera/envs/pyx-cci-cellphonedb.yml index f862468..c1a4890 100644 --- a/benchmarking/lr_2026_atera/envs/pyx-lr-cellphonedb.yml +++ b/benchmarking/cci_2026_atera/envs/pyx-cci-cellphonedb.yml @@ -1,4 +1,4 @@ -name: pyx-lr-cellphonedb +name: pyx-cci-cellphonedb channels: - conda-forge dependencies: diff --git a/benchmarking/lr_2026_atera/envs/pyx-lr-commot.yml b/benchmarking/cci_2026_atera/envs/pyx-cci-commot.yml similarity index 86% rename from benchmarking/lr_2026_atera/envs/pyx-lr-commot.yml rename to benchmarking/cci_2026_atera/envs/pyx-cci-commot.yml index e0ec713..f791689 100644 --- a/benchmarking/lr_2026_atera/envs/pyx-lr-commot.yml +++ b/benchmarking/cci_2026_atera/envs/pyx-cci-commot.yml @@ -1,4 +1,4 @@ -name: pyx-lr-commot +name: pyx-cci-commot channels: - conda-forge dependencies: diff --git a/benchmarking/lr_2026_atera/envs/pyx-lr-laris.yml b/benchmarking/cci_2026_atera/envs/pyx-cci-laris.yml similarity index 88% rename from benchmarking/lr_2026_atera/envs/pyx-lr-laris.yml rename to benchmarking/cci_2026_atera/envs/pyx-cci-laris.yml index 647bbbc..864ad5e 100644 --- a/benchmarking/lr_2026_atera/envs/pyx-lr-laris.yml +++ b/benchmarking/cci_2026_atera/envs/pyx-cci-laris.yml @@ -1,4 +1,4 @@ -name: pyx-lr-laris +name: pyx-cci-laris channels: - conda-forge dependencies: diff --git a/benchmarking/lr_2026_atera/envs/pyx-lr-liana.yml b/benchmarking/cci_2026_atera/envs/pyx-cci-liana.yml similarity index 88% rename from benchmarking/lr_2026_atera/envs/pyx-lr-liana.yml rename to benchmarking/cci_2026_atera/envs/pyx-cci-liana.yml index bdeb190..f25da8f 100644 --- a/benchmarking/lr_2026_atera/envs/pyx-lr-liana.yml +++ b/benchmarking/cci_2026_atera/envs/pyx-cci-liana.yml @@ -1,4 +1,4 @@ -name: pyx-lr-liana +name: pyx-cci-liana channels: - conda-forge dependencies: diff --git a/benchmarking/lr_2026_atera/envs/pyx-lr-prep.yml b/benchmarking/cci_2026_atera/envs/pyx-cci-prep.yml similarity index 94% rename from benchmarking/lr_2026_atera/envs/pyx-lr-prep.yml rename to benchmarking/cci_2026_atera/envs/pyx-cci-prep.yml index 7ae80ed..b9adaaf 100644 --- a/benchmarking/lr_2026_atera/envs/pyx-lr-prep.yml +++ b/benchmarking/cci_2026_atera/envs/pyx-cci-prep.yml @@ -1,4 +1,4 @@ -name: pyx-lr-prep +name: pyx-cci-prep channels: - conda-forge dependencies: diff --git a/benchmarking/lr_2026_atera/envs/pyx-lr-pyxenium.yml b/benchmarking/cci_2026_atera/envs/pyx-cci-pyxenium.yml similarity index 92% rename from benchmarking/lr_2026_atera/envs/pyx-lr-pyxenium.yml rename to benchmarking/cci_2026_atera/envs/pyx-cci-pyxenium.yml index dcc178a..4843eeb 100644 --- a/benchmarking/lr_2026_atera/envs/pyx-lr-pyxenium.yml +++ b/benchmarking/cci_2026_atera/envs/pyx-cci-pyxenium.yml @@ -1,4 +1,4 @@ -name: pyx-lr-pyxenium +name: pyx-cci-pyxenium channels: - conda-forge dependencies: diff --git a/benchmarking/lr_2026_atera/envs/pyx-lr-scild.yml b/benchmarking/cci_2026_atera/envs/pyx-cci-scild.yml similarity index 89% rename from benchmarking/lr_2026_atera/envs/pyx-lr-scild.yml rename to benchmarking/cci_2026_atera/envs/pyx-cci-scild.yml index 0156f31..8c0d1bc 100644 --- a/benchmarking/lr_2026_atera/envs/pyx-lr-scild.yml +++ b/benchmarking/cci_2026_atera/envs/pyx-cci-scild.yml @@ -1,4 +1,4 @@ -name: pyx-lr-scild +name: pyx-cci-scild channels: - conda-forge dependencies: diff --git a/benchmarking/lr_2026_atera/envs/pyx-lr-spatialdm.yml b/benchmarking/cci_2026_atera/envs/pyx-cci-spatialdm.yml similarity index 86% rename from benchmarking/lr_2026_atera/envs/pyx-lr-spatialdm.yml rename to benchmarking/cci_2026_atera/envs/pyx-cci-spatialdm.yml index 98b1ea0..bf379c7 100644 --- a/benchmarking/lr_2026_atera/envs/pyx-lr-spatialdm.yml +++ b/benchmarking/cci_2026_atera/envs/pyx-cci-spatialdm.yml @@ -1,4 +1,4 @@ -name: pyx-lr-spatialdm +name: pyx-cci-spatialdm channels: - conda-forge dependencies: diff --git a/benchmarking/lr_2026_atera/envs/pyx-lr-squidpy.yml b/benchmarking/cci_2026_atera/envs/pyx-cci-squidpy.yml similarity index 89% rename from benchmarking/lr_2026_atera/envs/pyx-lr-squidpy.yml rename to benchmarking/cci_2026_atera/envs/pyx-cci-squidpy.yml index 9806cfa..99fda0d 100644 --- a/benchmarking/lr_2026_atera/envs/pyx-lr-squidpy.yml +++ b/benchmarking/cci_2026_atera/envs/pyx-cci-squidpy.yml @@ -1,4 +1,4 @@ -name: pyx-lr-squidpy +name: pyx-cci-squidpy channels: - conda-forge dependencies: diff --git a/benchmarking/lr_2026_atera/envs/pyx-lr-stlearn.yml b/benchmarking/cci_2026_atera/envs/pyx-cci-stlearn.yml similarity index 88% rename from benchmarking/lr_2026_atera/envs/pyx-lr-stlearn.yml rename to benchmarking/cci_2026_atera/envs/pyx-cci-stlearn.yml index 2be499d..45d1c98 100644 --- a/benchmarking/lr_2026_atera/envs/pyx-lr-stlearn.yml +++ b/benchmarking/cci_2026_atera/envs/pyx-cci-stlearn.yml @@ -1,4 +1,4 @@ -name: pyx-lr-stlearn +name: pyx-cci-stlearn channels: - conda-forge dependencies: diff --git a/benchmarking/lr_2026_atera/envs/r-lr-cellchat.yml b/benchmarking/cci_2026_atera/envs/r-cci-cellchat.yml similarity index 97% rename from benchmarking/lr_2026_atera/envs/r-lr-cellchat.yml rename to benchmarking/cci_2026_atera/envs/r-cci-cellchat.yml index 07082be..a79c47e 100644 --- a/benchmarking/lr_2026_atera/envs/r-lr-cellchat.yml +++ b/benchmarking/cci_2026_atera/envs/r-cci-cellchat.yml @@ -1,4 +1,4 @@ -name: r-lr-cellchat +name: r-cci-cellchat channels: - conda-forge - bioconda diff --git a/benchmarking/lr_2026_atera/envs/r-lr-giotto.yml b/benchmarking/cci_2026_atera/envs/r-cci-giotto.yml similarity index 86% rename from benchmarking/lr_2026_atera/envs/r-lr-giotto.yml rename to benchmarking/cci_2026_atera/envs/r-cci-giotto.yml index a78e695..77ac87d 100644 --- a/benchmarking/lr_2026_atera/envs/r-lr-giotto.yml +++ b/benchmarking/cci_2026_atera/envs/r-cci-giotto.yml @@ -1,4 +1,4 @@ -name: r-lr-giotto +name: r-cci-giotto channels: - conda-forge dependencies: diff --git a/benchmarking/lr_2026_atera/envs/r-lr-niches.yml b/benchmarking/cci_2026_atera/envs/r-cci-niches.yml similarity index 86% rename from benchmarking/lr_2026_atera/envs/r-lr-niches.yml rename to benchmarking/cci_2026_atera/envs/r-cci-niches.yml index f77760f..e5382d1 100644 --- a/benchmarking/lr_2026_atera/envs/r-lr-niches.yml +++ b/benchmarking/cci_2026_atera/envs/r-cci-niches.yml @@ -1,4 +1,4 @@ -name: r-lr-niches +name: r-cci-niches channels: - conda-forge dependencies: diff --git a/benchmarking/lr_2026_atera/envs/r-lr-spatalk.yml b/benchmarking/cci_2026_atera/envs/r-cci-spatalk.yml similarity index 86% rename from benchmarking/lr_2026_atera/envs/r-lr-spatalk.yml rename to benchmarking/cci_2026_atera/envs/r-cci-spatalk.yml index 4d25207..7abe51f 100644 --- a/benchmarking/lr_2026_atera/envs/r-lr-spatalk.yml +++ b/benchmarking/cci_2026_atera/envs/r-cci-spatalk.yml @@ -1,4 +1,4 @@ -name: r-lr-spatalk +name: r-cci-spatalk channels: - conda-forge dependencies: diff --git a/benchmarking/lr_2026_atera/logs/.gitkeep b/benchmarking/cci_2026_atera/logs/.gitkeep similarity index 100% rename from benchmarking/lr_2026_atera/logs/.gitkeep rename to benchmarking/cci_2026_atera/logs/.gitkeep diff --git a/benchmarking/cci_2026_atera/method_manuscript/topolink_cci_method_bilingual.md b/benchmarking/cci_2026_atera/method_manuscript/topolink_cci_method_bilingual.md new file mode 100644 index 0000000..57436a5 --- /dev/null +++ b/benchmarking/cci_2026_atera/method_manuscript/topolink_cci_method_bilingual.md @@ -0,0 +1,489 @@ +# TopoLink-CCI: a topology-guided local interaction score for spatial cell-cell interaction discovery + +> **Naming update for manuscript use:** The recommended manuscript-level method name is now **TopoLink-CCI** (*Topology-guided Cell-Cell Interaction scoring*). The term **TopoLink-CCI** should be used only for the cell-cell interaction-resource mode of TopoLink-CCI, because several high-ranking axes are better described as molecular interaction or cell-cell interaction axes rather than strictly classical cell-cell interaction events. + +**Chinese name:** 拓扑引导的局部互作配体-受体评分法 +**Recommended abbreviation:** **TopoLink-CCI** +**Implementation:** `pyXenium.cci.cci_topology_analysis` + +## English Manuscript-Style Method Description + +### Title + +**TopoLink-CCI: topology-guided local interaction scoring identifies spatially supported cell-cell interaction axes in Xenium WTA data** + +### Short Title + +TopoLink-CCI for spatial cell-cell interaction discovery + +### Abstract + +Spatial cell-cell interaction analysis in imaging-based transcriptomics requires more than ligand and receptor co-expression. A candidate communication axis should also be compatible with tissue topology, sender and receiver cellular niches, local spatial contact, and prior biological plausibility. We therefore developed **TopoLink-CCI**, a topology-guided local interaction score implemented in `pyXenium`. TopoLink-CCI ranks cell-cell interaction hypotheses by integrating six evidence components: ligand-to-sender topology anchoring, receptor-to-receiver topology anchoring, sender-receiver structural bridging, sender expression support, receiver expression support, and local contact support. A curated cell-cell interaction prior can optionally modulate the final score. The resulting `CCI_score` is a discovery score rather than a standalone proof of communication; downstream validation should use expression specificity, permutation nulls, spatial nulls, matched-gene controls, cross-method consensus, downstream target support, and bootstrap stability. On the Atera Xenium WTA breast cancer dataset, TopoLink-CCI generated 1,319,600 sender-receiver cell-cell interaction hypotheses and prioritized interpretable vascular, stromal, immune, and Notch axes, including `VWF-SELP`, `VWF-LRP1`, `MMRN2-CD93`, `DLL4-NOTCH3`, `CXCL12-CXCR4`, `CD48-CD2`, and `JAG1-NOTCH2`. + +### Rationale + +Most classical cell-cell communication methods begin with the same biological premise: ligands expressed by one cell population and receptors expressed by another population may indicate intercellular signaling. Methods such as CellPhoneDB, CellChat, Squidpy, LIANA, NicheNet, stLearn, SpatialDM, COMMOT, and SpaTalk then add different layers of evidence, including curated interaction databases, expression thresholds, permutation tests, spatial proximity, downstream target response, and cross-method consensus. TopoLink-CCI follows the same cautious principle: a high score is a hypothesis generator, and orthogonal evidence is required before interpreting a candidate axis as biologically credible. + +TopoLink-CCI was designed for pyXenium analyses where a topology or structure map has already been inferred from Xenium WTA data. Instead of treating all expressed cell-cell interaction pairs equally, TopoLink-CCI asks whether the ligand is topologically anchored to the sender compartment, whether the receptor is anchored to the receiver compartment, whether the sender and receiver lie in a plausible tissue-structural relationship, whether both genes are expressed in the relevant populations, and whether local neighboring cells support the proposed contact. + +### Method Name + +We recommend naming the method **TopoLink-CCI**. + +**Full name:** Topology-guided Local Interaction Cell-Cell Interaction scoring +**Chinese full name:** 拓扑引导的局部互作配体-受体评分法 + +The name captures the three defining properties of the method: + +1. **Topo:** it uses topology-derived gene-to-cell and cell-to-cell structure information. +2. **Link:** it links ligand, receptor, sender, receiver, and local spatial contact into one hypothesis. +3. **LR:** it is designed specifically for cell-cell interaction discovery and prioritization. + +### Inputs + +TopoLink-CCI uses the following inputs: + +1. A spatial expression matrix, ideally with gene symbols as feature names. +2. Cell metadata containing a sender/receiver grouping column, typically `cell_type` or `cluster`. +3. Spatial coordinates for every cell. +4. A topology output that maps genes to cell types and cell types to tissue structures. +5. A cell-cell interaction resource containing at minimum ligand and receptor gene symbols. +6. Optional prior confidence weights for cell-cell interaction pairs. + +For the Atera Xenium WTA breast benchmark, the full dataset contained 170,057 cells, 18,028 RNA features, 20 annotated cell clusters, and a common cell-cell interaction resource of 3,299 pairs. + +### Score Components + +For a ligand \(l\), receptor \(r\), sender cell type \(s\), and receiver cell type \(t\), TopoLink-CCI computes the following components. + +#### 1. Sender Anchor + +The sender anchor measures whether the ligand is topologically close to the sender population: + +\[ +A_{\mathrm{sender}}(l,s) = 1 - D_{\mathrm{topology}}(l,s) +\] + +where \(D_{\mathrm{topology}}(l,s)\) is the topology distance or dissimilarity between ligand \(l\) and sender cell type \(s\). Higher values indicate stronger ligand-sender anchoring. + +#### 2. Receiver Anchor + +The receiver anchor measures whether the receptor is topologically close to the receiver population: + +\[ +A_{\mathrm{receiver}}(r,t) = 1 - D_{\mathrm{topology}}(r,t) +\] + +Higher values indicate stronger receptor-receiver anchoring. + +#### 3. Structure Bridge + +The structure bridge measures whether the sender and receiver compartments are compatible in the inferred tissue structure: + +\[ +B(s,t) = 1 - D_{\mathrm{structure}}(s,t) +\] + +This term favors cell-cell interaction hypotheses whose sender and receiver cell types are topologically or structurally connected. + +#### 4. Sender Expression Support + +The sender expression component measures whether ligand \(l\) is expressed in sender cell type \(s\). pyXenium uses a pseudobulk-detection support score: + +\[ +E(l,s) = \mathrm{rowNorm}\left(P(l,s)\sqrt{F(l,s)}\right) +\] + +where \(P(l,s)\) is the pseudobulk expression share of ligand \(l\) in sender \(s\), and \(F(l,s)\) is the detection fraction of ligand \(l\) in sender cells. + +#### 5. Receiver Expression Support + +The receiver expression component is computed analogously: + +\[ +E(r,t) = \mathrm{rowNorm}\left(P(r,t)\sqrt{F(r,t)}\right) +\] + +This term requires the receptor to be detected in the receiver population. + +#### 6. Local Contact Support + +The local contact component measures whether neighboring sender and receiver cells jointly express the ligand and receptor: + +\[ +C(l,r,s,t) = +\mathbb{1}_{N_{s,t} \geq N_{\min}} +\sqrt{S_{\mathrm{norm}}(l,r,s,t) \cdot Q(l,r,s,t)} +\cdot W(N_{s,t}) +\] + +where \(N_{s,t}\) is the number of local sender-receiver edges, \(N_{\min}\) is the minimum edge threshold, \(S_{\mathrm{norm}}\) is the normalized mean cell-cell interaction edge strength, \(Q\) is the active-edge coverage fraction, and \(W\) is an edge-count support term. In the current implementation, local neighborhoods are constructed by K-nearest neighbors or radius-based spatial neighborhoods. + +### Final Score + +The final score is a prior-weighted geometric mean: + +\[ +\mathrm{TopoLink\mbox{-}LR}(l,r,s,t) += +\pi(l,r) +\cdot +\mathrm{GM} +\left[ +A_{\mathrm{sender}}, +A_{\mathrm{receiver}}, +B, +E_{\mathrm{sender}}, +E_{\mathrm{receiver}}, +C +\right] +\] + +where \(\pi(l,r)\) is the optional prior confidence of the cell-cell interaction pair, and GM is the geometric mean. The geometric mean is used because a strong candidate should be supported by all major evidence components; one extremely high component should not fully compensate for missing topology, expression, or contact evidence. + +### Output + +TopoLink-CCI produces a ranked sender-receiver cell-cell interaction table. The main columns are: + +| Column | Meaning | +|---|---| +| `ligand` | Ligand gene symbol | +| `receptor` | Receptor gene symbol | +| `sender` | Sender cell type | +| `receiver` | Receiver cell type | +| `CCI_score` | TopoLink-CCI discovery score | +| `sender_anchor` | Ligand-sender topology support | +| `receiver_anchor` | Receptor-receiver topology support | +| `structure_bridge` | Sender-receiver structural support | +| `sender_expr` | Ligand expression support in sender | +| `receiver_expr` | Receptor expression support in receiver | +| `local_contact` | Spatial contact support | +| `prior_confidence` | Ligand-receptor database prior | +| `cross_edge_count` | Number of local sender-receiver edges | + +### Interpretation + +TopoLink-CCI should be interpreted as a **spatially constrained ranking method**. A high `CCI_score` indicates that the cell-cell interaction pair is simultaneously supported by topology, expression, tissue structure, and local contact. It does not prove protein secretion, receptor binding, or downstream signaling by itself. + +The most appropriate interpretation is: + +> "This cell-cell interaction axis is a high-priority spatial communication hypothesis supported by Xenium WTA topology and local tissue organization." + +### Benchmark Example + +In the Atera Xenium WTA breast cancer benchmark, TopoLink-CCI produced 1,319,600 full common-database results. The top-ranked axis was: + +| CCI pair | Sender -> Receiver | CCI_score | Interpretation | +|---|---|---:|---| +| `VWF-SELP` | Endothelial Cells -> Endothelial Cells | 0.791289 | Endothelial activation / Weibel-Palade body / vascular adhesion state | + +For this axis, the score was supported by high sender anchor, high receiver anchor, maximal structure bridge, maximal expression support, and measurable endothelial-endothelial local contact: + +| Component | Value | +|---|---:| +| `sender_anchor` | 0.955713 | +| `receiver_anchor` | 0.881913 | +| `structure_bridge` | 1.000000 | +| `sender_expr` | 1.000000 | +| `receiver_expr` | 1.000000 | +| `local_contact` | 0.291245 | +| `prior_confidence` | 1.000000 | + +### Validation Strategy + +Following the computational validation principles used in classical cell-cell interaction and cell-cell communication studies, TopoLink-CCI discoveries should be validated with orthogonal evidence layers: + +1. **Expression specificity:** ligand enriched in sender and receptor enriched in receiver. +2. **Cell-label permutation:** sender-receiver specificity exceeds randomized cell-type labels. +3. **Spatial null control:** spatial contact exceeds randomized or permuted spatial neighborhoods. +4. **Matched-gene negative controls:** the axis outperforms expression-matched random gene pairs. +5. **Downstream target support:** receiver cells show compatible target or pathway activity. +6. **Cross-method consensus:** related biology appears in CellPhoneDB, LIANA, SpatialDM, stLearn, LARIS, Squidpy, CellChat, COMMOT, SpaTalk, or other methods. +7. **Component ablation:** the score is not driven by one isolated component. +8. **Bootstrap stability:** top axes remain stable under stratified cell subsampling. + +In the current PDC clean validation run, seven biologically interpretable TopoLink-CCI axes were classified as having strong computational support: `VWF-SELP`, `VWF-LRP1`, `MMRN2-CD93`, `CD48-CD2`, `DLL4-NOTCH3`, `CXCL12-CXCR4`, and `JAG1-NOTCH2`. + +### Strengths + +TopoLink-CCI has several practical advantages for Xenium WTA data: + +1. It explicitly uses spatial topology rather than only pseudobulk expression. +2. It penalizes cell-cell interaction hypotheses lacking local cell-cell contact. +3. It keeps component-level diagnostics, making biological interpretation transparent. +4. It works naturally with pyXenium topology, contour, pathway, and mechanostress analyses. +5. It can be benchmarked against both spatial and non-spatial CCI methods through a common standardized output schema. + +### Limitations + +TopoLink-CCI has important limitations: + +1. RNA co-localization does not prove protein-level ligand secretion or receptor binding. +2. A high score may reflect a shared cellular state, especially for autocrine or same-cell-type axes. +3. The method depends on the quality of cell-type annotation and topology inference. +4. Genes with very strong cell-type specificity may score highly and still require null controls. +5. Prior database quality affects which cell-cell interaction pairs are tested. +6. Downstream functional validation remains necessary for causal claims. + +### Recommended Reporting Language + +For manuscripts, we recommend the following language: + +> "We used TopoLink-CCI, a topology-guided local interaction score implemented in pyXenium, to prioritize spatial cell-cell interaction hypotheses. TopoLink-CCI integrates ligand-sender topology anchoring, receptor-receiver topology anchoring, sender-receiver structural bridging, sender and receiver expression support, and local spatial contact. Candidate axes were then evaluated using expression specificity, permutation nulls, spatial controls, matched-gene negative controls, cross-method consensus, downstream target support, ablation analysis, and bootstrap stability. We therefore interpret high-scoring axes as computationally supported spatial communication hypotheses rather than direct proof of protein-level signaling." + +### References + +1. Efremova M, et al. CellPhoneDB: inferring cell-cell communication from combined expression of multi-subunit cell-cell interaction complexes. *Nature Protocols*. 2020. https://www.nature.com/articles/s41596-020-0292-x +2. Jin S, et al. Inference and analysis of cell-cell communication using CellChat. *Nature Communications*. 2021. https://www.nature.com/articles/s41467-021-21246-9 +3. Browaeys R, et al. NicheNet: modeling intercellular communication by linking ligands to target genes. *Nature Methods*. 2020. https://www.nature.com/articles/s41592-019-0667-5 +4. Dimitrov D, et al. Comparison of methods and resources for cell-cell communication inference from single-cell RNA-seq data. *Nature Communications*. 2022. https://www.nature.com/articles/s41467-022-30755-0 +5. Palla G, et al. Squidpy: a scalable framework for spatial omics analysis. *Nature Methods*. 2022. https://www.nature.com/articles/s41592-021-01358-2 +6. Pham D, et al. stLearn: integrating spatial location, tissue morphology and gene expression to find cell-cell interactions. *Nature Communications*. 2023. https://www.nature.com/articles/s41467-023-43120-6 +7. Li H, et al. SpatialDM for spatially resolved transcriptomics cell-cell interaction inference. *Nature Communications*. 2023. https://www.nature.com/articles/s41467-023-39608-w +8. Cang Z, et al. Screening cell-cell communication in spatial transcriptomics via collective optimal transport. *Nature Methods*. 2023. https://www.nature.com/articles/s41592-022-01728-4 +9. Shao X, et al. SpaTalk: inferring spatially resolved cell-cell communication. *Nature Communications*. 2022. https://www.nature.com/articles/s41467-022-32111-8 + +--- + +# TopoLink-CCI:用于空间配体-受体发现的拓扑引导局部互作评分法 + +**英文名称:** Topology-guided Local Interaction Cell-Cell Interaction scoring +**推荐缩写:** **TopoLink-CCI** +**实现函数:** `pyXenium.cci.cci_topology_analysis` + +## 中文论文式方法说明 + +### 标题 + +**TopoLink-CCI:一种用于 Xenium WTA 空间配体-受体发现的拓扑引导局部互作评分方法** + +### 短标题 + +TopoLink-CCI 空间配体-受体分析 + +### 摘要 + +在基于成像的空间转录组数据中,配体-受体分析不能只依赖配体和受体是否表达。一个可信的细胞通讯候选轴还应当同时满足组织拓扑合理性、sender 和 receiver 细胞生态位匹配、局部空间接触支持以及已有配体-受体知识库的生物学先验。为此,我们在 pyXenium 中开发了 **TopoLink-CCI**,即拓扑引导的局部互作配体-受体评分法。TopoLink-CCI 综合六类证据:配体与 sender 的拓扑锚定、受体与 receiver 的拓扑锚定、sender-receiver 结构桥接、sender 表达支持、receiver 表达支持以及局部空间接触支持,并可进一步引入配体-受体数据库先验。TopoLink-CCI 的 `CCI_score` 是候选发现评分,而不是单独证明细胞通讯真实存在的证据。因此,高分候选轴需要进一步通过表达特异性、置换检验、空间 null、表达匹配随机基因对、跨方法一致性、下游靶基因支持和重采样稳定性进行验证。在 Atera Xenium WTA 乳腺癌数据中,TopoLink-CCI 生成了 1,319,600 条 sender-receiver 配体-受体假设,并优先发现了具有明确生物学解释的血管、基质、免疫和 Notch 相关轴,例如 `VWF-SELP`、`VWF-LRP1`、`MMRN2-CD93`、`DLL4-NOTCH3`、`CXCL12-CXCR4`、`CD48-CD2` 和 `JAG1-NOTCH2`。 + +### 方法动机 + +经典细胞通讯方法通常从同一个生物学假设出发:如果一个细胞群表达配体,另一个细胞群表达相应受体,那么二者之间可能存在细胞间通讯。CellPhoneDB、CellChat、Squidpy、LIANA、NicheNet、stLearn、SpatialDM、COMMOT 和 SpaTalk 等方法会在这个基础上叠加不同的证据层,例如配体-受体知识库、表达阈值、置换检验、空间邻近性、下游靶基因响应和多方法一致性。TopoLink-CCI 采用同样谨慎的思想:高分结果首先是一个候选发现,真正的生物学解释需要独立证据支持。 + +TopoLink-CCI 面向已经完成 pyXenium 拓扑分析的 Xenium WTA 数据。它不仅判断配体和受体是否表达,还进一步询问:配体是否拓扑上锚定到 sender 细胞类型,受体是否拓扑上锚定到 receiver 细胞类型,sender 和 receiver 是否具有合理的组织结构关系,两者是否在局部空间邻域中实际相邻,以及局部邻接细胞是否共同支持该配体-受体轴。 + +### 方法命名 + +推荐方法名称为 **TopoLink-CCI**。 + +**英文全称:** Topology-guided Local Interaction Cell-Cell Interaction scoring +**中文全称:** 拓扑引导的局部互作配体-受体评分法 + +这个名称概括了方法的三个核心特征: + +1. **Topo:** 方法使用基因-细胞类型和细胞类型-组织结构的拓扑信息。 +2. **Link:** 方法把配体、受体、sender、receiver 和局部空间接触连接成一个完整假设。 +3. **LR:** 方法专门用于 cell-cell interaction 候选轴发现和排序。 + +### 输入数据 + +TopoLink-CCI 需要以下输入: + +1. 空间表达矩阵,推荐使用 gene symbol 作为特征名。 +2. 细胞元数据,其中包含 sender/receiver 分组列,例如 `cell_type` 或 `cluster`。 +3. 每个细胞的空间坐标。 +4. pyXenium 拓扑分析结果,包括基因到细胞类型、细胞类型到组织结构的映射。 +5. 配体-受体数据库,至少包含 ligand 和 receptor 基因名。 +6. 可选的配体-受体先验置信度。 + +在 Atera Xenium WTA 乳腺癌 benchmark 中,完整数据包含 170,057 个细胞、18,028 个 RNA features、20 个细胞簇,以及 3,299 对 common cell-cell interaction pairs。 + +### 评分组件 + +对于配体 \(l\)、受体 \(r\)、sender 细胞类型 \(s\) 和 receiver 细胞类型 \(t\),TopoLink-CCI 计算以下六个组件。 + +#### 1. Sender Anchor + +sender anchor 衡量配体是否在拓扑上贴近 sender 细胞群: + +\[ +A_{\mathrm{sender}}(l,s) = 1 - D_{\mathrm{topology}}(l,s) +\] + +其中 \(D_{\mathrm{topology}}(l,s)\) 表示配体 \(l\) 与 sender 细胞类型 \(s\) 之间的拓扑距离或不相似度。数值越高,说明配体越锚定到 sender。 + +#### 2. Receiver Anchor + +receiver anchor 衡量受体是否在拓扑上贴近 receiver 细胞群: + +\[ +A_{\mathrm{receiver}}(r,t) = 1 - D_{\mathrm{topology}}(r,t) +\] + +数值越高,说明受体越锚定到 receiver。 + +#### 3. Structure Bridge + +structure bridge 衡量 sender 和 receiver 在组织结构中是否存在合理连接: + +\[ +B(s,t) = 1 - D_{\mathrm{structure}}(s,t) +\] + +该项提高那些发生在结构上相邻、相连或组织生态位上相关的 sender-receiver 组合的得分。 + +#### 4. Sender Expression Support + +sender expression support 衡量配体 \(l\) 是否在 sender 细胞群 \(s\) 中表达。pyXenium 使用 pseudobulk-detection 组合评分: + +\[ +E(l,s) = \mathrm{rowNorm}\left(P(l,s)\sqrt{F(l,s)}\right) +\] + +其中 \(P(l,s)\) 是配体 \(l\) 在 sender \(s\) 中的 pseudobulk 表达份额,\(F(l,s)\) 是 sender 细胞中检测到该配体的细胞比例。 + +#### 5. Receiver Expression Support + +receiver expression support 以同样方式计算: + +\[ +E(r,t) = \mathrm{rowNorm}\left(P(r,t)\sqrt{F(r,t)}\right) +\] + +该项要求受体在 receiver 细胞群中有表达支持。 + +#### 6. Local Contact Support + +local contact support 衡量局部相邻的 sender 和 receiver 细胞是否共同表达该配体-受体组合: + +\[ +C(l,r,s,t) = +\mathbb{1}_{N_{s,t} \geq N_{\min}} +\sqrt{S_{\mathrm{norm}}(l,r,s,t) \cdot Q(l,r,s,t)} +\cdot W(N_{s,t}) +\] + +其中 \(N_{s,t}\) 是 sender-receiver 局部边数量,\(N_{\min}\) 是最小边数阈值,\(S_{\mathrm{norm}}\) 是标准化后的局部边表达强度,\(Q\) 是活跃边覆盖比例,\(W\) 是边数支持项。当前实现可使用 K 近邻或半径邻域构建局部空间图。 + +### 最终得分 + +最终得分为先验加权的几何平均: + +\[ +\mathrm{TopoLink\mbox{-}LR}(l,r,s,t) += +\pi(l,r) +\cdot +\mathrm{GM} +\left[ +A_{\mathrm{sender}}, +A_{\mathrm{receiver}}, +B, +E_{\mathrm{sender}}, +E_{\mathrm{receiver}}, +C +\right] +\] + +其中 \(\pi(l,r)\) 是配体-受体先验置信度,GM 为几何平均。使用几何平均的原因是:一个可信的 LR 轴应当同时得到多个证据组件支持;某一个组件极高不应完全补偿拓扑、表达或局部接触证据的缺失。 + +### 输出结果 + +TopoLink-CCI 输出一个按 sender-receiver 配体-受体候选轴排序的表格。主要列包括: + +| 列名 | 含义 | +|---|---| +| `ligand` | 配体基因名 | +| `receptor` | 受体基因名 | +| `sender` | sender 细胞类型 | +| `receiver` | receiver 细胞类型 | +| `CCI_score` | TopoLink-CCI 发现评分 | +| `sender_anchor` | 配体-sender 拓扑支持 | +| `receiver_anchor` | 受体-receiver 拓扑支持 | +| `structure_bridge` | sender-receiver 结构支持 | +| `sender_expr` | sender 中配体表达支持 | +| `receiver_expr` | receiver 中受体表达支持 | +| `local_contact` | 局部空间接触支持 | +| `prior_confidence` | 配体-受体数据库先验 | +| `cross_edge_count` | 局部 sender-receiver 边数量 | + +### 结果解释 + +TopoLink-CCI 应被理解为一种 **空间约束的候选排序方法**。高 `CCI_score` 表示该配体-受体轴同时获得拓扑、表达、组织结构和局部接触支持,但它本身不能证明蛋白分泌、受体结合或下游信号激活。 + +推荐的解释方式是: + +> "该配体-受体轴是一个由 Xenium WTA 拓扑和局部组织结构支持的高优先级空间细胞通讯候选假设。" + +### Benchmark 示例 + +在 Atera Xenium WTA 乳腺癌 benchmark 中,TopoLink-CCI 生成了 1,319,600 条 full common-database 结果。排名第一的轴为: + +| CCI pair | Sender -> Receiver | CCI_score | 生物学解释 | +|---|---|---:|---| +| `VWF-SELP` | Endothelial Cells -> Endothelial Cells | 0.791289 | 内皮激活 / Weibel-Palade body / 血管黏附状态 | + +该轴同时具有较高的 sender anchor、receiver anchor、structure bridge、表达支持和可测量的 endothelial-endothelial 局部接触: + +| 组件 | 数值 | +|---|---:| +| `sender_anchor` | 0.955713 | +| `receiver_anchor` | 0.881913 | +| `structure_bridge` | 1.000000 | +| `sender_expr` | 1.000000 | +| `receiver_expr` | 1.000000 | +| `local_contact` | 0.291245 | +| `prior_confidence` | 1.000000 | + +### 验证策略 + +参考经典 LR/CCC 方法论文中的计算型防假阳性思想,TopoLink-CCI 发现需要通过以下独立证据层验证: + +1. **表达特异性:** 配体在 sender 中富集,受体在 receiver 中富集。 +2. **细胞标签置换:** 真实 sender-receiver 特异性高于随机 cell-type label。 +3. **空间 null:** 真实局部接触高于随机或置换后的空间邻域。 +4. **表达匹配随机基因对:** 真实 LR 轴优于表达水平相近的随机 gene pairs。 +5. **下游靶基因支持:** receiver 细胞具有兼容的靶基因或通路活性。 +6. **跨方法一致性:** 相关生物学主题可被 CellPhoneDB、LIANA、SpatialDM、stLearn、LARIS、Squidpy、CellChat、COMMOT、SpaTalk 或其他方法支持。 +7. **组件消融:** 高分结果不是由单一组件人为推高。 +8. **重采样稳定性:** 在分层 bootstrap 子采样中,高分轴排名稳定。 + +在当前 PDC clean validation run 中,七条具有明确生物学解释的 TopoLink-CCI 轴被评为 strong computational support:`VWF-SELP`、`VWF-LRP1`、`MMRN2-CD93`、`CD48-CD2`、`DLL4-NOTCH3`、`CXCL12-CXCR4` 和 `JAG1-NOTCH2`。 + +### 方法优势 + +TopoLink-CCI 对 Xenium WTA 数据具有以下优势: + +1. 显式利用空间拓扑,而不仅仅依赖 pseudobulk 表达。 +2. 对缺乏局部细胞接触的 LR 假设进行惩罚。 +3. 保留组件级诊断,使生物学解释更加透明。 +4. 能自然结合 pyXenium 的 topology、contour、pathway 和 mechanostress 分析。 +5. 可通过统一输出 schema 与空间和非空间 LR 方法进行 benchmark。 + +### 局限性 + +TopoLink-CCI 也有重要局限: + +1. RNA 共定位不能证明蛋白水平分泌、受体结合或功能激活。 +2. 高分同细胞类型轴可能反映共享细胞状态,而不一定是经典旁分泌信号。 +3. 方法依赖细胞类型注释和拓扑推断质量。 +4. 细胞类型特异性极强的高表达基因可能得到高分,因此仍需 null controls。 +5. 配体-受体数据库质量会影响候选集合。 +6. 若要提出因果机制,仍需要功能实验或蛋白层验证。 + +### 论文推荐表述 + +建议在论文中这样描述: + +> "我们使用 TopoLink-CCI,一种在 pyXenium 中实现的拓扑引导局部互作评分方法,对空间配体-受体候选轴进行排序。TopoLink-CCI 综合配体-sender 拓扑锚定、受体-receiver 拓扑锚定、sender-receiver 结构桥接、sender 和 receiver 表达支持以及局部空间接触。随后,我们使用表达特异性、置换 null、空间 controls、表达匹配随机基因对、跨方法一致性、下游靶基因支持、组件消融和 bootstrap 稳定性对候选轴进行验证。因此,我们将高分轴解释为具有计算证据支持的空间细胞通讯假设,而不是蛋白水平信号传递的直接证明。" + +### 参考文献 + +1. Efremova M, et al. CellPhoneDB: inferring cell-cell communication from combined expression of multi-subunit cell-cell interaction complexes. *Nature Protocols*. 2020. https://www.nature.com/articles/s41596-020-0292-x +2. Jin S, et al. Inference and analysis of cell-cell communication using CellChat. *Nature Communications*. 2021. https://www.nature.com/articles/s41467-021-21246-9 +3. Browaeys R, et al. NicheNet: modeling intercellular communication by linking ligands to target genes. *Nature Methods*. 2020. https://www.nature.com/articles/s41592-019-0667-5 +4. Dimitrov D, et al. Comparison of methods and resources for cell-cell communication inference from single-cell RNA-seq data. *Nature Communications*. 2022. https://www.nature.com/articles/s41467-022-30755-0 +5. Palla G, et al. Squidpy: a scalable framework for spatial omics analysis. *Nature Methods*. 2022. https://www.nature.com/articles/s41592-021-01358-2 +6. Pham D, et al. stLearn: integrating spatial location, tissue morphology and gene expression to find cell-cell interactions. *Nature Communications*. 2023. https://www.nature.com/articles/s41467-023-43120-6 +7. Li H, et al. SpatialDM for spatially resolved transcriptomics cell-cell interaction inference. *Nature Communications*. 2023. https://www.nature.com/articles/s41467-023-39608-w +8. Cang Z, et al. Screening cell-cell communication in spatial transcriptomics via collective optimal transport. *Nature Methods*. 2023. https://www.nature.com/articles/s41592-022-01728-4 +9. Shao X, et al. SpaTalk: inferring spatially resolved cell-cell communication. *Nature Communications*. 2022. https://www.nature.com/articles/s41467-022-32111-8 diff --git a/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/figures/topolink_cci_validation_figure.pdf b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/figures/topolink_cci_validation_figure.pdf new file mode 100644 index 0000000..677dd2c Binary files /dev/null and b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/figures/topolink_cci_validation_figure.pdf differ diff --git a/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/figures/topolink_cci_validation_figure.png b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/figures/topolink_cci_validation_figure.png new file mode 100644 index 0000000..9d0fa89 Binary files /dev/null and b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/figures/topolink_cci_validation_figure.png differ diff --git a/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/params.json b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/params.json new file mode 100644 index 0000000..fffc722 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/params.json @@ -0,0 +1,6 @@ +{ + "root": "/cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04", + "output_dir": "/cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/validation/topolink_cci_false_positive_controls_shared", + "n_matched_controls": 250, + "seed": 20260428 +} \ No newline at end of file diff --git a/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/run_summary.json b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/run_summary.json new file mode 100644 index 0000000..75e410e --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/run_summary.json @@ -0,0 +1,49 @@ +{ + "status": "success", + "runtime_seconds": 52.739, + "n_scores": 1319600, + "n_target_axes": 7, + "target_axes": [ + { + "axis_id": "VWF-SELP|Endothelial Cells->Endothelial Cells", + "evidence_class": "strong", + "support_count": 6 + }, + { + "axis_id": "VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated", + "evidence_class": "strong", + "support_count": 5 + }, + { + "axis_id": "MMRN2-CD93|Endothelial Cells->Endothelial Cells", + "evidence_class": "strong", + "support_count": 6 + }, + { + "axis_id": "CD48-CD2|T Lymphocytes->T Lymphocytes", + "evidence_class": "strong", + "support_count": 6 + }, + { + "axis_id": "DLL4-NOTCH3|Endothelial Cells->Pericytes", + "evidence_class": "strong", + "support_count": 5 + }, + { + "axis_id": "CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes", + "evidence_class": "strong", + "support_count": 5 + }, + { + "axis_id": "JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells", + "evidence_class": "moderate", + "support_count": 4 + } + ], + "outputs": { + "evidence": "/cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/validation/topolink_cci_false_positive_controls_shared/tables/topolink_cci_validation_evidence.tsv", + "controls": "/cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/validation/topolink_cci_false_positive_controls_shared/tables/topolink_cci_false_positive_controls.tsv", + "scoreboard": "/cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/validation/topolink_cci_false_positive_controls_shared/topolink_cci_validation_scoreboard.md", + "figure": "/cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/validation/topolink_cci_false_positive_controls_shared/figures/topolink_cci_validation_figure.png" + } +} \ No newline at end of file diff --git a/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_component_ablation.tsv b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_component_ablation.tsv new file mode 100644 index 0000000..3f55128 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_component_ablation.tsv @@ -0,0 +1,50 @@ +axis_id removed_component score_without_component rank_without_component +VWF-SELP|Endothelial Cells->Endothelial Cells sender_anchor 0.7972857392911651 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated sender_anchor 0.7536441590057466 4 +MMRN2-CD93|Endothelial Cells->Endothelial Cells sender_anchor 0.7125678529202889 14 +DLL4-NOTCH3|Endothelial Cells->Pericytes sender_anchor 0.6790747556139168 28 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes sender_anchor 0.6743531931310739 33 +CD48-CD2|T Lymphocytes->T Lymphocytes sender_anchor 0.6935160950384847 20 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells sender_anchor 0.6587434848395158 43 +VWF-SELP|Endothelial Cells->Endothelial Cells receiver_anchor 0.8080365281394246 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated receiver_anchor 0.7874256371615272 2 +MMRN2-CD93|Endothelial Cells->Endothelial Cells receiver_anchor 0.7257852420645114 10 +DLL4-NOTCH3|Endothelial Cells->Pericytes receiver_anchor 0.6836951692860163 27 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes receiver_anchor 0.6733001253395631 37 +CD48-CD2|T Lymphocytes->T Lymphocytes receiver_anchor 0.6976271933807175 20 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells receiver_anchor 0.6788097405077063 32 +VWF-SELP|Endothelial Cells->Endothelial Cells structure_bridge 0.7912892254406051 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated structure_bridge 0.7899855906874971 2 +MMRN2-CD93|Endothelial Cells->Endothelial Cells structure_bridge 0.710716588607183 16 +DLL4-NOTCH3|Endothelial Cells->Pericytes structure_bridge 0.6756766094906939 28 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes structure_bridge 0.7165895274301202 11 +CD48-CD2|T Lymphocytes->T Lymphocytes structure_bridge 0.6849876914223857 24 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells structure_bridge 0.6339180916556525 64 +VWF-SELP|Endothelial Cells->Endothelial Cells sender_expr 0.7912892254406051 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated sender_expr 0.7479758804762829 4 +MMRN2-CD93|Endothelial Cells->Endothelial Cells sender_expr 0.710716588607183 15 +DLL4-NOTCH3|Endothelial Cells->Pericytes sender_expr 0.6695148328230778 40 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes sender_expr 0.6616803560938078 46 +CD48-CD2|T Lymphocytes->T Lymphocytes sender_expr 0.6849876914223857 27 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells sender_expr 0.6339180916556525 74 +VWF-SELP|Endothelial Cells->Endothelial Cells receiver_expr 0.7912892254406051 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated receiver_expr 0.7479758804762829 3 +MMRN2-CD93|Endothelial Cells->Endothelial Cells receiver_expr 0.710716588607183 12 +DLL4-NOTCH3|Endothelial Cells->Pericytes receiver_expr 0.6855927184481351 25 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes receiver_expr 0.6616803560938078 47 +CD48-CD2|T Lymphocytes->T Lymphocytes receiver_expr 0.6849876914223857 26 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells receiver_expr 0.6339180916556525 82 +VWF-SELP|Endothelial Cells->Endothelial Cells local_contact 0.9719087998908531 13 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated local_contact 0.8926222806830125 566 +MMRN2-CD93|Endothelial Cells->Endothelial Cells local_contact 0.9766940588323647 9 +DLL4-NOTCH3|Endothelial Cells->Pericytes local_contact 0.9342339246883292 86 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes local_contact 0.890385654319548 708 +CD48-CD2|T Lymphocytes->T Lymphocytes local_contact 0.9698076148830775 16 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells local_contact 0.8986734151214785 387 +VWF-SELP|Endothelial Cells->Endothelial Cells prior_confidence 0.7912892254406051 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated prior_confidence 0.7479758804762829 2 +MMRN2-CD93|Endothelial Cells->Endothelial Cells prior_confidence 0.710716588607183 10 +DLL4-NOTCH3|Endothelial Cells->Pericytes prior_confidence 0.6695148328230778 24 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes prior_confidence 0.6616803560938078 28 +CD48-CD2|T Lymphocytes->T Lymphocytes prior_confidence 0.6849876914223857 16 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells prior_confidence 0.6339180916556525 45 diff --git a/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_cross_method_support_detail.tsv b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_cross_method_support_detail.tsv new file mode 100644 index 0000000..4e94fb3 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_cross_method_support_detail.tsv @@ -0,0 +1,36 @@ +axis_id method exact_support same_lr_any_celltype_support same_sender_receiver_support exact_best_rank same_lr_best_rank same_lr_best_score_std artifact_path +VWF-SELP|Endothelial Cells->Endothelial Cells cellphonedb True True True 692.0 692.0 0.9994161168645052 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv.gz +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated cellphonedb True True True 2.0 2.0 0.99999915501717 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv.gz +MMRN2-CD93|Endothelial Cells->Endothelial Cells cellphonedb True True True 1352.0 1352.0 0.9988584281967392 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv.gz +DLL4-NOTCH3|Endothelial Cells->Pericytes cellphonedb True True True 2869.0 2869.0 0.9975765892437064 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv.gz +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes cellphonedb True True True 171.0 171.0 0.9998563529189088 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv.gz +CD48-CD2|T Lymphocytes->T Lymphocytes cellphonedb True True True 6381.0 6381.0 0.994609009544926 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv.gz +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells cellphonedb True True True 2782.0 1232.0 0.9989598261363328 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv.gz +VWF-SELP|Endothelial Cells->Endothelial Cells laris True True True 2845.0 2845.0 0.9978205811017408 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated laris True True True 18.0 18.0 0.9999869725311988 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +MMRN2-CD93|Endothelial Cells->Endothelial Cells laris True True True 5577.0 5577.0 0.99572699023323 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +DLL4-NOTCH3|Endothelial Cells->Pericytes laris True True True 9878.0 9878.0 0.9924310406265446 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes laris True True True 226.0 226.0 0.9998275776188086 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +CD48-CD2|T Lymphocytes->T Lymphocytes laris True True True 15762.0 15762.0 0.987922003777966 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells laris True True True 2153.0 889.0 0.9993195063355648 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +VWF-SELP|Endothelial Cells->Endothelial Cells liana True True True 8450.0 1616.0 0.9978299106836924 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv.gz +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated liana True True True 58588.0 3227.0 0.9956651962016048 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv.gz +MMRN2-CD93|Endothelial Cells->Endothelial Cells liana True True True 6324.0 3314.0 0.9955482935573206 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv.gz +DLL4-NOTCH3|Endothelial Cells->Pericytes liana True True True 81639.0 32868.0 0.955836330923168 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv.gz +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes liana True True True 69984.0 9542.0 0.9871796766768476 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv.gz +CD48-CD2|T Lymphocytes->T Lymphocytes liana True True True 23050.0 23050.0 0.9690288615160526 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv.gz +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells liana True True True 1437.0 170.0 0.9997729132542068 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv.gz +VWF-SELP|Endothelial Cells->Endothelial Cells spatialdm True True True 1967.0 1896.0 0.9957513401775244 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated spatialdm True True True 13686.0 13543.0 0.9696383370364308 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +MMRN2-CD93|Endothelial Cells->Endothelial Cells spatialdm True True True 5602.0 5520.0 0.9876261986489486 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +DLL4-NOTCH3|Endothelial Cells->Pericytes spatialdm True True True 22202.0 22100.0 0.9504532277483448 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes spatialdm True True True 16101.0 16018.0 0.964089295843488 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +CD48-CD2|T Lymphocytes->T Lymphocytes spatialdm True True True 4354.0 4221.0 0.9905386045114264 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells spatialdm True True True 9527.0 9527.0 0.9786423570084952 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +VWF-SELP|Endothelial Cells->Endothelial Cells stlearn True True True 86660.0 86572.0 0.8286676126749274 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated stlearn True True True 111879.0 111727.0 0.7788834331787658 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +MMRN2-CD93|Endothelial Cells->Endothelial Cells stlearn True True True 114076.0 113983.0 0.7744185908435108 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +DLL4-NOTCH3|Endothelial Cells->Pericytes stlearn True True True 39734.0 39614.0 0.921602039261322 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes stlearn True True True 40249.0 40158.0 0.9205254106131044 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +CD48-CD2|T Lymphocytes->T Lymphocytes stlearn True True True 181555.0 181401.0 0.6409918441421705 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells stlearn True True True 36606.0 36606.0 0.9275551623749954 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz diff --git a/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_expression_gene_specificity.tsv b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_expression_gene_specificity.tsv new file mode 100644 index 0000000..e50665c --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_expression_gene_specificity.tsv @@ -0,0 +1,217 @@ +gene detected_in_wta top_celltype_rank cell_type mean_expr detection_fraction +ANGPT2 True 1.0 CAFs, Invasive Associated 0.07923019245188703 0.056235939264297485 +ANGPT2 True 2.0 Pericytes 0.07468777049585755 0.05440830811858177 +ANGPT2 True 3.0 Endothelial Cells 0.06064471243042672 0.0460343211889267 +ANGPT2 True 4.0 Mast Cells 0.02710027100271003 0.027100270614027977 +ANGPT2 True 5.0 11q13 Invasive Tumor Cells (Mitotic) 0.0231519090170593 0.01909017004072666 +CCL19 True 1.0 Pericytes 0.16520341288487697 0.053171757608652115 +CCL19 True 2.0 Endothelial Cells 0.0912569573283859 0.04359925910830498 +CCL19 True 3.0 T Lymphocytes 0.08605637316038912 0.05238214135169983 +CCL19 True 4.0 Dendritic Cells 0.07784431137724551 0.04241516813635826 +CCL19 True 5.0 B Cells 0.04856687898089172 0.029458599165081978 +CCL21 True 1.0 Endothelial Cells 0.02481447124304267 0.01982838660478592 +CCL21 True 2.0 Myeloid Cells 0.02214022140221402 0.019680196419358253 +CCL21 True 3.0 Pericytes 0.017559045381476443 0.013725732453167439 +CCL21 True 4.0 Apocrine Cells 0.01488833746898263 0.014888337813317776 +CCL21 True 5.0 Plasma Cells 0.012600229095074456 0.010309278033673763 +CCND1 True 1.0 11q13 Invasive Tumor Cells (Mitotic) 45.75142160844842 0.995938241481781 +CCND1 True 2.0 11q13 Invasive Tumor Cells (G1/S) 44.573715248525694 0.9978938698768616 +CCND1 True 3.0 11q13 Invasive Tumor Cells 35.123071397339 0.991645336151123 +CCND1 True 4.0 Basal-like Structured DCIS Cells 14.588698630136987 0.928196370601654 +CCND1 True 5.0 Luminal-like Amorphous DCIS Cells 5.254068160884249 0.8043444752693176 +CD2 True 1.0 T Lymphocytes 0.49837864804190574 0.3382389545440674 +CD2 True 2.0 B Cells 0.09156050955414012 0.07762739062309265 +CD2 True 3.0 Plasma Cells 0.07331042382588775 0.05154639109969139 +CD2 True 4.0 Dendritic Cells 0.060129740518962076 0.049151696264743805 +CD2 True 5.0 Mast Cells 0.04607046070460705 0.04065040498971939 +CD3D True 1.0 T Lymphocytes 0.7599151908206535 0.42105263471603394 +CD3D True 2.0 B Cells 0.1664012738853503 0.10748407989740372 +CD3D True 3.0 Plasma Cells 0.1111111111111111 0.07445590198040009 +CD3D True 4.0 Mast Cells 0.08401084010840108 0.056910570710897446 +CD3D True 5.0 Dendritic Cells 0.08383233532934131 0.057135727256536484 +CD3E True 1.0 T Lymphocytes 1.2775006235969069 0.6097530722618103 +CD3E True 2.0 B Cells 0.2929936305732484 0.20700636506080627 +CD3E True 3.0 Plasma Cells 0.1775486827033219 0.0996563583612442 +CD3E True 4.0 Dendritic Cells 0.12250499001996008 0.08283433318138123 +CD3E True 5.0 Mast Cells 0.056910569105691054 0.046070460230112076 +CD48 True 1.0 T Lymphocytes 0.5604888999750561 0.37989524006843567 +CD48 True 2.0 Dendritic Cells 0.5446606786427146 0.33582833409309387 +CD48 True 3.0 Plasma Cells 0.3104238258877434 0.2279496043920517 +CD48 True 4.0 Mast Cells 0.20596205962059622 0.16802167892456055 +CD48 True 5.0 B Cells 0.18431528662420382 0.14331209659576416 +CD63 False +CD93 True 1.0 Endothelial Cells 0.9689239332096475 0.5012755393981934 +CD93 True 2.0 Pericytes 0.23234821318164955 0.16285395622253418 +CD93 True 3.0 Dendritic Cells 0.2315369261477046 0.16017964482307434 +CD93 True 4.0 Macrophages 0.1983941983941984 0.139860138297081 +CD93 True 5.0 Mast Cells 0.08130081300813008 0.056910570710897446 +CLEC14A True 1.0 Endothelial Cells 1.3179499072356216 0.5895176529884338 +CLEC14A True 2.0 Pericytes 0.31643378261407196 0.20934833586215973 +CLEC14A True 3.0 Myeloid Cells 0.0959409594095941 0.084870845079422 +CLEC14A True 4.0 CAFs, Invasive Associated 0.07173206698325418 0.05373656749725342 +CLEC14A True 5.0 11q13 Invasive Tumor Cells (Mitotic) 0.06498781478472786 0.058489032089710236 +COL4A1 True 1.0 Endothelial Cells 2.700139146567718 0.6525974273681641 +COL4A1 True 2.0 CAFs, Invasive Associated 2.4473881529617594 0.6213446855545044 +COL4A1 True 3.0 Pericytes 1.5722764931371336 0.5163843035697937 +COL4A1 True 4.0 CAFs, DCIS Associated 0.6216348907618034 0.3171180784702301 +COL4A1 True 5.0 Myoepithelial Cells 0.40009480919649204 0.2188907265663147 +COL4A2 True 1.0 Endothelial Cells 1.5338589981447124 0.5666744112968445 +COL4A2 True 2.0 CAFs, Invasive Associated 1.4781304673831541 0.5351161956787109 +COL4A2 True 3.0 Pericytes 1.0337578830221343 0.4361320734024048 +COL4A2 True 4.0 CAFs, DCIS Associated 0.5452499795434089 0.33074215054512024 +COL4A2 True 5.0 Myoepithelial Cells 0.5319981038160702 0.31879591941833496 +CXCL12 True 1.0 CAFs, DCIS Associated 3.649660420587513 0.7872514724731445 +CXCL12 True 2.0 CAFs, Invasive Associated 1.556610847288178 0.4851287305355072 +CXCL12 True 3.0 Endothelial Cells 1.3608534322820036 0.47993969917297363 +CXCL12 True 4.0 Macrophages 1.0893550893550894 0.40663039684295654 +CXCL12 True 5.0 Pericytes 1.0134784221590207 0.37875601649284363 +CXCR3 True 1.0 T Lymphocytes 0.034048391119980044 0.03280119597911835 +CXCR3 True 2.0 Plasma Cells 0.014891179839633447 0.014891180209815502 +CXCR3 True 3.0 Dendritic Cells 0.011477045908183632 0.010479042306542397 +CXCR3 True 4.0 Myeloid Cells 0.008610086100861008 0.008610086515545845 +CXCR3 True 5.0 Mast Cells 0.008130081300813009 0.008130080997943878 +CXCR4 True 1.0 T Lymphocytes 0.9085806934397606 0.4825392961502075 +CXCR4 True 2.0 Dendritic Cells 0.6749001996007984 0.3540419042110443 +CXCR4 True 3.0 Plasma Cells 0.36769759450171824 0.21305841207504272 +CXCR4 True 4.0 B Cells 0.21934713375796178 0.1675955355167389 +CXCR4 True 5.0 Macrophages 0.1761201761201761 0.1339031308889389 +DLL4 True 1.0 Endothelial Cells 0.476461038961039 0.2467532455921173 +DLL4 True 2.0 Pericytes 0.10634351428218128 0.07703722268342972 +DLL4 True 3.0 Myeloid Cells 0.04551045510455105 0.03198032081127167 +DLL4 True 4.0 11q13 Invasive Tumor Cells (Mitotic) 0.038180341186027617 0.03452477604150772 +DLL4 True 5.0 Plasma Cells 0.020618556701030927 0.019473081454634666 +EMCN True 1.0 Endothelial Cells 1.4728664192949907 0.6341604590415955 +EMCN True 2.0 Pericytes 0.32274020032150363 0.21491281688213348 +EMCN True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.09057676685621446 0.07514216005802155 +EMCN True 4.0 Myeloid Cells 0.06888068880688807 0.05781057849526405 +EMCN True 5.0 Plasma Cells 0.06758304696449026 0.05841924250125885 +FLT1 True 1.0 Endothelial Cells 1.5473098330241188 0.6168830990791321 +FLT1 True 2.0 Pericytes 0.3560034623469766 0.23519228398799896 +FLT1 True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.24654752233956134 0.20633630454540253 +FLT1 True 4.0 Myeloid Cells 0.21648216482164823 0.16851168870925903 +FLT1 True 5.0 Apocrine Cells 0.15632754342431762 0.14640198647975922 +HES1 True 1.0 11q13 Invasive Tumor Cells (Mitotic) 0.4435418359057677 0.307879775762558 +HES1 True 2.0 Luminal-like Amorphous DCIS Cells 0.40067546822229044 0.2689591646194458 +HES1 True 3.0 11q13 Invasive Tumor Cells (G1/S) 0.33403538331929233 0.24136479198932648 +HES1 True 4.0 11q13 Invasive Tumor Cells 0.2922418639515273 0.21926729381084442 +HES1 True 5.0 Basal-like Structured DCIS Cells 0.2264840182648402 0.1742009073495865 +HEY1 True 1.0 Endothelial Cells 0.24570964749536178 0.15584415197372437 +HEY1 True 2.0 11q13 Invasive Tumor Cells (Mitotic) 0.17749796913078797 0.1486596316099167 +HEY1 True 3.0 Basal-like Structured DCIS Cells 0.1430365296803653 0.10844749212265015 +HEY1 True 4.0 Myoepithelial Cells 0.1268073003081299 0.10630480945110321 +HEY1 True 5.0 Myeloid Cells 0.10947109471094711 0.08733087033033371 +HSPG2 True 1.0 Endothelial Cells 5.104359925788497 0.8711734414100647 +HSPG2 True 2.0 CAFs, Invasive Associated 2.2671832041989504 0.6923269033432007 +HSPG2 True 3.0 Pericytes 1.1843699765055027 0.48237913846969604 +HSPG2 True 4.0 CAFs, DCIS Associated 0.8459618689141641 0.4324932396411896 +HSPG2 True 5.0 Myoepithelial Cells 0.5875799952595402 0.3209291398525238 +IL7R True 1.0 T Lymphocytes 0.20990271888251436 0.15851832926273346 +IL7R True 2.0 Myeloid Cells 0.05289052890528905 0.046740468591451645 +IL7R True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.05280259951259139 0.05158407613635063 +IL7R True 4.0 Apocrine Cells 0.04714640198511166 0.04466501250863075 +IL7R True 5.0 Dendritic Cells 0.046656686626746505 0.037425149232149124 +JAG1 True 1.0 11q13 Invasive Tumor Cells (Mitotic) 1.9065800162469537 0.7083671689033508 +JAG1 True 2.0 11q13 Invasive Tumor Cells 1.4774345680554688 0.6293959617614746 +JAG1 True 3.0 11q13 Invasive Tumor Cells (G1/S) 1.3336141533277168 0.5867733955383301 +JAG1 True 4.0 Luminal-like Amorphous DCIS Cells 1.0723825606386246 0.5086736083030701 +JAG1 True 5.0 Basal-like Structured DCIS Cells 0.6257990867579909 0.3481735289096832 +KDR True 1.0 Endothelial Cells 2.37569573283859 0.6372912526130676 +KDR True 2.0 Pericytes 0.6527760603437616 0.3185359239578247 +KDR True 3.0 CAFs, Invasive Associated 0.10547363159210198 0.06723318994045258 +KDR True 4.0 Myeloid Cells 0.09471094710947109 0.084870845079422 +KDR True 5.0 Basal-like Structured DCIS Cells 0.08367579908675798 0.06061643734574318 +LCK True 1.0 T Lymphocytes 0.6152407084060864 0.3986031413078308 +LCK True 2.0 B Cells 0.11544585987261147 0.0927547737956047 +LCK True 3.0 Plasma Cells 0.08476517754868271 0.06643757224082947 +LCK True 4.0 Myeloid Cells 0.06150061500615006 0.05166051536798477 +LCK True 5.0 Dendritic Cells 0.058632734530938126 0.04466067999601364 +LRP1 True 1.0 CAFs, Invasive Associated 2.662834291427143 0.7233191728591919 +LRP1 True 2.0 CAFs, DCIS Associated 2.585713116766222 0.7374191880226135 +LRP1 True 3.0 Dendritic Cells 1.0197105788423153 0.44386228919029236 +LRP1 True 4.0 Macrophages 0.9233359233359233 0.440559446811676 +LRP1 True 5.0 Myoepithelial Cells 0.4869637354823418 0.302085816860199 +MMP2 True 1.0 CAFs, DCIS Associated 1.4687423287783323 0.5307257771492004 +MMP2 True 2.0 CAFs, Invasive Associated 1.3129217695576105 0.4966258406639099 +MMP2 True 3.0 Endothelial Cells 0.2912801484230056 0.1832096427679062 +MMP2 True 4.0 Dendritic Cells 0.2657185628742515 0.15668663382530212 +MMP2 True 5.0 Myoepithelial Cells 0.2623844512917753 0.1821521669626236 +MMRN2 True 1.0 Endothelial Cells 1.2184601113172542 0.5637755393981934 +MMRN2 True 2.0 Pericytes 0.2594287127488562 0.17744527757167816 +MMRN2 True 3.0 Basal-like Structured DCIS Cells 0.06746575342465753 0.05319634824991226 +MMRN2 True 4.0 Myoepithelial Cells 0.06245555818914435 0.05131547898054123 +MMRN2 True 5.0 Mast Cells 0.04607046070460705 0.0379403792321682 +MYC True 1.0 Basal-like Structured DCIS Cells 1.5598173515981735 0.5699771642684937 +MYC True 2.0 Endothelial Cells 1.1174628942486085 0.4582560360431671 +MYC True 3.0 11q13 Invasive Tumor Cells (G1/S) 0.9334456613310868 0.45408591628074646 +MYC True 4.0 11q13 Invasive Tumor Cells 0.8824879755137734 0.44670185446739197 +MYC True 5.0 11q13 Invasive Tumor Cells (Mitotic) 0.8273761169780666 0.43013811111450195 +NOTCH1 True 1.0 Endothelial Cells 0.5613404452690167 0.35366418957710266 +NOTCH1 True 2.0 Basal-like Structured DCIS Cells 0.4221461187214612 0.263812780380249 +NOTCH1 True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.30381803411860275 0.22542648017406464 +NOTCH1 True 4.0 Pericytes 0.22517620873006058 0.15951527655124664 +NOTCH1 True 5.0 Myoepithelial Cells 0.2188907324010429 0.15868689119815826 +NOTCH2 True 1.0 Apocrine Cells 2.1861042183622827 0.7171216011047363 +NOTCH2 True 2.0 11q13 Invasive Tumor Cells 1.3958398400899494 0.607002317905426 +NOTCH2 True 3.0 11q13 Invasive Tumor Cells (Mitotic) 1.334281072298944 0.6255077123641968 +NOTCH2 True 4.0 Luminal-like Amorphous DCIS Cells 1.1538992938286767 0.5558028817176819 +NOTCH2 True 5.0 11q13 Invasive Tumor Cells (G1/S) 1.0602358887952823 0.5395956039428711 +NOTCH3 True 1.0 Pericytes 2.3809818226783728 0.5623840689659119 +NOTCH3 True 2.0 CAFs, Invasive Associated 1.1647088227943014 0.4973756670951843 +NOTCH3 True 3.0 Luminal-like Amorphous DCIS Cells 0.9322229045133559 0.4947804808616638 +NOTCH3 True 4.0 Endothelial Cells 0.7337662337662337 0.27516233921051025 +NOTCH3 True 5.0 Basal-like Structured DCIS Cells 0.6931506849315069 0.3960045576095581 +NOTCH4 True 1.0 Endothelial Cells 0.4457328385899815 0.28038033843040466 +NOTCH4 True 2.0 Myoepithelial Cells 0.10997866793078928 0.09042426943778992 +NOTCH4 True 3.0 Pericytes 0.08445653517991838 0.0650426596403122 +NOTCH4 True 4.0 Basal-like Structured DCIS Cells 0.07682648401826483 0.06255707889795303 +NOTCH4 True 5.0 11q13 Invasive Tumor Cells (Mitotic) 0.07636068237205523 0.06986190378665924 +PDGFRB True 1.0 CAFs, Invasive Associated 0.6135966008497875 0.3709072768688202 +PDGFRB True 2.0 Pericytes 0.42549771237789047 0.2529986500740051 +PDGFRB True 3.0 CAFs, DCIS Associated 0.32493249324932494 0.2368464171886444 +PDGFRB True 4.0 Endothelial Cells 0.15213358070500926 0.10227272659540176 +PDGFRB True 5.0 Dendritic Cells 0.05189620758483034 0.0416666679084301 +PECAM1 True 1.0 Endothelial Cells 4.5438311688311686 0.8918135166168213 +PECAM1 True 2.0 Plasma Cells 1.7445589919816724 0.6300114393234253 +PECAM1 True 3.0 Pericytes 1.0775318412266601 0.4703845679759979 +PECAM1 True 4.0 Dendritic Cells 0.7437624750499002 0.4149201512336731 +PECAM1 True 5.0 Macrophages 0.4421134421134421 0.28671327233314514 +PLAT True 1.0 11q13 Invasive Tumor Cells 8.869838840652132 0.956024706363678 +PLAT True 2.0 11q13 Invasive Tumor Cells (Mitotic) 7.280259951259139 0.9549146890640259 +PLAT True 3.0 11q13 Invasive Tumor Cells (G1/S) 6.233361415332772 0.9182813763618469 +PLAT True 4.0 Apocrine Cells 3.3101736972704714 0.8114144206047058 +PLAT True 5.0 Luminal-like Amorphous DCIS Cells 2.8183143997543754 0.6322535872459412 +RGS5 True 1.0 Pericytes 0.6418943984172129 0.3001112937927246 +RGS5 True 2.0 Endothelial Cells 0.5906771799628943 0.3025278151035309 +RGS5 True 3.0 CAFs, Invasive Associated 0.10747313171707074 0.06723318994045258 +RGS5 True 4.0 Myeloid Cells 0.07995079950799508 0.06519065052270889 +RGS5 True 5.0 Mast Cells 0.07859078590785908 0.0731707289814949 +SELP True 1.0 Endothelial Cells 0.7355055658627088 0.259508341550827 +SELP True 2.0 Pericytes 0.10980586125881044 0.07270928472280502 +SELP True 3.0 T Lymphocytes 0.06023946121227239 0.050511348992586136 +SELP True 4.0 Myeloid Cells 0.05166051660516605 0.04428044334053993 +SELP True 5.0 Plasma Cells 0.043528064146620846 0.03665521368384361 +SERPINE1 True 1.0 CAFs, Invasive Associated 0.3504123969007748 0.20569857954978943 +SERPINE1 True 2.0 Myoepithelial Cells 0.05724105238208106 0.03507940098643303 +SERPINE1 True 3.0 Endothelial Cells 0.05322356215213358 0.04012059420347214 +SERPINE1 True 4.0 CAFs, DCIS Associated 0.04107683495622289 0.03358972445130348 +SERPINE1 True 5.0 Dendritic Cells 0.036926147704590816 0.03168662637472153 +THBD True 1.0 Endothelial Cells 0.8287337662337663 0.40491652488708496 +THBD True 2.0 Pericytes 0.2860145913194015 0.18770866096019745 +THBD True 3.0 Dendritic Cells 0.1217564870259481 0.09356287121772766 +THBD True 4.0 CAFs, Invasive Associated 0.10847288177955511 0.0794801265001297 +THBD True 5.0 Myeloid Cells 0.08487084870848709 0.07503075152635574 +THBS2 True 1.0 CAFs, Invasive Associated 1.8375406148462885 0.5576105713844299 +THBS2 True 2.0 CAFs, DCIS Associated 1.6160297847966616 0.5173472166061401 +THBS2 True 3.0 Dendritic Cells 0.1317365269461078 0.071856290102005 +THBS2 True 4.0 CXCL14+ Fibroblasts 0.11588330632090761 0.07698541134595871 +THBS2 True 5.0 Pericytes 0.1151230369729195 0.07122542709112167 +TRAC True 1.0 T Lymphocytes 2.8600648540783236 0.7904714345932007 +TRAC True 2.0 B Cells 0.6871019108280255 0.3626592457294464 +TRAC True 3.0 Plasma Cells 0.33791523482245134 0.1477663218975067 +TRAC True 4.0 Dendritic Cells 0.24176646706586827 0.1230039894580841 +TRAC True 5.0 CAFs, Invasive Associated 0.15571107223194203 0.10172457247972488 +VWF True 1.0 Endothelial Cells 6.707908163265306 0.8781307935714722 +VWF True 2.0 Pericytes 1.29108445653518 0.4304439127445221 +VWF True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.11169780666125101 0.09423232823610306 +VWF True 4.0 Dendritic Cells 0.11052894211576847 0.05913173779845238 +VWF True 5.0 Mast Cells 0.10840108401084012 0.08130080997943878 diff --git a/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_false_positive_controls.tsv b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_false_positive_controls.tsv new file mode 100644 index 0000000..000494f --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_false_positive_controls.tsv @@ -0,0 +1,36 @@ +axis_id control_type observed expected_or_control_mean z_or_rank p_or_percentile note +VWF-SELP|Endothelial Cells->Endothelial Cells spatial_abundance_null 12779.0 3498.750466020217 157.09499064265975 0.0 cell-type-label abundance null for graph edge count +VWF-SELP|Endothelial Cells->Endothelial Cells lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +VWF-SELP|Endothelial Cells->Endothelial Cells lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated spatial_abundance_null 13942.0 9916.101448337911 40.577088952341676 0.0 cell-type-label abundance null for graph edge count +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +MMRN2-CD93|Endothelial Cells->Endothelial Cells spatial_abundance_null 12779.0 3498.750466020217 157.09499064265975 0.0 cell-type-label abundance null for graph edge count +MMRN2-CD93|Endothelial Cells->Endothelial Cells lr_label_permutation_same_sender_receiver 5.0 3299.0 5.0 0.9987875113670809 rank percentile against all LR pairs in the same sender-receiver cell-type pair +MMRN2-CD93|Endothelial Cells->Endothelial Cells lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +DLL4-NOTCH3|Endothelial Cells->Pericytes spatial_abundance_null 11379.0 3280.889960425034 141.55074144031974 0.0 cell-type-label abundance null for graph edge count +DLL4-NOTCH3|Endothelial Cells->Pericytes lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +DLL4-NOTCH3|Endothelial Cells->Pericytes lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes spatial_abundance_null 11604.0 9219.306750089676 24.92068208259856 2.220471678964988e-137 cell-type-label abundance null for graph edge count +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes lr_label_permutation_same_sender_receiver 2.0 3299.0 2.0 0.9996968778417702 rank percentile against all LR pairs in the same sender-receiver cell-type pair +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +CD48-CD2|T Lymphocytes->T Lymphocytes spatial_abundance_null 21212.0 3024.318857794739 331.09056328473696 0.0 cell-type-label abundance null for graph edge count +CD48-CD2|T Lymphocytes->T Lymphocytes lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +CD48-CD2|T Lymphocytes->T Lymphocytes lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells spatial_abundance_null 423716.0 192905.1692550145 567.2684147856648 0.0 cell-type-label abundance null for graph edge count +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells lr_label_permutation_same_sender_receiver 10.0 3299.0 10.0 0.9972719005759321 rank percentile against all LR pairs in the same sender-receiver cell-type pair +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +VWF-SELP|Endothelial Cells->Endothelial Cells matched_gene_expression_control 0.690919789894645 0.1174789121765555 6.674917611699146 1.0 matched by global mean expression and detection fraction +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated matched_gene_expression_control 0.8904867455342288 0.1132557384471686 11.234674798948532 1.0 matched by global mean expression and detection fraction +MMRN2-CD93|Endothelial Cells->Endothelial Cells matched_gene_expression_control 0.7291144166273554 0.13022764647610297 6.198278570208171 1.0 matched by global mean expression and detection fraction +DLL4-NOTCH3|Endothelial Cells->Pericytes matched_gene_expression_control 0.6103430039507179 0.10700066735274656 8.301941713984622 1.0 matched by global mean expression and detection fraction +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes matched_gene_expression_control 0.7850757124806441 0.1029738649850631 11.218977606863426 1.0 matched by global mean expression and detection fraction +CD48-CD2|T Lymphocytes->T Lymphocytes matched_gene_expression_control 0.5987173848132842 0.10702942070910819 9.860708047779738 1.0 matched by global mean expression and detection fraction +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells matched_gene_expression_control 0.6593758884575077 0.6351644259334726 0.3126368933035661 0.576 matched by global mean expression and detection fraction +CD48-CD2|T Lymphocytes->T Lymphocytes component_ablation_max_rank 27.0 16.0 27.0 worst and best rank after removing one score component +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes component_ablation_max_rank 708.0 11.0 708.0 worst and best rank after removing one score component +DLL4-NOTCH3|Endothelial Cells->Pericytes component_ablation_max_rank 86.0 24.0 86.0 worst and best rank after removing one score component +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells component_ablation_max_rank 387.0 32.0 387.0 worst and best rank after removing one score component +MMRN2-CD93|Endothelial Cells->Endothelial Cells component_ablation_max_rank 16.0 9.0 16.0 worst and best rank after removing one score component +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated component_ablation_max_rank 566.0 2.0 566.0 worst and best rank after removing one score component +VWF-SELP|Endothelial Cells->Endothelial Cells component_ablation_max_rank 13.0 1.0 13.0 worst and best rank after removing one score component diff --git a/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_matched_gene_controls.tsv b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_matched_gene_controls.tsv new file mode 100644 index 0000000..59725eb --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_matched_gene_controls.tsv @@ -0,0 +1,8 @@ +axis_id matched_gene_status n_controls observed_expression_specificity_score control_mean control_sd matched_gene_z matched_gene_percentile +VWF-SELP|Endothelial Cells->Endothelial Cells success 250 0.690919789894645 0.1174789121765555 0.08590980609453787 6.674917611699146 1.0 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated success 250 0.8904867455342288 0.1132557384471686 0.06918144236447345 11.234674798948532 1.0 +MMRN2-CD93|Endothelial Cells->Endothelial Cells success 250 0.7291144166273554 0.13022764647610297 0.09662146729412627 6.198278570208171 1.0 +DLL4-NOTCH3|Endothelial Cells->Pericytes success 250 0.6103430039507179 0.10700066735274656 0.060629471265751134 8.301941713984622 1.0 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes success 250 0.7850757124806441 0.1029738649850631 0.06079893118587669 11.218977606863426 1.0 +CD48-CD2|T Lymphocytes->T Lymphocytes success 250 0.5987173848132842 0.10702942070910819 0.04986335278579571 9.860708047779738 1.0 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells success 250 0.6593758884575077 0.6351644259334726 0.07744275561402209 0.3126368933035661 0.576 diff --git a/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_spatial_null_summary.tsv b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_spatial_null_summary.tsv new file mode 100644 index 0000000..b93a219 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_spatial_null_summary.tsv @@ -0,0 +1,8 @@ +axis_id observed_cross_edge_count expected_cross_edge_count_abundance_null cross_edge_enrichment_fold cross_edge_enrichment_z cross_edge_enrichment_p_approx local_contact contact_coverage within_sender_receiver_rank within_sender_receiver_n within_sender_receiver_percentile within_lr_pair_rank within_lr_pair_n within_lr_pair_percentile +VWF-SELP|Endothelial Cells->Endothelial Cells 12779 3498.750466020217 3.652446816116025 157.09499064265975 0.0 0.2912449657481761 0.1111198059316065 1 3299 1.0 1 400 1.0 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated 13942 9916.101448337911 1.4059961036740796 40.577088952341676 0.0 0.3461937505325735 0.1319036006311863 1 3299 1.0 1 400 1.0 +MMRN2-CD93|Endothelial Cells->Endothelial Cells 12779 3498.750466020217 3.652446816116025 157.09499064265975 0.0 0.1484661470807383 0.0288754988653259 5 3299 0.9987875113670809 1 400 1.0 +DLL4-NOTCH3|Endothelial Cells->Pericytes 11379 3280.889960425034 3.4682662744732435 141.55074144031974 0.0 0.135465098207694 0.0303190087002372 1 3299 1.0 1 400 1.0 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes 11604 9219.306750089676 1.258662968328625 24.92068208259856 2.220471678964988e-137 0.1684304172162009 0.0450706652878317 2 3299 0.9996968778417702 1 400 1.0 +CD48-CD2|T Lymphocytes->T Lymphocytes 21212 3024.318857794739 7.0138107115687145 331.09056328473696 0.0 0.1241603897223811 0.0154158023760135 1 3299 1.0 1 400 1.0 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells 423716 192905.1692550145 2.1964989410929725 567.2684147856648 0.0 0.1231934200799743 0.0168391092146626 10 3299 0.9972719005759321 1 400 1.0 diff --git a/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_validation_evidence.tsv b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_validation_evidence.tsv new file mode 100644 index 0000000..b0758c8 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/tables/topolink_cci_validation_evidence.tsv @@ -0,0 +1,15 @@ +axis_id biology_label ligand receptor sender_celltype receiver_celltype CCI_score global_rank sender_anchor receiver_anchor structure_bridge sender_expr receiver_expr local_contact_x prior_confidence cross_edge_count sender receiver ligand_sender_mean ligand_sender_detection_fraction ligand_sender_celltype_rank ligand_sender_specificity_ratio receptor_receiver_mean receptor_receiver_detection_fraction receptor_receiver_celltype_rank receptor_receiver_specificity_ratio observed_cross_edge_count expected_cross_edge_count_abundance_null cross_edge_enrichment_fold cross_edge_enrichment_z cross_edge_enrichment_p_approx local_contact_y contact_coverage within_sender_receiver_rank within_sender_receiver_n within_sender_receiver_percentile within_lr_pair_rank within_lr_pair_n within_lr_pair_percentile matched_gene_status n_controls observed_expression_specificity_score control_mean control_sd matched_gene_z matched_gene_percentile max_rank_after_component_removal min_rank_after_component_removal cross_method_exact_count cross_method_same_lr_count cross_method_same_sender_receiver_count supporting_methods_exact supporting_methods_same_lr target_panel_present_n receiver_context_panel_score receiver_context_panel_genes expression_support spatial_abundance_null_support matched_gene_control_support component_ablation_support cross_method_support receiver_context_support support_count evidence_class axis_label +VWF-SELP|Endothelial Cells->Endothelial Cells WPB / endothelial activation VWF SELP Endothelial Cells Endothelial Cells 0.7912892368005828 1 0.955713094717548 0.8819126042133903 1.0 1.0 1.0 0.2912449657481761 1.0 12779 Endothelial Cells Endothelial Cells 6.707908163265306 0.8781307935714722 1 1.0 0.7355055658627088 0.259508341550827 1 1.0 12779 3498.750466020217 3.652446816116025 157.09499064265975 0.0 0.2912449657481761 0.1111198059316065 1 3299 1.0 1 400 1.0 success 250 0.690919789894645 0.1174789121765555 0.08590980609453787 6.674917611699146 1.0 13 1 5 5 5 cellphonedb,laris,liana,spatialdm,stlearn cellphonedb,laris,liana,spatialdm,stlearn 6 0.6656207262750022 VWF,SELP,ANGPT2,THBD,PLAT,SERPINE1 True True True True True True 6 strong "VWF-SELP +Endothelial Cells -> Endothelial Cells" +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated vascular-stromal matrix/scavenger axis VWF LRP1 Endothelial Cells CAFs, DCIS Associated 0.7479758913021439 2 0.955713094717548 0.7346293219749174 0.7204611100467462 1.0 1.0 0.3461937505325735 1.0 13942 Endothelial Cells CAFs, DCIS Associated 6.707908163265306 0.8781307935714722 1 1.0 2.585713116766222 0.7374191880226135 2 0.971037936942149 13942 9916.101448337911 1.4059961036740796 40.577088952341676 0.0 0.3461937505325735 0.1319036006311863 1 3299 1.0 1 400 1.0 success 250 0.8904867455342288 0.1132557384471686 0.06918144236447345 11.234674798948532 1.0 566 2 5 5 5 cellphonedb,laris,liana,spatialdm,stlearn cellphonedb,laris,liana,spatialdm,stlearn 7 0.5161052675482147 VWF,LRP1,HSPG2,COL4A1,COL4A2,MMP2,THBS2 True True True False True True 5 strong "VWF-LRP1 +Endothelial Cells -> CAFs, DCIS Associated" +MMRN2-CD93|Endothelial Cells->Endothelial Cells CD93-MMRN2 angiogenesis MMRN2 CD93 Endothelial Cells Endothelial Cells 0.7107166026857937 10 0.9845127857250529 0.8817184225858201 1.0 1.0 1.0 0.1484661470807383 1.0 12779 Endothelial Cells Endothelial Cells 1.2184601113172542 0.5637755393981934 1 1.0 0.9689239332096475 0.5012755393981934 1 1.0 12779 3498.750466020217 3.652446816116025 157.09499064265975 0.0 0.1484661470807383 0.0288754988653259 5 3299 0.9987875113670809 1 400 1.0 success 250 0.7291144166273554 0.13022764647610297 0.09662146729412627 6.198278570208171 1.0 16 9 5 5 5 cellphonedb,laris,liana,spatialdm,stlearn cellphonedb,laris,liana,spatialdm,stlearn 7 1.0 MMRN2,CD93,CLEC14A,KDR,FLT1,PECAM1,EMCN True True True True True True 6 strong "MMRN2-CD93 +Endothelial Cells -> Endothelial Cells" +CD48-CD2|T Lymphocytes->T Lymphocytes T-cell adhesion/co-stimulation CD48 CD2 T Lymphocytes T Lymphocytes 0.6849877065459009 16 0.928447473463448 0.8960994285623033 1.0 1.0 1.0 0.1241603897223811 1.0 21212 T Lymphocytes T Lymphocytes 0.5604888999750561 0.37989524006843567 1 1.0 0.49837864804190574 0.3382389545440674 1 1.0 21212 3024.318857794739 7.0138107115687145 331.09056328473696 0.0 0.1241603897223811 0.0154158023760135 1 3299 1.0 1 400 1.0 success 250 0.5987173848132842 0.10702942070910819 0.04986335278579571 9.860708047779738 1.0 27 16 5 5 5 cellphonedb,laris,liana,spatialdm,stlearn cellphonedb,laris,liana,spatialdm,stlearn 7 1.0 CD48,CD2,CD3D,CD3E,TRAC,IL7R,LCK True True True True True True 6 strong "CD48-CD2 +T Lymphocytes -> T Lymphocytes" +DLL4-NOTCH3|Endothelial Cells->Pericytes endothelial-pericyte Notch DLL4 NOTCH3 Endothelial Cells Pericytes 0.6695148471220083 24 0.9184503888425788 0.8818326005152037 0.946515890536252 1.0 0.8672894033034337 0.135465098207694 1.0 11379 Endothelial Cells Pericytes 0.476461038961039 0.2467532455921173 1 1.0 2.3809818226783728 0.5623840689659119 1 1.0 11379 3280.889960425034 3.4682662744732435 141.55074144031974 0.0 0.135465098207694 0.0303190087002372 1 3299 1.0 1 400 1.0 success 250 0.6103430039507179 0.10700066735274656 0.060629471265751134 8.301941713984622 1.0 86 24 5 5 5 cellphonedb,laris,liana,spatialdm,stlearn cellphonedb,laris,liana,spatialdm,stlearn 8 0.48688694950414185 DLL4,NOTCH3,NOTCH4,JAG1,HEY1,HES1,PDGFRB,RGS5 True True True True True False 5 strong "DLL4-NOTCH3 +Endothelial Cells -> Pericytes" +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes CAF-immune chemokine recruitment CXCL12 CXCR4 CAFs, DCIS Associated T Lymphocytes 0.6616803690861207 28 0.8924110508951895 0.9008184599638702 0.6198216015396206 1.0 1.0 0.1684304172162009 1.0 11604 CAFs, DCIS Associated T Lymphocytes 3.649660420587513 0.7872514724731445 1 1.0 0.9085806934397606 0.4825392961502075 1 1.0 11604 9219.306750089676 1.258662968328625 24.92068208259856 2.220471678964988e-137 0.1684304172162009 0.0450706652878317 2 3299 0.9996968778417702 1 400 1.0 success 250 0.7850757124806441 0.1029738649850631 0.06079893118587669 11.218977606863426 1.0 708 11 5 5 5 cellphonedb,laris,liana,spatialdm,stlearn cellphonedb,laris,liana,spatialdm,stlearn 8 0.7664489835769633 CXCL12,CXCR4,CXCR3,CCL19,CCL21,CD3D,CD3E,IL7R True True True False True True 5 strong "CXCL12-CXCR4 +CAFs, DCIS Associated -> T Lymphocytes" +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells tumor-intrinsic Notch signaling JAG1 NOTCH2 11q13 Invasive Tumor Cells 11q13 Invasive Tumor Cells 0.6339181063246662 45 0.7941469661104034 0.663300745568453 1.0 1.0 1.0 0.1231934200799743 1.0 423716 11q13 Invasive Tumor Cells 11q13 Invasive Tumor Cells 1.4774345680554688 0.6293959617614746 2 0.7749134866963281 1.3958398400899494 0.607002317905426 2 0.6385056249219633 423716 192905.1692550145 2.1964989410929725 567.2684147856648 0.0 0.1231934200799743 0.0168391092146626 10 3299 0.9972719005759321 1 400 1.0 success 250 0.6593758884575077 0.6351644259334726 0.07744275561402209 0.3126368933035661 0.576 387 32 5 5 5 cellphonedb,laris,liana,spatialdm,stlearn cellphonedb,laris,liana,spatialdm,stlearn 7 0.5860530033828537 JAG1,NOTCH2,NOTCH1,HES1,HEY1,MYC,CCND1 True True False False True True 4 moderate "JAG1-NOTCH2 +11q13 Invasive Tumor Cells -> 11q13 Invasive Tumor Cells" diff --git a/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/topolink_cci_false_positive_controls.tsv b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/topolink_cci_false_positive_controls.tsv new file mode 100644 index 0000000..000494f --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/topolink_cci_false_positive_controls.tsv @@ -0,0 +1,36 @@ +axis_id control_type observed expected_or_control_mean z_or_rank p_or_percentile note +VWF-SELP|Endothelial Cells->Endothelial Cells spatial_abundance_null 12779.0 3498.750466020217 157.09499064265975 0.0 cell-type-label abundance null for graph edge count +VWF-SELP|Endothelial Cells->Endothelial Cells lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +VWF-SELP|Endothelial Cells->Endothelial Cells lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated spatial_abundance_null 13942.0 9916.101448337911 40.577088952341676 0.0 cell-type-label abundance null for graph edge count +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +MMRN2-CD93|Endothelial Cells->Endothelial Cells spatial_abundance_null 12779.0 3498.750466020217 157.09499064265975 0.0 cell-type-label abundance null for graph edge count +MMRN2-CD93|Endothelial Cells->Endothelial Cells lr_label_permutation_same_sender_receiver 5.0 3299.0 5.0 0.9987875113670809 rank percentile against all LR pairs in the same sender-receiver cell-type pair +MMRN2-CD93|Endothelial Cells->Endothelial Cells lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +DLL4-NOTCH3|Endothelial Cells->Pericytes spatial_abundance_null 11379.0 3280.889960425034 141.55074144031974 0.0 cell-type-label abundance null for graph edge count +DLL4-NOTCH3|Endothelial Cells->Pericytes lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +DLL4-NOTCH3|Endothelial Cells->Pericytes lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes spatial_abundance_null 11604.0 9219.306750089676 24.92068208259856 2.220471678964988e-137 cell-type-label abundance null for graph edge count +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes lr_label_permutation_same_sender_receiver 2.0 3299.0 2.0 0.9996968778417702 rank percentile against all LR pairs in the same sender-receiver cell-type pair +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +CD48-CD2|T Lymphocytes->T Lymphocytes spatial_abundance_null 21212.0 3024.318857794739 331.09056328473696 0.0 cell-type-label abundance null for graph edge count +CD48-CD2|T Lymphocytes->T Lymphocytes lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +CD48-CD2|T Lymphocytes->T Lymphocytes lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells spatial_abundance_null 423716.0 192905.1692550145 567.2684147856648 0.0 cell-type-label abundance null for graph edge count +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells lr_label_permutation_same_sender_receiver 10.0 3299.0 10.0 0.9972719005759321 rank percentile against all LR pairs in the same sender-receiver cell-type pair +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +VWF-SELP|Endothelial Cells->Endothelial Cells matched_gene_expression_control 0.690919789894645 0.1174789121765555 6.674917611699146 1.0 matched by global mean expression and detection fraction +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated matched_gene_expression_control 0.8904867455342288 0.1132557384471686 11.234674798948532 1.0 matched by global mean expression and detection fraction +MMRN2-CD93|Endothelial Cells->Endothelial Cells matched_gene_expression_control 0.7291144166273554 0.13022764647610297 6.198278570208171 1.0 matched by global mean expression and detection fraction +DLL4-NOTCH3|Endothelial Cells->Pericytes matched_gene_expression_control 0.6103430039507179 0.10700066735274656 8.301941713984622 1.0 matched by global mean expression and detection fraction +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes matched_gene_expression_control 0.7850757124806441 0.1029738649850631 11.218977606863426 1.0 matched by global mean expression and detection fraction +CD48-CD2|T Lymphocytes->T Lymphocytes matched_gene_expression_control 0.5987173848132842 0.10702942070910819 9.860708047779738 1.0 matched by global mean expression and detection fraction +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells matched_gene_expression_control 0.6593758884575077 0.6351644259334726 0.3126368933035661 0.576 matched by global mean expression and detection fraction +CD48-CD2|T Lymphocytes->T Lymphocytes component_ablation_max_rank 27.0 16.0 27.0 worst and best rank after removing one score component +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes component_ablation_max_rank 708.0 11.0 708.0 worst and best rank after removing one score component +DLL4-NOTCH3|Endothelial Cells->Pericytes component_ablation_max_rank 86.0 24.0 86.0 worst and best rank after removing one score component +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells component_ablation_max_rank 387.0 32.0 387.0 worst and best rank after removing one score component +MMRN2-CD93|Endothelial Cells->Endothelial Cells component_ablation_max_rank 16.0 9.0 16.0 worst and best rank after removing one score component +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated component_ablation_max_rank 566.0 2.0 566.0 worst and best rank after removing one score component +VWF-SELP|Endothelial Cells->Endothelial Cells component_ablation_max_rank 13.0 1.0 13.0 worst and best rank after removing one score component diff --git a/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/topolink_cci_validation_scoreboard.md b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/topolink_cci_validation_scoreboard.md new file mode 100644 index 0000000..c5a6269 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_false_positive_controls_shared/topolink_cci_validation_scoreboard.md @@ -0,0 +1,41 @@ +# TopoLink-CCI validation evidence scoreboard + +This PDC run applies the computational false-positive-control logic used by classic CCC/LR papers: expression specificity, spatial/label nulls, matched-gene controls, component ablation, cross-method triangulation, and receiver-context support. It is computational evidence, not wet-lab proof. + +## Evidence classes + +- Strong axes: 6 +- Moderate axes: 1 +- Hypothesis-only axes: 0 + +axis_label biology_label CCI_score global_rank evidence_class support_count cross_method_same_lr_count matched_gene_percentile cross_edge_enrichment_z max_rank_after_component_removal +"VWF-SELP +Endothelial Cells -> Endothelial Cells" WPB / endothelial activation 0.7912892368005828 1 strong 6 5 1.0 157.09499064265975 13 +"VWF-LRP1 +Endothelial Cells -> CAFs, DCIS Associated" vascular-stromal matrix/scavenger axis 0.7479758913021439 2 strong 5 5 1.0 40.577088952341676 566 +"MMRN2-CD93 +Endothelial Cells -> Endothelial Cells" CD93-MMRN2 angiogenesis 0.7107166026857937 10 strong 6 5 1.0 157.09499064265975 16 +"CD48-CD2 +T Lymphocytes -> T Lymphocytes" T-cell adhesion/co-stimulation 0.6849877065459009 16 strong 6 5 1.0 331.09056328473696 27 +"DLL4-NOTCH3 +Endothelial Cells -> Pericytes" endothelial-pericyte Notch 0.6695148471220083 24 strong 5 5 1.0 141.55074144031974 86 +"CXCL12-CXCR4 +CAFs, DCIS Associated -> T Lymphocytes" CAF-immune chemokine recruitment 0.6616803690861207 28 strong 5 5 1.0 24.92068208259856 708 +"JAG1-NOTCH2 +11q13 Invasive Tumor Cells -> 11q13 Invasive Tumor Cells" tumor-intrinsic Notch signaling 0.6339181063246662 45 moderate 4 5 0.576 567.2684147856648 387 + + +## Control interpretation + +- `spatial_abundance_null`: compares observed sender-receiver graph edges with a label-abundance null; it is conservative about exact geometry but catches cell-type-pair edge enrichment. +- `matched_gene_control`: compares ligand/receptor sender-receiver expression specificity with genes matched by global mean and detection. +- `lr_label_permutation`: reports where the candidate ranks within the same sender-receiver cell-type pair and within the same LR pair across cell-type pairs. +- `component_ablation`: recomputes geometric-mean LR scores after removing one pyXenium component at a time. + +## References to validation patterns + +- CellPhoneDB: curated LR database, complex filtering, and cell-label permutation specificity. +- CellChat: mass-action communication probability, curated cofactors/complexes, and label permutation. +- NicheNet: downstream receiver target-gene support rather than co-expression alone. +- stLearn/SpatialDM/Squidpy: spatially constrained LR evidence and permutation/random-pair controls. +- LIANA benchmark: multi-method consensus and rank aggregation because no single LR score is ground truth. diff --git a/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_validation_shared_20101850.stderr.log b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_validation_shared_20101850.stderr.log new file mode 100644 index 0000000..085a9c2 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_collected/topolink_cci_validation_shared_20101850.stderr.log @@ -0,0 +1,23 @@ + Command being timed: "/cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/envs/python/pyxenium/bin/python /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/repo/benchmarking/cci_2026_atera/scripts/topolink_cci_validation_framework.py --root /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04 --output-dir /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/validation/topolink_cci_false_positive_controls_shared --n-matched-controls 250 --seed 20260428" + User time (seconds): 61.97 + System time (seconds): 6.23 + Percent of CPU this job got: 97% + Elapsed (wall clock) time (h:mm:ss or m:ss): 1:10.11 + Average shared text size (kbytes): 0 + Average unshared data size (kbytes): 0 + Average stack size (kbytes): 0 + Average total size (kbytes): 0 + Maximum resident set size (kbytes): 8749684 + Average resident set size (kbytes): 0 + Major (requiring I/O) page faults: 3035 + Minor (reclaiming a frame) page faults: 424067 + Voluntary context switches: 14563 + Involuntary context switches: 615 + Swaps: 0 + File system inputs: 1822958 + File system outputs: 688 + Socket messages sent: 0 + Socket messages received: 0 + Signals delivered: 0 + Page size (bytes): 4096 + Exit status: 0 diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/figures/topolink_cci_validation_v2_evidence_matrix.pdf b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/figures/topolink_cci_validation_v2_evidence_matrix.pdf new file mode 100644 index 0000000..00b26e8 Binary files /dev/null and b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/figures/topolink_cci_validation_v2_evidence_matrix.pdf differ diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/figures/topolink_cci_validation_v2_evidence_matrix.png b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/figures/topolink_cci_validation_v2_evidence_matrix.png new file mode 100644 index 0000000..163d594 Binary files /dev/null and b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/figures/topolink_cci_validation_v2_evidence_matrix.png differ diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/figures/topolink_cci_validation_v2_support_counts.pdf b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/figures/topolink_cci_validation_v2_support_counts.pdf new file mode 100644 index 0000000..f3be6ef Binary files /dev/null and b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/figures/topolink_cci_validation_v2_support_counts.pdf differ diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/figures/topolink_cci_validation_v2_support_counts.png b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/figures/topolink_cci_validation_v2_support_counts.png new file mode 100644 index 0000000..6e4c0b3 Binary files /dev/null and b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/figures/topolink_cci_validation_v2_support_counts.png differ diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/params.json b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/params.json new file mode 100644 index 0000000..0bf4652 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/params.json @@ -0,0 +1,14 @@ +{ + "root": "/cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04", + "output_dir": "/cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/validation/topolink_cci_validation_v2", + "expected_score_rows": 1319600, + "n_label_permutations": 500, + "n_spatial_permutations": 300, + "n_spatial_matched_pairs": 120, + "n_matched_controls": 250, + "n_downstream_permutations": 120, + "n_bootstraps": 5, + "bootstrap_fraction": 0.8, + "k_neighbors": 10, + "seed": 20260428 +} \ No newline at end of file diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/figure_caption.md b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/figure_caption.md new file mode 100644 index 0000000..f12d544 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/figure_caption.md @@ -0,0 +1,10 @@ +# Figure caption + +**Figure. TopoLink-CCI discoveries pass multi-layer computational false-positive controls.** +**A**, Schematic of the validation framework. pyXenium nominates candidate ligand-receptor axes, which are then evaluated with validation principles adapted from CellPhoneDB/Squidpy, CellChat, stLearn/SpatialDM, NicheNet, LIANA, and pyXenium-specific robustness checks. +**B**, Evidence matrix across seven biologically interpretable LR axes. Filled circles indicate evidence layers that passed the pre-specified thresholds. All seven axes were classified as strong and none were flagged as contamination/artifact risk. +**C**, Quantitative strength of selected controls: cell-label permutation FDR, spatial-null FDR, matched-gene z-score, and downstream target FDR. The top-ranked axis, VWF-SELP, had CCI_score=0.791, label-permutation FDR=0.002, spatial-null FDR=0.00465, and matched-gene z=6.67. +**D**, Bootstrap and component-ablation robustness. Bootstrap ranks are medians from five 80% stratified resamples; ablation shows the worst rank after removing one pyXenium score component at a time. +**E**, Biological interpretation cards for the retained LR axes. These results support computational credibility, but do not prove protein-level ligand-receptor binding, secretion, or functional causality. + +Supplementary Fig. S1 visualizes saved null summaries in standardized z-space; raw permutation draws were not retained. Supplementary Fig. S2 shows per-axis validation cards and weak evidence layers. diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/figure_caption_readable.md b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/figure_caption_readable.md new file mode 100644 index 0000000..808d280 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/figure_caption_readable.md @@ -0,0 +1,8 @@ +# Readable figure caption + +**Figure. Orthogonal computational controls support TopoLink-CCI discoveries.** +**A**, TopoLink-CCI scores are used to nominate candidate ligand-receptor axes, which are then tested with independent control layers adapted from classic LR/CCC methods: permutation, spatial nulls, matched-gene controls, downstream/received-signal support, cross-method consensus, component ablation, and bootstrap stability. +**B**, Readable evidence table for seven biologically interpretable LR axes, ordered by pyXenium rank. The compact gates show label permutation, spatial null, matched-gene control, and downstream target support; full nine-layer support is included in source data. All seven axes are classified as strong. `CXCL12-CXCR4` is spatial-null weak but supported by other evidence layers; `JAG1-NOTCH2` has weaker matched-gene/downstream support but still meets the strong threshold. +**C**, Summary support counts and interpretive take-home points. The selected LR axes reach the pre-specified strong threshold of at least five independent computational evidence layers, and none are flagged for platelet/RBC contamination. + +This figure summarizes computational credibility only; it does not prove protein-level binding, secretion, or functional signaling. diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_main_figure.pdf b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_main_figure.pdf new file mode 100644 index 0000000..967e018 Binary files /dev/null and b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_main_figure.pdf differ diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_main_figure.png b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_main_figure.png new file mode 100644 index 0000000..329ba17 Binary files /dev/null and b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_main_figure.png differ diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_main_figure.svg b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_main_figure.svg new file mode 100644 index 0000000..aad4be0 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_main_figure.svg @@ -0,0 +1,6952 @@ + + + diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_main_figure_readable.pdf b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_main_figure_readable.pdf new file mode 100644 index 0000000..bb72cb4 Binary files /dev/null and b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_main_figure_readable.pdf differ diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_main_figure_readable.png b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_main_figure_readable.png new file mode 100644 index 0000000..49a66db Binary files /dev/null and b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_main_figure_readable.png differ diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_main_figure_readable.svg b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_main_figure_readable.svg new file mode 100644 index 0000000..6721015 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_main_figure_readable.svg @@ -0,0 +1,5671 @@ + + + diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_publication_source_data.tsv b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_publication_source_data.tsv new file mode 100644 index 0000000..f142fe3 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_publication_source_data.tsv @@ -0,0 +1,8 @@ +lr_pair sender receiver biology_label CCI_score pyxenium_rank evidence_class support_count cell_label_perm_fdr spatial_null_fdr matched_gene_z downstream_target_fdr bootstrap_rank_median bootstrap_rank_iqr max_rank_after_ablation contamination_flag expression_specificity_support cell_label_permutation_support spatial_null_support matched_gene_control_support downstream_target_support functional_received_signal_support cross_method_support component_ablation_support bootstrap_stability_support +VWF-SELP Endothelial Cells Endothelial Cells WPB / endothelial activation 0.7912892368005828 1 strong 8 0.0019960079840319 0.0046511627906976 6.674917611699146 0.0271844660194174 1.0 0.0 13 False True True True True True True True False True +VWF-LRP1 Endothelial Cells CAFs, DCIS Associated vascular-stromal matrix/scavenger axis 0.7479758913021439 2 strong 8 0.0019960079840319 0.0046511627906976 11.234674798948532 0.0291319857312722 3.0 0.0 566 False True True True True True True True False True +MMRN2-CD93 Endothelial Cells Endothelial Cells CD93-MMRN2 angiogenesis 0.7107166026857937 10 strong 8 0.0019960079840319 0.0046511627906976 6.198278570208171 0.0083234244946492 2.0 0.0 16 False True True True True True True True False True +CD48-CD2 T Lymphocytes T Lymphocytes T-cell adhesion/co-stimulation 0.6849877065459009 16 strong 8 0.0019960079840319 0.0116279069767441 9.860708047779738 0.0083234244946492 5.0 0.0 27 False True True True True True True True False True +DLL4-NOTCH3 Endothelial Cells Pericytes endothelial-pericyte Notch 0.6695148471220083 24 strong 8 0.0019960079840319 0.0046511627906976 8.301941713984622 0.0254942767950052 6.0 0.0 86 False True True True True True True True False True +CXCL12-CXCR4 CAFs, DCIS Associated T Lymphocytes CAF-immune chemokine recruitment 0.6616803690861207 28 strong 7 0.0019960079840319 0.5813953488372093 11.218977606863426 0.0254942767950052 4.0 0.0 708 False True True False True True True True False True +JAG1-NOTCH2 11q13 Invasive Tumor Cells 11q13 Invasive Tumor Cells tumor-intrinsic Notch signaling 0.6339181063246662 45 strong 6 0.0019960079840319 0.0046511627906976 0.3126368933035661 0.6076099881093936 7.0 0.0 387 False True True True False False True True False True diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_supplementary_cards.png b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_supplementary_cards.png new file mode 100644 index 0000000..eef1aa8 Binary files /dev/null and b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_supplementary_cards.png differ diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_supplementary_controls.pdf b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_supplementary_controls.pdf new file mode 100644 index 0000000..330bff3 Binary files /dev/null and b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_supplementary_controls.pdf differ diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_supplementary_null_summary.png b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_supplementary_null_summary.png new file mode 100644 index 0000000..b5ed387 Binary files /dev/null and b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/publication_figures/topolink_cci_validation_supplementary_null_summary.png differ diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/topolink_cci_validation_v2_report.md b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/topolink_cci_validation_v2_report.md new file mode 100644 index 0000000..911a76c --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/topolink_cci_validation_v2_report.md @@ -0,0 +1,35 @@ +# TopoLink-CCI validation v2 + +This report applies the main computational false-positive controls used by classic LR/CCC papers to TopoLink-CCI axes. The result should be read as computational validation, not wet-lab proof. + +## Summary + +- strong: 7 +- moderate: 0 +- hypothesis_only: 0 +- artifact_risk: 0 + +ligand receptor sender receiver CCI_score pyxenium_rank evidence_class support_count cell_label_perm_fdr spatial_null_fdr matched_gene_z downstream_target_fdr cross_method_same_lr_count bootstrap_rank_median contamination_flag +VWF SELP Endothelial Cells Endothelial Cells 0.7912892368005828 1 strong 8 0.001996007984031936 0.004651162790697674 6.674917611699146 0.027184466019417475 5 1.0 False +VWF LRP1 Endothelial Cells CAFs, DCIS Associated 0.7479758913021439 2 strong 8 0.001996007984031936 0.004651162790697674 11.234674798948532 0.029131985731272295 5 3.0 False +MMRN2 CD93 Endothelial Cells Endothelial Cells 0.7107166026857937 10 strong 8 0.001996007984031936 0.004651162790697674 6.198278570208171 0.008323424494649227 5 2.0 False +CD48 CD2 T Lymphocytes T Lymphocytes 0.6849877065459009 16 strong 8 0.001996007984031936 0.011627906976744186 9.860708047779738 0.008323424494649227 5 5.0 False +DLL4 NOTCH3 Endothelial Cells Pericytes 0.6695148471220083 24 strong 8 0.001996007984031936 0.004651162790697674 8.301941713984622 0.025494276795005204 5 6.0 False +CXCL12 CXCR4 CAFs, DCIS Associated T Lymphocytes 0.6616803690861207 28 strong 7 0.001996007984031936 0.5813953488372093 11.218977606863426 0.025494276795005204 5 4.0 False +JAG1 NOTCH2 11q13 Invasive Tumor Cells 11q13 Invasive Tumor Cells 0.6339181063246662 45 strong 6 0.001996007984031936 0.004651162790697674 0.3126368933035661 0.6076099881093936 5 7.0 False + + +## Evidence layers implemented + +- CellPhoneDB/Squidpy-style cell-label permutation of ligand/receptor communication probability. +- CellChat-style sender/receiver group specificity and permutation significance. +- stLearn-style spatial-neighborhood LR co-expression plus matched-expression random gene pairs. +- SpatialDM-style spatial expression null based on ligand/receptor neighborhood coupling. +- NicheNet-style receiver target/pathway support using predefined biology panels. +- COMMOT/SpaTalk-style received-signal association with receiver target programs. +- LIANA-style cross-method consensus across completed benchmark methods. +- pyXenium component ablation and stratified bootstrap stability. + +## Caveat + +The framework reduces false-positive risk, but protein-level receptor binding, secretion, and functional causality require orthogonal experimental validation. diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/CD48_CD2_T_Lymphocytes_T_Lymphocytes.md b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/CD48_CD2_T_Lymphocytes_T_Lymphocytes.md new file mode 100644 index 0000000..78eedae --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/CD48_CD2_T_Lymphocytes_T_Lymphocytes.md @@ -0,0 +1,25 @@ +# CD48-CD2: T Lymphocytes -> T Lymphocytes + +- Biology label: T-cell adhesion/co-stimulation +- TopoLink-CCI_score: 0.684988 +- pyXenium rank: 16 +- Evidence class: strong +- Supported layers: 8/9 +- Interpretation: strong: 8/9 computational evidence layers support the axis; contamination_flag=False. + +## Key controls + +- `cell_label_perm_fdr`: 0.001996007984031936 +- `spatial_null_fdr`: 0.011627906976744186 +- `matched_gene_z`: 9.860708047779738 +- `matched_gene_percentile`: 1.0 +- `downstream_target_score`: 11.544674396514893 +- `downstream_target_fdr`: 0.008323424494649227 +- `received_signal_target_spearman`: 0.4228849179250702 +- `cross_method_exact_count`: 5 +- `cross_method_same_lr_count`: 5 +- `bootstrap_rank_median`: 5.0 +- `bootstrap_rank_iqr`: 0.0 +- `contamination_flag`: False + +This is computational support only; it does not prove protein-level binding or functional signaling. diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/CXCL12_CXCR4_CAFs_DCIS_Associated_T_Lymphocytes.md b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/CXCL12_CXCR4_CAFs_DCIS_Associated_T_Lymphocytes.md new file mode 100644 index 0000000..c673269 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/CXCL12_CXCR4_CAFs_DCIS_Associated_T_Lymphocytes.md @@ -0,0 +1,25 @@ +# CXCL12-CXCR4: CAFs, DCIS Associated -> T Lymphocytes + +- Biology label: CAF-immune chemokine recruitment +- TopoLink-CCI_score: 0.66168 +- pyXenium rank: 28 +- Evidence class: strong +- Supported layers: 7/9 +- Interpretation: strong: 7/9 computational evidence layers support the axis; contamination_flag=False. + +## Key controls + +- `cell_label_perm_fdr`: 0.001996007984031936 +- `spatial_null_fdr`: 0.5813953488372093 +- `matched_gene_z`: 11.218977606863426 +- `matched_gene_percentile`: 1.0 +- `downstream_target_score`: 6.800970241427422 +- `downstream_target_fdr`: 0.025494276795005204 +- `received_signal_target_spearman`: 0.4955612441859473 +- `cross_method_exact_count`: 5 +- `cross_method_same_lr_count`: 5 +- `bootstrap_rank_median`: 4.0 +- `bootstrap_rank_iqr`: 0.0 +- `contamination_flag`: False + +This is computational support only; it does not prove protein-level binding or functional signaling. diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/DLL4_NOTCH3_Endothelial_Cells_Pericytes.md b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/DLL4_NOTCH3_Endothelial_Cells_Pericytes.md new file mode 100644 index 0000000..5d1e52f --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/DLL4_NOTCH3_Endothelial_Cells_Pericytes.md @@ -0,0 +1,25 @@ +# DLL4-NOTCH3: Endothelial Cells -> Pericytes + +- Biology label: endothelial-pericyte Notch +- TopoLink-CCI_score: 0.669515 +- pyXenium rank: 24 +- Evidence class: strong +- Supported layers: 8/9 +- Interpretation: strong: 8/9 computational evidence layers support the axis; contamination_flag=False. + +## Key controls + +- `cell_label_perm_fdr`: 0.001996007984031936 +- `spatial_null_fdr`: 0.004651162790697674 +- `matched_gene_z`: 8.301941713984622 +- `matched_gene_percentile`: 1.0 +- `downstream_target_score`: 2.61274266988039 +- `downstream_target_fdr`: 0.025494276795005204 +- `received_signal_target_spearman`: 0.721750076253441 +- `cross_method_exact_count`: 5 +- `cross_method_same_lr_count`: 5 +- `bootstrap_rank_median`: 6.0 +- `bootstrap_rank_iqr`: 0.0 +- `contamination_flag`: False + +This is computational support only; it does not prove protein-level binding or functional signaling. diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/JAG1_NOTCH2_11q13_Invasive_Tumor_Cells_11q13_Invasive_Tumor_Cells.md b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/JAG1_NOTCH2_11q13_Invasive_Tumor_Cells_11q13_Invasive_Tumor_Cells.md new file mode 100644 index 0000000..8640779 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/JAG1_NOTCH2_11q13_Invasive_Tumor_Cells_11q13_Invasive_Tumor_Cells.md @@ -0,0 +1,25 @@ +# JAG1-NOTCH2: 11q13 Invasive Tumor Cells -> 11q13 Invasive Tumor Cells + +- Biology label: tumor-intrinsic Notch signaling +- TopoLink-CCI_score: 0.633918 +- pyXenium rank: 45 +- Evidence class: strong +- Supported layers: 6/9 +- Interpretation: strong: 6/9 computational evidence layers support the axis; contamination_flag=False. + +## Key controls + +- `cell_label_perm_fdr`: 0.001996007984031936 +- `spatial_null_fdr`: 0.004651162790697674 +- `matched_gene_z`: 0.3126368933035661 +- `matched_gene_percentile`: 0.576 +- `downstream_target_score`: 1.5110729336738586 +- `downstream_target_fdr`: 0.6076099881093936 +- `received_signal_target_spearman`: 0.5874875426315861 +- `cross_method_exact_count`: 5 +- `cross_method_same_lr_count`: 5 +- `bootstrap_rank_median`: 7.0 +- `bootstrap_rank_iqr`: 0.0 +- `contamination_flag`: False + +This is computational support only; it does not prove protein-level binding or functional signaling. diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/MMRN2_CD93_Endothelial_Cells_Endothelial_Cells.md b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/MMRN2_CD93_Endothelial_Cells_Endothelial_Cells.md new file mode 100644 index 0000000..689efcb --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/MMRN2_CD93_Endothelial_Cells_Endothelial_Cells.md @@ -0,0 +1,25 @@ +# MMRN2-CD93: Endothelial Cells -> Endothelial Cells + +- Biology label: CD93-MMRN2 angiogenesis +- TopoLink-CCI_score: 0.710717 +- pyXenium rank: 10 +- Evidence class: strong +- Supported layers: 8/9 +- Interpretation: strong: 8/9 computational evidence layers support the axis; contamination_flag=False. + +## Key controls + +- `cell_label_perm_fdr`: 0.001996007984031936 +- `spatial_null_fdr`: 0.004651162790697674 +- `matched_gene_z`: 6.198278570208171 +- `matched_gene_percentile`: 1.0 +- `downstream_target_score`: 11.116392135620117 +- `downstream_target_fdr`: 0.008323424494649227 +- `received_signal_target_spearman`: 0.4506380910061747 +- `cross_method_exact_count`: 5 +- `cross_method_same_lr_count`: 5 +- `bootstrap_rank_median`: 2.0 +- `bootstrap_rank_iqr`: 0.0 +- `contamination_flag`: False + +This is computational support only; it does not prove protein-level binding or functional signaling. diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/VWF_LRP1_Endothelial_Cells_CAFs_DCIS_Associated.md b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/VWF_LRP1_Endothelial_Cells_CAFs_DCIS_Associated.md new file mode 100644 index 0000000..7ef93e5 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/VWF_LRP1_Endothelial_Cells_CAFs_DCIS_Associated.md @@ -0,0 +1,25 @@ +# VWF-LRP1: Endothelial Cells -> CAFs, DCIS Associated + +- Biology label: vascular-stromal matrix/scavenger axis +- TopoLink-CCI_score: 0.747976 +- pyXenium rank: 2 +- Evidence class: strong +- Supported layers: 8/9 +- Interpretation: strong: 8/9 computational evidence layers support the axis; contamination_flag=False. + +## Key controls + +- `cell_label_perm_fdr`: 0.001996007984031936 +- `spatial_null_fdr`: 0.004651162790697674 +- `matched_gene_z`: 11.234674798948532 +- `matched_gene_percentile`: 1.0 +- `downstream_target_score`: 2.588202246597835 +- `downstream_target_fdr`: 0.029131985731272295 +- `received_signal_target_spearman`: 0.6575063035069829 +- `cross_method_exact_count`: 5 +- `cross_method_same_lr_count`: 5 +- `bootstrap_rank_median`: 3.0 +- `bootstrap_rank_iqr`: 0.0 +- `contamination_flag`: False + +This is computational support only; it does not prove protein-level binding or functional signaling. diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/VWF_SELP_Endothelial_Cells_Endothelial_Cells.md b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/VWF_SELP_Endothelial_Cells_Endothelial_Cells.md new file mode 100644 index 0000000..d2c8399 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/reports/validation_cards/VWF_SELP_Endothelial_Cells_Endothelial_Cells.md @@ -0,0 +1,25 @@ +# VWF-SELP: Endothelial Cells -> Endothelial Cells + +- Biology label: WPB / endothelial activation +- TopoLink-CCI_score: 0.791289 +- pyXenium rank: 1 +- Evidence class: strong +- Supported layers: 8/9 +- Interpretation: strong: 8/9 computational evidence layers support the axis; contamination_flag=False. + +## Key controls + +- `cell_label_perm_fdr`: 0.001996007984031936 +- `spatial_null_fdr`: 0.004651162790697674 +- `matched_gene_z`: 6.674917611699146 +- `matched_gene_percentile`: 1.0 +- `downstream_target_score`: 6.738417175908883 +- `downstream_target_fdr`: 0.027184466019417475 +- `received_signal_target_spearman`: 0.6283646829850982 +- `cross_method_exact_count`: 5 +- `cross_method_same_lr_count`: 5 +- `bootstrap_rank_median`: 1.0 +- `bootstrap_rank_iqr`: 0.0 +- `contamination_flag`: False + +This is computational support only; it does not prove protein-level binding or functional signaling. diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/run_summary.json b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/run_summary.json new file mode 100644 index 0000000..a197261 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/run_summary.json @@ -0,0 +1,15 @@ +{ + "status": "success", + "runtime_seconds": 70.934, + "n_scores": 1319600, + "n_target_axes": 7, + "evidence_class_counts": { + "strong": 7 + }, + "outputs": { + "evidence": "/cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/validation/topolink_cci_validation_v2/tables/topolink_cci_validation_v2_evidence.tsv", + "controls": "/cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/validation/topolink_cci_validation_v2/tables/topolink_cci_validation_v2_false_positive_controls.tsv", + "report": "/cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/validation/topolink_cci_validation_v2/reports/topolink_cci_validation_v2_report.md", + "figure": "/cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/validation/topolink_cci_validation_v2/figures/topolink_cci_validation_v2_evidence_matrix.png" + } +} \ No newline at end of file diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/bootstrap_stability_repeats.tsv b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/bootstrap_stability_repeats.tsv new file mode 100644 index 0000000..ec48a81 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/bootstrap_stability_repeats.tsv @@ -0,0 +1,36 @@ +axis_id bootstrap_id bootstrap_validation_score bootstrap_rank +VWF-SELP|Endothelial Cells->Endothelial Cells 1 2.5294846037115666 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated 1 2.4775096018215743 3 +MMRN2-CD93|Endothelial Cells->Endothelial Cells 1 2.492760816959846 2 +DLL4-NOTCH3|Endothelial Cells->Pericytes 1 1.6468683289549024 6 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes 1 1.9733111259538318 4 +CD48-CD2|T Lymphocytes->T Lymphocytes 1 1.9415515823178238 5 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells 1 1.0242960341055216 7 +VWF-SELP|Endothelial Cells->Endothelial Cells 2 2.5171162335011186 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated 2 2.473767032097854 3 +MMRN2-CD93|Endothelial Cells->Endothelial Cells 2 2.4772141734693474 2 +DLL4-NOTCH3|Endothelial Cells->Pericytes 2 1.6386355219882283 6 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes 2 1.9703233264062612 4 +CD48-CD2|T Lymphocytes->T Lymphocytes 2 1.9142494261725485 5 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells 2 1.0252292828485567 7 +VWF-SELP|Endothelial Cells->Endothelial Cells 3 2.5103975259149602 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated 3 2.471284260537661 3 +MMRN2-CD93|Endothelial Cells->Endothelial Cells 3 2.4798530594772266 2 +DLL4-NOTCH3|Endothelial Cells->Pericytes 3 1.6483774045144926 6 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes 3 1.972576240962361 4 +CD48-CD2|T Lymphocytes->T Lymphocytes 3 1.941759991358487 5 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells 3 1.0218695412958279 7 +VWF-SELP|Endothelial Cells->Endothelial Cells 4 2.5250901302802897 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated 4 2.476756834260751 3 +MMRN2-CD93|Endothelial Cells->Endothelial Cells 4 2.4928706890779577 2 +DLL4-NOTCH3|Endothelial Cells->Pericytes 4 1.6169876523117452 6 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes 4 1.978781084743746 4 +CD48-CD2|T Lymphocytes->T Lymphocytes 4 1.9076236376944962 5 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells 4 1.02607284368184 7 +VWF-SELP|Endothelial Cells->Endothelial Cells 5 2.541566594354046 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated 5 2.4811317184193578 2 +MMRN2-CD93|Endothelial Cells->Endothelial Cells 5 2.473281442649322 3 +DLL4-NOTCH3|Endothelial Cells->Pericytes 5 1.6233431845634525 6 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes 5 1.9747722688717537 4 +CD48-CD2|T Lymphocytes->T Lymphocytes 5 1.921048420646914 5 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells 5 1.025995534799094 7 diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/bootstrap_stability_summary.tsv b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/bootstrap_stability_summary.tsv new file mode 100644 index 0000000..7ba975b --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/bootstrap_stability_summary.tsv @@ -0,0 +1,8 @@ +axis_id bootstrap_rank_median bootstrap_rank_iqr bootstrap_score_mean bootstrap_score_sd bootstrap_n +CD48-CD2|T Lymphocytes->T Lymphocytes 5.0 0.0 1.925246611638054 0.015713655566381553 5 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes 4.0 0.0 1.9739528093875909 0.0031410030934122366 5 +DLL4-NOTCH3|Endothelial Cells->Pericytes 6.0 0.0 1.634842418466564 0.014082178981952163 5 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells 7.0 0.0 1.0246926473461682 0.0017333252101482156 5 +MMRN2-CD93|Endothelial Cells->Endothelial Cells 2.0 0.0 2.48319603632674 0.009087646555426442 5 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated 3.0 0.0 2.4760898894274397 0.003754003645322219 5 +VWF-SELP|Endothelial Cells->Endothelial Cells 1.0 0.0 2.5247310175523965 0.011933106345753796 5 diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/cell_label_permutation.tsv b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/cell_label_permutation.tsv new file mode 100644 index 0000000..e4e88df --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/cell_label_permutation.tsv @@ -0,0 +1,8 @@ +axis_id cell_label_perm_status cell_label_comm_prob cell_label_perm_mean cell_label_perm_sd cell_label_perm_z cell_label_perm_p cell_label_perm_n cell_label_perm_fdr +VWF-SELP|Endothelial Cells->Endothelial Cells success 4.933703899383545 0.02757341218739748 0.002595310303671029 1890.383003626386 0.001996007984031936 500 0.001996007984031936 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated success 17.3447265625 0.2998358674645424 0.016262341095952152 1048.1203533037499 0.001996007984031936 500 0.001996007984031936 +MMRN2-CD93|Endothelial Cells->Endothelial Cells success 1.1805951595306396 0.008823287986218929 0.0006422116967277436 1824.588180992251 0.001996007984031936 500 0.001996007984031936 +DLL4-NOTCH3|Endothelial Cells->Pericytes success 1.1344451904296875 0.022496088080108164 0.0018236492093399003 609.7384829575133 0.001996007984031936 500 0.001996007984031936 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes success 3.3160109519958496 0.08272893443703651 0.004327497961377857 747.1481318801938 0.001996007984031936 500 0.001996007984031936 +CD48-CD2|T Lymphocytes->T Lymphocytes success 0.2793356776237488 0.0026596546296495946 0.00022015248609680323 1256.7472114416275 0.001996007984031936 500 0.001996007984031936 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells success 2.0622618198394775 0.7131924320459366 0.005215585602508038 258.6611534368852 0.001996007984031936 500 0.001996007984031936 diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/component_ablation.tsv b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/component_ablation.tsv new file mode 100644 index 0000000..3f55128 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/component_ablation.tsv @@ -0,0 +1,50 @@ +axis_id removed_component score_without_component rank_without_component +VWF-SELP|Endothelial Cells->Endothelial Cells sender_anchor 0.7972857392911651 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated sender_anchor 0.7536441590057466 4 +MMRN2-CD93|Endothelial Cells->Endothelial Cells sender_anchor 0.7125678529202889 14 +DLL4-NOTCH3|Endothelial Cells->Pericytes sender_anchor 0.6790747556139168 28 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes sender_anchor 0.6743531931310739 33 +CD48-CD2|T Lymphocytes->T Lymphocytes sender_anchor 0.6935160950384847 20 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells sender_anchor 0.6587434848395158 43 +VWF-SELP|Endothelial Cells->Endothelial Cells receiver_anchor 0.8080365281394246 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated receiver_anchor 0.7874256371615272 2 +MMRN2-CD93|Endothelial Cells->Endothelial Cells receiver_anchor 0.7257852420645114 10 +DLL4-NOTCH3|Endothelial Cells->Pericytes receiver_anchor 0.6836951692860163 27 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes receiver_anchor 0.6733001253395631 37 +CD48-CD2|T Lymphocytes->T Lymphocytes receiver_anchor 0.6976271933807175 20 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells receiver_anchor 0.6788097405077063 32 +VWF-SELP|Endothelial Cells->Endothelial Cells structure_bridge 0.7912892254406051 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated structure_bridge 0.7899855906874971 2 +MMRN2-CD93|Endothelial Cells->Endothelial Cells structure_bridge 0.710716588607183 16 +DLL4-NOTCH3|Endothelial Cells->Pericytes structure_bridge 0.6756766094906939 28 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes structure_bridge 0.7165895274301202 11 +CD48-CD2|T Lymphocytes->T Lymphocytes structure_bridge 0.6849876914223857 24 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells structure_bridge 0.6339180916556525 64 +VWF-SELP|Endothelial Cells->Endothelial Cells sender_expr 0.7912892254406051 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated sender_expr 0.7479758804762829 4 +MMRN2-CD93|Endothelial Cells->Endothelial Cells sender_expr 0.710716588607183 15 +DLL4-NOTCH3|Endothelial Cells->Pericytes sender_expr 0.6695148328230778 40 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes sender_expr 0.6616803560938078 46 +CD48-CD2|T Lymphocytes->T Lymphocytes sender_expr 0.6849876914223857 27 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells sender_expr 0.6339180916556525 74 +VWF-SELP|Endothelial Cells->Endothelial Cells receiver_expr 0.7912892254406051 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated receiver_expr 0.7479758804762829 3 +MMRN2-CD93|Endothelial Cells->Endothelial Cells receiver_expr 0.710716588607183 12 +DLL4-NOTCH3|Endothelial Cells->Pericytes receiver_expr 0.6855927184481351 25 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes receiver_expr 0.6616803560938078 47 +CD48-CD2|T Lymphocytes->T Lymphocytes receiver_expr 0.6849876914223857 26 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells receiver_expr 0.6339180916556525 82 +VWF-SELP|Endothelial Cells->Endothelial Cells local_contact 0.9719087998908531 13 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated local_contact 0.8926222806830125 566 +MMRN2-CD93|Endothelial Cells->Endothelial Cells local_contact 0.9766940588323647 9 +DLL4-NOTCH3|Endothelial Cells->Pericytes local_contact 0.9342339246883292 86 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes local_contact 0.890385654319548 708 +CD48-CD2|T Lymphocytes->T Lymphocytes local_contact 0.9698076148830775 16 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells local_contact 0.8986734151214785 387 +VWF-SELP|Endothelial Cells->Endothelial Cells prior_confidence 0.7912892254406051 1 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated prior_confidence 0.7479758804762829 2 +MMRN2-CD93|Endothelial Cells->Endothelial Cells prior_confidence 0.710716588607183 10 +DLL4-NOTCH3|Endothelial Cells->Pericytes prior_confidence 0.6695148328230778 24 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes prior_confidence 0.6616803560938078 28 +CD48-CD2|T Lymphocytes->T Lymphocytes prior_confidence 0.6849876914223857 16 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells prior_confidence 0.6339180916556525 45 diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/contamination_controls.tsv b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/contamination_controls.tsv new file mode 100644 index 0000000..85ff31b --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/contamination_controls.tsv @@ -0,0 +1,8 @@ +axis_id contamination_marker_mean contamination_marker_detection contamination_marker_n endothelial_marker_mean endothelial_marker_detection endothelial_marker_n contamination_to_endothelial_ratio contamination_flag +VWF-SELP|Endothelial Cells->Endothelial Cells 0.05890538077801466 0.024628942486085346 5 2.5959966480731964 0.684963474025974 8 0.022690853943026265 False +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated 0.026129559427499772 0.01609508256214843 5 0.717039417475462 0.20992484727514668 8 0.036440896819168185 False +MMRN2-CD93|Endothelial Cells->Endothelial Cells 0.05890538077801466 0.024628942486085346 5 2.5959966480731964 0.684963474025974 8 0.022690853943026265 False +DLL4-NOTCH3|Endothelial Cells->Pericytes 0.04168511740863323 0.01809586499910239 5 1.6176096498966217 0.4904778289749267 8 0.02576957760563387 False +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes 0.01597042493522167 0.014516327788046826 5 0.060339648043736815 0.047238909426987066 8 0.2646754738053097 False +CD48-CD2|T Lymphocytes->T Lymphocytes 0.020254427567124367 0.018882514342728862 5 0.07943065511062741 0.06225056123721627 8 0.2549950965268374 False +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells 0.013545505329966545 0.012730339184208883 5 0.05200395057909191 0.04524603348116684 8 0.26047069845906073 False diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/cross_method_support_detail.tsv b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/cross_method_support_detail.tsv new file mode 100644 index 0000000..4e94fb3 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/cross_method_support_detail.tsv @@ -0,0 +1,36 @@ +axis_id method exact_support same_lr_any_celltype_support same_sender_receiver_support exact_best_rank same_lr_best_rank same_lr_best_score_std artifact_path +VWF-SELP|Endothelial Cells->Endothelial Cells cellphonedb True True True 692.0 692.0 0.9994161168645052 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv.gz +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated cellphonedb True True True 2.0 2.0 0.99999915501717 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv.gz +MMRN2-CD93|Endothelial Cells->Endothelial Cells cellphonedb True True True 1352.0 1352.0 0.9988584281967392 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv.gz +DLL4-NOTCH3|Endothelial Cells->Pericytes cellphonedb True True True 2869.0 2869.0 0.9975765892437064 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv.gz +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes cellphonedb True True True 171.0 171.0 0.9998563529189088 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv.gz +CD48-CD2|T Lymphocytes->T Lymphocytes cellphonedb True True True 6381.0 6381.0 0.994609009544926 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv.gz +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells cellphonedb True True True 2782.0 1232.0 0.9989598261363328 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/cellphonedb/cellphonedb_standardized.tsv.gz +VWF-SELP|Endothelial Cells->Endothelial Cells laris True True True 2845.0 2845.0 0.9978205811017408 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated laris True True True 18.0 18.0 0.9999869725311988 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +MMRN2-CD93|Endothelial Cells->Endothelial Cells laris True True True 5577.0 5577.0 0.99572699023323 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +DLL4-NOTCH3|Endothelial Cells->Pericytes laris True True True 9878.0 9878.0 0.9924310406265446 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes laris True True True 226.0 226.0 0.9998275776188086 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +CD48-CD2|T Lymphocytes->T Lymphocytes laris True True True 15762.0 15762.0 0.987922003777966 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells laris True True True 2153.0 889.0 0.9993195063355648 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/laris/laris_standardized.tsv.gz +VWF-SELP|Endothelial Cells->Endothelial Cells liana True True True 8450.0 1616.0 0.9978299106836924 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv.gz +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated liana True True True 58588.0 3227.0 0.9956651962016048 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv.gz +MMRN2-CD93|Endothelial Cells->Endothelial Cells liana True True True 6324.0 3314.0 0.9955482935573206 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv.gz +DLL4-NOTCH3|Endothelial Cells->Pericytes liana True True True 81639.0 32868.0 0.955836330923168 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv.gz +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes liana True True True 69984.0 9542.0 0.9871796766768476 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv.gz +CD48-CD2|T Lymphocytes->T Lymphocytes liana True True True 23050.0 23050.0 0.9690288615160526 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv.gz +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells liana True True True 1437.0 170.0 0.9997729132542068 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/liana/liana_standardized.tsv.gz +VWF-SELP|Endothelial Cells->Endothelial Cells spatialdm True True True 1967.0 1896.0 0.9957513401775244 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated spatialdm True True True 13686.0 13543.0 0.9696383370364308 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +MMRN2-CD93|Endothelial Cells->Endothelial Cells spatialdm True True True 5602.0 5520.0 0.9876261986489486 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +DLL4-NOTCH3|Endothelial Cells->Pericytes spatialdm True True True 22202.0 22100.0 0.9504532277483448 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes spatialdm True True True 16101.0 16018.0 0.964089295843488 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +CD48-CD2|T Lymphocytes->T Lymphocytes spatialdm True True True 4354.0 4221.0 0.9905386045114264 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells spatialdm True True True 9527.0 9527.0 0.9786423570084952 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/spatialdm/spatialdm_standardized.tsv.gz +VWF-SELP|Endothelial Cells->Endothelial Cells stlearn True True True 86660.0 86572.0 0.8286676126749274 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated stlearn True True True 111879.0 111727.0 0.7788834331787658 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +MMRN2-CD93|Endothelial Cells->Endothelial Cells stlearn True True True 114076.0 113983.0 0.7744185908435108 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +DLL4-NOTCH3|Endothelial Cells->Pericytes stlearn True True True 39734.0 39614.0 0.921602039261322 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes stlearn True True True 40249.0 40158.0 0.9205254106131044 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +CD48-CD2|T Lymphocytes->T Lymphocytes stlearn True True True 181555.0 181401.0 0.6409918441421705 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells stlearn True True True 36606.0 36606.0 0.9275551623749954 /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/full_common/stlearn/stlearn_standardized.tsv.gz diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/downstream_target_support.tsv b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/downstream_target_support.tsv new file mode 100644 index 0000000..312a2bc --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/downstream_target_support.tsv @@ -0,0 +1,8 @@ +axis_id downstream_status downstream_target_genes_present downstream_target_score downstream_target_null_mean downstream_target_null_sd downstream_target_z downstream_target_p downstream_target_gene_panel downstream_target_fdr +VWF-SELP|Endothelial Cells->Endothelial Cells success 6 6.738417175908883 1.0064762527795716 1.4133941349379884 4.055444112466758 0.019417475728155338 VWF,SELP,ANGPT2,THBD,PLAT,SERPINE1 0.027184466019417475 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated success 7 2.588202246597835 0.41110825241499005 0.5784531172302644 3.763648132120292 0.02497027348394768 VWF,LRP1,HSPG2,COL4A1,COL4A2,MMP2,THBS2 0.029131985731272295 +MMRN2-CD93|Endothelial Cells->Endothelial Cells success 7 11.116392135620117 1.047396860657526 1.5327809936425985 6.56910238104792 0.0023781212841854932 MMRN2,CD93,CLEC14A,KDR,FLT1,PECAM1,EMCN 0.008323424494649227 +DLL4-NOTCH3|Endothelial Cells->Pericytes success 8 2.61274266988039 0.5068325942343411 0.5551530740828993 3.7933863180438414 0.014568158168574402 DLL4,NOTCH3,NOTCH4,JAG1,HEY1,HES1,PDGFRB,RGS5 0.025494276795005204 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes success 8 6.800970241427422 1.15657870703144 1.2287697052997264 4.59353083824538 0.012486992715920915 CXCL12,CXCR4,CXCR3,CCL19,CCL21,CD3D,CD3E,IL7R 0.025494276795005204 +CD48-CD2|T Lymphocytes->T Lymphocytes success 7 11.544674396514893 1.0685981322434686 1.2195936012363278 8.589809141054532 0.0023781212841854932 CD48,CD2,CD3D,CD3E,TRAC,IL7R,LCK 0.008323424494649227 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells success 7 1.5110729336738586 1.5341725096816108 0.3373003415056495 -0.06848370180901593 0.6076099881093936 JAG1,NOTCH2,NOTCH1,HES1,HEY1,MYC,CCND1 0.6076099881093936 diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/expression_gene_specificity.tsv b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/expression_gene_specificity.tsv new file mode 100644 index 0000000..e50665c --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/expression_gene_specificity.tsv @@ -0,0 +1,217 @@ +gene detected_in_wta top_celltype_rank cell_type mean_expr detection_fraction +ANGPT2 True 1.0 CAFs, Invasive Associated 0.07923019245188703 0.056235939264297485 +ANGPT2 True 2.0 Pericytes 0.07468777049585755 0.05440830811858177 +ANGPT2 True 3.0 Endothelial Cells 0.06064471243042672 0.0460343211889267 +ANGPT2 True 4.0 Mast Cells 0.02710027100271003 0.027100270614027977 +ANGPT2 True 5.0 11q13 Invasive Tumor Cells (Mitotic) 0.0231519090170593 0.01909017004072666 +CCL19 True 1.0 Pericytes 0.16520341288487697 0.053171757608652115 +CCL19 True 2.0 Endothelial Cells 0.0912569573283859 0.04359925910830498 +CCL19 True 3.0 T Lymphocytes 0.08605637316038912 0.05238214135169983 +CCL19 True 4.0 Dendritic Cells 0.07784431137724551 0.04241516813635826 +CCL19 True 5.0 B Cells 0.04856687898089172 0.029458599165081978 +CCL21 True 1.0 Endothelial Cells 0.02481447124304267 0.01982838660478592 +CCL21 True 2.0 Myeloid Cells 0.02214022140221402 0.019680196419358253 +CCL21 True 3.0 Pericytes 0.017559045381476443 0.013725732453167439 +CCL21 True 4.0 Apocrine Cells 0.01488833746898263 0.014888337813317776 +CCL21 True 5.0 Plasma Cells 0.012600229095074456 0.010309278033673763 +CCND1 True 1.0 11q13 Invasive Tumor Cells (Mitotic) 45.75142160844842 0.995938241481781 +CCND1 True 2.0 11q13 Invasive Tumor Cells (G1/S) 44.573715248525694 0.9978938698768616 +CCND1 True 3.0 11q13 Invasive Tumor Cells 35.123071397339 0.991645336151123 +CCND1 True 4.0 Basal-like Structured DCIS Cells 14.588698630136987 0.928196370601654 +CCND1 True 5.0 Luminal-like Amorphous DCIS Cells 5.254068160884249 0.8043444752693176 +CD2 True 1.0 T Lymphocytes 0.49837864804190574 0.3382389545440674 +CD2 True 2.0 B Cells 0.09156050955414012 0.07762739062309265 +CD2 True 3.0 Plasma Cells 0.07331042382588775 0.05154639109969139 +CD2 True 4.0 Dendritic Cells 0.060129740518962076 0.049151696264743805 +CD2 True 5.0 Mast Cells 0.04607046070460705 0.04065040498971939 +CD3D True 1.0 T Lymphocytes 0.7599151908206535 0.42105263471603394 +CD3D True 2.0 B Cells 0.1664012738853503 0.10748407989740372 +CD3D True 3.0 Plasma Cells 0.1111111111111111 0.07445590198040009 +CD3D True 4.0 Mast Cells 0.08401084010840108 0.056910570710897446 +CD3D True 5.0 Dendritic Cells 0.08383233532934131 0.057135727256536484 +CD3E True 1.0 T Lymphocytes 1.2775006235969069 0.6097530722618103 +CD3E True 2.0 B Cells 0.2929936305732484 0.20700636506080627 +CD3E True 3.0 Plasma Cells 0.1775486827033219 0.0996563583612442 +CD3E True 4.0 Dendritic Cells 0.12250499001996008 0.08283433318138123 +CD3E True 5.0 Mast Cells 0.056910569105691054 0.046070460230112076 +CD48 True 1.0 T Lymphocytes 0.5604888999750561 0.37989524006843567 +CD48 True 2.0 Dendritic Cells 0.5446606786427146 0.33582833409309387 +CD48 True 3.0 Plasma Cells 0.3104238258877434 0.2279496043920517 +CD48 True 4.0 Mast Cells 0.20596205962059622 0.16802167892456055 +CD48 True 5.0 B Cells 0.18431528662420382 0.14331209659576416 +CD63 False +CD93 True 1.0 Endothelial Cells 0.9689239332096475 0.5012755393981934 +CD93 True 2.0 Pericytes 0.23234821318164955 0.16285395622253418 +CD93 True 3.0 Dendritic Cells 0.2315369261477046 0.16017964482307434 +CD93 True 4.0 Macrophages 0.1983941983941984 0.139860138297081 +CD93 True 5.0 Mast Cells 0.08130081300813008 0.056910570710897446 +CLEC14A True 1.0 Endothelial Cells 1.3179499072356216 0.5895176529884338 +CLEC14A True 2.0 Pericytes 0.31643378261407196 0.20934833586215973 +CLEC14A True 3.0 Myeloid Cells 0.0959409594095941 0.084870845079422 +CLEC14A True 4.0 CAFs, Invasive Associated 0.07173206698325418 0.05373656749725342 +CLEC14A True 5.0 11q13 Invasive Tumor Cells (Mitotic) 0.06498781478472786 0.058489032089710236 +COL4A1 True 1.0 Endothelial Cells 2.700139146567718 0.6525974273681641 +COL4A1 True 2.0 CAFs, Invasive Associated 2.4473881529617594 0.6213446855545044 +COL4A1 True 3.0 Pericytes 1.5722764931371336 0.5163843035697937 +COL4A1 True 4.0 CAFs, DCIS Associated 0.6216348907618034 0.3171180784702301 +COL4A1 True 5.0 Myoepithelial Cells 0.40009480919649204 0.2188907265663147 +COL4A2 True 1.0 Endothelial Cells 1.5338589981447124 0.5666744112968445 +COL4A2 True 2.0 CAFs, Invasive Associated 1.4781304673831541 0.5351161956787109 +COL4A2 True 3.0 Pericytes 1.0337578830221343 0.4361320734024048 +COL4A2 True 4.0 CAFs, DCIS Associated 0.5452499795434089 0.33074215054512024 +COL4A2 True 5.0 Myoepithelial Cells 0.5319981038160702 0.31879591941833496 +CXCL12 True 1.0 CAFs, DCIS Associated 3.649660420587513 0.7872514724731445 +CXCL12 True 2.0 CAFs, Invasive Associated 1.556610847288178 0.4851287305355072 +CXCL12 True 3.0 Endothelial Cells 1.3608534322820036 0.47993969917297363 +CXCL12 True 4.0 Macrophages 1.0893550893550894 0.40663039684295654 +CXCL12 True 5.0 Pericytes 1.0134784221590207 0.37875601649284363 +CXCR3 True 1.0 T Lymphocytes 0.034048391119980044 0.03280119597911835 +CXCR3 True 2.0 Plasma Cells 0.014891179839633447 0.014891180209815502 +CXCR3 True 3.0 Dendritic Cells 0.011477045908183632 0.010479042306542397 +CXCR3 True 4.0 Myeloid Cells 0.008610086100861008 0.008610086515545845 +CXCR3 True 5.0 Mast Cells 0.008130081300813009 0.008130080997943878 +CXCR4 True 1.0 T Lymphocytes 0.9085806934397606 0.4825392961502075 +CXCR4 True 2.0 Dendritic Cells 0.6749001996007984 0.3540419042110443 +CXCR4 True 3.0 Plasma Cells 0.36769759450171824 0.21305841207504272 +CXCR4 True 4.0 B Cells 0.21934713375796178 0.1675955355167389 +CXCR4 True 5.0 Macrophages 0.1761201761201761 0.1339031308889389 +DLL4 True 1.0 Endothelial Cells 0.476461038961039 0.2467532455921173 +DLL4 True 2.0 Pericytes 0.10634351428218128 0.07703722268342972 +DLL4 True 3.0 Myeloid Cells 0.04551045510455105 0.03198032081127167 +DLL4 True 4.0 11q13 Invasive Tumor Cells (Mitotic) 0.038180341186027617 0.03452477604150772 +DLL4 True 5.0 Plasma Cells 0.020618556701030927 0.019473081454634666 +EMCN True 1.0 Endothelial Cells 1.4728664192949907 0.6341604590415955 +EMCN True 2.0 Pericytes 0.32274020032150363 0.21491281688213348 +EMCN True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.09057676685621446 0.07514216005802155 +EMCN True 4.0 Myeloid Cells 0.06888068880688807 0.05781057849526405 +EMCN True 5.0 Plasma Cells 0.06758304696449026 0.05841924250125885 +FLT1 True 1.0 Endothelial Cells 1.5473098330241188 0.6168830990791321 +FLT1 True 2.0 Pericytes 0.3560034623469766 0.23519228398799896 +FLT1 True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.24654752233956134 0.20633630454540253 +FLT1 True 4.0 Myeloid Cells 0.21648216482164823 0.16851168870925903 +FLT1 True 5.0 Apocrine Cells 0.15632754342431762 0.14640198647975922 +HES1 True 1.0 11q13 Invasive Tumor Cells (Mitotic) 0.4435418359057677 0.307879775762558 +HES1 True 2.0 Luminal-like Amorphous DCIS Cells 0.40067546822229044 0.2689591646194458 +HES1 True 3.0 11q13 Invasive Tumor Cells (G1/S) 0.33403538331929233 0.24136479198932648 +HES1 True 4.0 11q13 Invasive Tumor Cells 0.2922418639515273 0.21926729381084442 +HES1 True 5.0 Basal-like Structured DCIS Cells 0.2264840182648402 0.1742009073495865 +HEY1 True 1.0 Endothelial Cells 0.24570964749536178 0.15584415197372437 +HEY1 True 2.0 11q13 Invasive Tumor Cells (Mitotic) 0.17749796913078797 0.1486596316099167 +HEY1 True 3.0 Basal-like Structured DCIS Cells 0.1430365296803653 0.10844749212265015 +HEY1 True 4.0 Myoepithelial Cells 0.1268073003081299 0.10630480945110321 +HEY1 True 5.0 Myeloid Cells 0.10947109471094711 0.08733087033033371 +HSPG2 True 1.0 Endothelial Cells 5.104359925788497 0.8711734414100647 +HSPG2 True 2.0 CAFs, Invasive Associated 2.2671832041989504 0.6923269033432007 +HSPG2 True 3.0 Pericytes 1.1843699765055027 0.48237913846969604 +HSPG2 True 4.0 CAFs, DCIS Associated 0.8459618689141641 0.4324932396411896 +HSPG2 True 5.0 Myoepithelial Cells 0.5875799952595402 0.3209291398525238 +IL7R True 1.0 T Lymphocytes 0.20990271888251436 0.15851832926273346 +IL7R True 2.0 Myeloid Cells 0.05289052890528905 0.046740468591451645 +IL7R True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.05280259951259139 0.05158407613635063 +IL7R True 4.0 Apocrine Cells 0.04714640198511166 0.04466501250863075 +IL7R True 5.0 Dendritic Cells 0.046656686626746505 0.037425149232149124 +JAG1 True 1.0 11q13 Invasive Tumor Cells (Mitotic) 1.9065800162469537 0.7083671689033508 +JAG1 True 2.0 11q13 Invasive Tumor Cells 1.4774345680554688 0.6293959617614746 +JAG1 True 3.0 11q13 Invasive Tumor Cells (G1/S) 1.3336141533277168 0.5867733955383301 +JAG1 True 4.0 Luminal-like Amorphous DCIS Cells 1.0723825606386246 0.5086736083030701 +JAG1 True 5.0 Basal-like Structured DCIS Cells 0.6257990867579909 0.3481735289096832 +KDR True 1.0 Endothelial Cells 2.37569573283859 0.6372912526130676 +KDR True 2.0 Pericytes 0.6527760603437616 0.3185359239578247 +KDR True 3.0 CAFs, Invasive Associated 0.10547363159210198 0.06723318994045258 +KDR True 4.0 Myeloid Cells 0.09471094710947109 0.084870845079422 +KDR True 5.0 Basal-like Structured DCIS Cells 0.08367579908675798 0.06061643734574318 +LCK True 1.0 T Lymphocytes 0.6152407084060864 0.3986031413078308 +LCK True 2.0 B Cells 0.11544585987261147 0.0927547737956047 +LCK True 3.0 Plasma Cells 0.08476517754868271 0.06643757224082947 +LCK True 4.0 Myeloid Cells 0.06150061500615006 0.05166051536798477 +LCK True 5.0 Dendritic Cells 0.058632734530938126 0.04466067999601364 +LRP1 True 1.0 CAFs, Invasive Associated 2.662834291427143 0.7233191728591919 +LRP1 True 2.0 CAFs, DCIS Associated 2.585713116766222 0.7374191880226135 +LRP1 True 3.0 Dendritic Cells 1.0197105788423153 0.44386228919029236 +LRP1 True 4.0 Macrophages 0.9233359233359233 0.440559446811676 +LRP1 True 5.0 Myoepithelial Cells 0.4869637354823418 0.302085816860199 +MMP2 True 1.0 CAFs, DCIS Associated 1.4687423287783323 0.5307257771492004 +MMP2 True 2.0 CAFs, Invasive Associated 1.3129217695576105 0.4966258406639099 +MMP2 True 3.0 Endothelial Cells 0.2912801484230056 0.1832096427679062 +MMP2 True 4.0 Dendritic Cells 0.2657185628742515 0.15668663382530212 +MMP2 True 5.0 Myoepithelial Cells 0.2623844512917753 0.1821521669626236 +MMRN2 True 1.0 Endothelial Cells 1.2184601113172542 0.5637755393981934 +MMRN2 True 2.0 Pericytes 0.2594287127488562 0.17744527757167816 +MMRN2 True 3.0 Basal-like Structured DCIS Cells 0.06746575342465753 0.05319634824991226 +MMRN2 True 4.0 Myoepithelial Cells 0.06245555818914435 0.05131547898054123 +MMRN2 True 5.0 Mast Cells 0.04607046070460705 0.0379403792321682 +MYC True 1.0 Basal-like Structured DCIS Cells 1.5598173515981735 0.5699771642684937 +MYC True 2.0 Endothelial Cells 1.1174628942486085 0.4582560360431671 +MYC True 3.0 11q13 Invasive Tumor Cells (G1/S) 0.9334456613310868 0.45408591628074646 +MYC True 4.0 11q13 Invasive Tumor Cells 0.8824879755137734 0.44670185446739197 +MYC True 5.0 11q13 Invasive Tumor Cells (Mitotic) 0.8273761169780666 0.43013811111450195 +NOTCH1 True 1.0 Endothelial Cells 0.5613404452690167 0.35366418957710266 +NOTCH1 True 2.0 Basal-like Structured DCIS Cells 0.4221461187214612 0.263812780380249 +NOTCH1 True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.30381803411860275 0.22542648017406464 +NOTCH1 True 4.0 Pericytes 0.22517620873006058 0.15951527655124664 +NOTCH1 True 5.0 Myoepithelial Cells 0.2188907324010429 0.15868689119815826 +NOTCH2 True 1.0 Apocrine Cells 2.1861042183622827 0.7171216011047363 +NOTCH2 True 2.0 11q13 Invasive Tumor Cells 1.3958398400899494 0.607002317905426 +NOTCH2 True 3.0 11q13 Invasive Tumor Cells (Mitotic) 1.334281072298944 0.6255077123641968 +NOTCH2 True 4.0 Luminal-like Amorphous DCIS Cells 1.1538992938286767 0.5558028817176819 +NOTCH2 True 5.0 11q13 Invasive Tumor Cells (G1/S) 1.0602358887952823 0.5395956039428711 +NOTCH3 True 1.0 Pericytes 2.3809818226783728 0.5623840689659119 +NOTCH3 True 2.0 CAFs, Invasive Associated 1.1647088227943014 0.4973756670951843 +NOTCH3 True 3.0 Luminal-like Amorphous DCIS Cells 0.9322229045133559 0.4947804808616638 +NOTCH3 True 4.0 Endothelial Cells 0.7337662337662337 0.27516233921051025 +NOTCH3 True 5.0 Basal-like Structured DCIS Cells 0.6931506849315069 0.3960045576095581 +NOTCH4 True 1.0 Endothelial Cells 0.4457328385899815 0.28038033843040466 +NOTCH4 True 2.0 Myoepithelial Cells 0.10997866793078928 0.09042426943778992 +NOTCH4 True 3.0 Pericytes 0.08445653517991838 0.0650426596403122 +NOTCH4 True 4.0 Basal-like Structured DCIS Cells 0.07682648401826483 0.06255707889795303 +NOTCH4 True 5.0 11q13 Invasive Tumor Cells (Mitotic) 0.07636068237205523 0.06986190378665924 +PDGFRB True 1.0 CAFs, Invasive Associated 0.6135966008497875 0.3709072768688202 +PDGFRB True 2.0 Pericytes 0.42549771237789047 0.2529986500740051 +PDGFRB True 3.0 CAFs, DCIS Associated 0.32493249324932494 0.2368464171886444 +PDGFRB True 4.0 Endothelial Cells 0.15213358070500926 0.10227272659540176 +PDGFRB True 5.0 Dendritic Cells 0.05189620758483034 0.0416666679084301 +PECAM1 True 1.0 Endothelial Cells 4.5438311688311686 0.8918135166168213 +PECAM1 True 2.0 Plasma Cells 1.7445589919816724 0.6300114393234253 +PECAM1 True 3.0 Pericytes 1.0775318412266601 0.4703845679759979 +PECAM1 True 4.0 Dendritic Cells 0.7437624750499002 0.4149201512336731 +PECAM1 True 5.0 Macrophages 0.4421134421134421 0.28671327233314514 +PLAT True 1.0 11q13 Invasive Tumor Cells 8.869838840652132 0.956024706363678 +PLAT True 2.0 11q13 Invasive Tumor Cells (Mitotic) 7.280259951259139 0.9549146890640259 +PLAT True 3.0 11q13 Invasive Tumor Cells (G1/S) 6.233361415332772 0.9182813763618469 +PLAT True 4.0 Apocrine Cells 3.3101736972704714 0.8114144206047058 +PLAT True 5.0 Luminal-like Amorphous DCIS Cells 2.8183143997543754 0.6322535872459412 +RGS5 True 1.0 Pericytes 0.6418943984172129 0.3001112937927246 +RGS5 True 2.0 Endothelial Cells 0.5906771799628943 0.3025278151035309 +RGS5 True 3.0 CAFs, Invasive Associated 0.10747313171707074 0.06723318994045258 +RGS5 True 4.0 Myeloid Cells 0.07995079950799508 0.06519065052270889 +RGS5 True 5.0 Mast Cells 0.07859078590785908 0.0731707289814949 +SELP True 1.0 Endothelial Cells 0.7355055658627088 0.259508341550827 +SELP True 2.0 Pericytes 0.10980586125881044 0.07270928472280502 +SELP True 3.0 T Lymphocytes 0.06023946121227239 0.050511348992586136 +SELP True 4.0 Myeloid Cells 0.05166051660516605 0.04428044334053993 +SELP True 5.0 Plasma Cells 0.043528064146620846 0.03665521368384361 +SERPINE1 True 1.0 CAFs, Invasive Associated 0.3504123969007748 0.20569857954978943 +SERPINE1 True 2.0 Myoepithelial Cells 0.05724105238208106 0.03507940098643303 +SERPINE1 True 3.0 Endothelial Cells 0.05322356215213358 0.04012059420347214 +SERPINE1 True 4.0 CAFs, DCIS Associated 0.04107683495622289 0.03358972445130348 +SERPINE1 True 5.0 Dendritic Cells 0.036926147704590816 0.03168662637472153 +THBD True 1.0 Endothelial Cells 0.8287337662337663 0.40491652488708496 +THBD True 2.0 Pericytes 0.2860145913194015 0.18770866096019745 +THBD True 3.0 Dendritic Cells 0.1217564870259481 0.09356287121772766 +THBD True 4.0 CAFs, Invasive Associated 0.10847288177955511 0.0794801265001297 +THBD True 5.0 Myeloid Cells 0.08487084870848709 0.07503075152635574 +THBS2 True 1.0 CAFs, Invasive Associated 1.8375406148462885 0.5576105713844299 +THBS2 True 2.0 CAFs, DCIS Associated 1.6160297847966616 0.5173472166061401 +THBS2 True 3.0 Dendritic Cells 0.1317365269461078 0.071856290102005 +THBS2 True 4.0 CXCL14+ Fibroblasts 0.11588330632090761 0.07698541134595871 +THBS2 True 5.0 Pericytes 0.1151230369729195 0.07122542709112167 +TRAC True 1.0 T Lymphocytes 2.8600648540783236 0.7904714345932007 +TRAC True 2.0 B Cells 0.6871019108280255 0.3626592457294464 +TRAC True 3.0 Plasma Cells 0.33791523482245134 0.1477663218975067 +TRAC True 4.0 Dendritic Cells 0.24176646706586827 0.1230039894580841 +TRAC True 5.0 CAFs, Invasive Associated 0.15571107223194203 0.10172457247972488 +VWF True 1.0 Endothelial Cells 6.707908163265306 0.8781307935714722 +VWF True 2.0 Pericytes 1.29108445653518 0.4304439127445221 +VWF True 3.0 11q13 Invasive Tumor Cells (Mitotic) 0.11169780666125101 0.09423232823610306 +VWF True 4.0 Dendritic Cells 0.11052894211576847 0.05913173779845238 +VWF True 5.0 Mast Cells 0.10840108401084012 0.08130080997943878 diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/functional_received_signal_support.tsv b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/functional_received_signal_support.tsv new file mode 100644 index 0000000..0345974 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/functional_received_signal_support.tsv @@ -0,0 +1,8 @@ +axis_id functional_signal_status received_signal_n_cells received_signal_target_spearman received_signal_target_p received_signal_top_vs_bottom_target_delta received_signal_target_fdr +VWF-SELP|Endothelial Cells->Endothelial Cells success 8624 0.6283646829850982 0.0 0.48874330520629883 0.0 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated success 24442 0.6575063035069829 0.0 0.5568488836288452 0.0 +MMRN2-CD93|Endothelial Cells->Endothelial Cells success 8624 0.4506380910061747 0.0 0.37315094470977783 0.0 +DLL4-NOTCH3|Endothelial Cells->Pericytes success 8087 0.721750076253441 0.0 0.3684804439544678 0.0 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes success 8018 0.4955612441859473 0.0 0.19490374624729156 0.0 +CD48-CD2|T Lymphocytes->T Lymphocytes success 8018 0.4228849179250702 0.0 0.2631298005580902 0.0 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells success 64036 0.5874875426315861 0.0 0.44811439514160156 0.0 diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/spatial_edge_summary.tsv b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/spatial_edge_summary.tsv new file mode 100644 index 0000000..6482437 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/spatial_edge_summary.tsv @@ -0,0 +1,8 @@ +axis_id edge_count mean_distance median_distance p90_distance +VWF-SELP|Endothelial Cells->Endothelial Cells 86240 76.043014780648 68.93717988356124 138.33223775288278 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated 86240 80.87535740094347 57.15353528817341 178.660086189941 +MMRN2-CD93|Endothelial Cells->Endothelial Cells 86240 76.043014780648 68.93717988356124 138.33223775288278 +DLL4-NOTCH3|Endothelial Cells->Pericytes 86240 84.10916634767867 78.14056887409708 151.5374911181689 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes 244420 164.70706693328117 146.09120882284316 307.8334754314995 +CD48-CD2|T Lymphocytes->T Lymphocytes 80180 61.10885372104814 33.60942094304036 154.61747704003622 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells 640360 18.888647018391925 17.47750226471102 28.465688513696342 diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/spatial_neighborhood_controls.tsv b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/spatial_neighborhood_controls.tsv new file mode 100644 index 0000000..e2cb46f --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/spatial_neighborhood_controls.tsv @@ -0,0 +1,8 @@ +axis_id spatial_neighborhood_status spatial_edge_count spatial_edge_mean_distance spatial_lr_edge_score spatial_lr_active_edge_fraction spatial_perm_mean spatial_perm_sd spatial_perm_z spatial_perm_p spatial_matched_gene_mean spatial_matched_gene_sd spatial_matched_gene_z spatial_matched_gene_p spatial_null_fdr spatial_matched_gene_fdr +VWF-SELP|Endothelial Cells->Endothelial Cells success 86240 76.043014780648 7.3085808753967285 0.25011595547309834 5.2657176113128665 0.04370881998253159 46.73800996916185 0.0033222591362126247 0.018927508491591045 0.027477133079608154 265.29890675949275 0.008264462809917356 0.004651162790697674 0.009641873278236915 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated success 86240 80.87535740094347 17.646312713623047 0.6248144712430427 16.915456352233885 0.07295353245322052 10.01810792174873 0.0033222591362126247 0.09186524196557003 0.5419791132694604 32.389527643899775 0.008264462809917356 0.004651162790697674 0.009641873278236915 +MMRN2-CD93|Endothelial Cells->Endothelial Cells success 86240 76.043014780648 1.2517509460449219 0.29074675324675325 1.2041044370333354 0.00651539452823075 7.312912334799914 0.0033222591362126247 0.019798527385379808 0.041071614915599616 29.99522714631871 0.008264462809917356 0.004651162790697674 0.009641873278236915 +DLL4-NOTCH3|Endothelial Cells->Pericytes success 86240 84.10916634767867 1.1946196556091309 0.14225417439703153 1.1400103183587391 0.011914708983071235 4.58335468604246 0.0033222591362126247 0.010454062237477047 0.01560259723839002 75.89541505679755 0.008264462809917356 0.004651162790697674 0.009641873278236915 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes success 244420 164.70706693328117 3.6240406036376953 0.3872269045086327 3.6269676375389097 0.011749306634564156 -0.24912396895010336 0.5813953488372093 0.017585406292346305 0.025217267011605142 143.01530755436883 0.008264462809917356 0.5813953488372093 0.009641873278236915 +CD48-CD2|T Lymphocytes->T Lymphocytes success 80180 61.10885372104814 0.2860439121723175 0.1294462459466201 0.27965914239486056 0.0026717226614147317 2.3897576906714106 0.009966777408637873 0.004725929109872596 0.017223321423744452 16.333550082541787 0.008264462809917356 0.011627906976744186 0.009641873278236915 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells success 640360 18.888647018391925 2.253023386001587 0.39369885689299766 2.055801842212677 0.0037028198352934225 53.26252763072426 0.0033222591362126247 1.8470757191379865 0.5534657573718224 0.7334648285944125 0.2066115702479339 0.004651162790697674 0.2066115702479339 diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/topolink_cci_validation_v2_evidence.tsv b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/topolink_cci_validation_v2_evidence.tsv new file mode 100644 index 0000000..4e4310d --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/topolink_cci_validation_v2_evidence.tsv @@ -0,0 +1,15 @@ +axis_id biology_label ligand receptor sender receiver CCI_score pyxenium_rank sender_anchor receiver_anchor structure_bridge sender_expr receiver_expr local_contact_x prior_confidence cross_edge_count sender_expr_label receiver_expr_label ligand_sender_mean ligand_sender_detection_fraction ligand_sender_celltype_rank ligand_sender_specificity_ratio receptor_receiver_mean receptor_receiver_detection_fraction receptor_receiver_celltype_rank receptor_receiver_specificity_ratio observed_cross_edge_count expected_cross_edge_count_abundance_null cross_edge_enrichment_fold cross_edge_enrichment_z cross_edge_enrichment_p_approx local_contact_y contact_coverage within_sender_receiver_rank within_sender_receiver_n within_sender_receiver_percentile within_lr_pair_rank within_lr_pair_n within_lr_pair_percentile matched_gene_status n_controls observed_expression_specificity_score control_mean control_sd matched_gene_z matched_gene_percentile max_rank_after_ablation min_rank_after_ablation cross_method_exact_count cross_method_same_lr_count cross_method_same_sender_receiver_count supporting_methods_exact supporting_methods_same_lr target_panel_present_n receiver_context_panel_score receiver_context_panel_genes cell_label_perm_status cell_label_comm_prob cell_label_perm_mean cell_label_perm_sd cell_label_perm_z cell_label_perm_p cell_label_perm_n cell_label_perm_fdr spatial_neighborhood_status spatial_edge_count spatial_edge_mean_distance spatial_lr_edge_score spatial_lr_active_edge_fraction spatial_perm_mean spatial_perm_sd spatial_perm_z spatial_perm_p spatial_matched_gene_mean spatial_matched_gene_sd spatial_matched_gene_z spatial_matched_gene_p spatial_null_fdr spatial_matched_gene_fdr downstream_status downstream_target_genes_present downstream_target_score downstream_target_null_mean downstream_target_null_sd downstream_target_z downstream_target_p downstream_target_gene_panel downstream_target_fdr functional_signal_status received_signal_n_cells received_signal_target_spearman received_signal_target_p received_signal_top_vs_bottom_target_delta received_signal_target_fdr contamination_marker_mean contamination_marker_detection contamination_marker_n endothelial_marker_mean endothelial_marker_detection endothelial_marker_n contamination_to_endothelial_ratio contamination_flag bootstrap_rank_median bootstrap_rank_iqr bootstrap_score_mean bootstrap_score_sd bootstrap_n expression_specificity_support cell_label_permutation_support spatial_null_support matched_gene_control_support downstream_target_support functional_received_signal_support cross_method_support component_ablation_support bootstrap_stability_support support_count evidence_class interpretation_note axis_label +VWF-SELP|Endothelial Cells->Endothelial Cells WPB / endothelial activation VWF SELP Endothelial Cells Endothelial Cells 0.7912892368005828 1 0.955713094717548 0.8819126042133903 1.0 1.0 1.0 0.2912449657481761 1.0 12779 Endothelial Cells Endothelial Cells 6.707908163265306 0.8781307935714722 1 1.0 0.7355055658627088 0.259508341550827 1 1.0 12779 3498.750466020217 3.652446816116025 157.09499064265975 0.0 0.2912449657481761 0.1111198059316065 1 3299 1.0 1 400 1.0 success 250 0.690919789894645 0.1174789121765555 0.08590980609453787 6.674917611699146 1.0 13 1 5 5 5 cellphonedb,laris,liana,spatialdm,stlearn cellphonedb,laris,liana,spatialdm,stlearn 6 0.6656207262750022 VWF,SELP,ANGPT2,THBD,PLAT,SERPINE1 success 4.933703899383545 0.02757341218739748 0.002595310303671029 1890.383003626386 0.001996007984031936 500 0.001996007984031936 success 86240 76.043014780648 7.3085808753967285 0.25011595547309834 5.2657176113128665 0.04370881998253159 46.73800996916185 0.0033222591362126247 0.018927508491591045 0.027477133079608154 265.29890675949275 0.008264462809917356 0.004651162790697674 0.009641873278236915 success 6 6.738417175908883 1.0064762527795716 1.4133941349379884 4.055444112466758 0.019417475728155338 VWF,SELP,ANGPT2,THBD,PLAT,SERPINE1 0.027184466019417475 success 8624 0.6283646829850982 0.0 0.48874330520629883 0.0 0.05890538077801466 0.024628942486085346 5 2.5959966480731964 0.684963474025974 8 0.022690853943026265 False 1.0 0.0 2.5247310175523965 0.011933106345753796 5 True True True True True True True False True 8 strong strong: 8/9 computational evidence layers support the axis; contamination_flag=False. "VWF-SELP +Endothelial Cells -> Endothelial Cells" +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated vascular-stromal matrix/scavenger axis VWF LRP1 Endothelial Cells CAFs, DCIS Associated 0.7479758913021439 2 0.955713094717548 0.7346293219749174 0.7204611100467462 1.0 1.0 0.3461937505325735 1.0 13942 Endothelial Cells CAFs, DCIS Associated 6.707908163265306 0.8781307935714722 1 1.0 2.585713116766222 0.7374191880226135 2 0.971037936942149 13942 9916.101448337911 1.4059961036740796 40.577088952341676 0.0 0.3461937505325735 0.1319036006311863 1 3299 1.0 1 400 1.0 success 250 0.8904867455342288 0.1132557384471686 0.06918144236447345 11.234674798948532 1.0 566 2 5 5 5 cellphonedb,laris,liana,spatialdm,stlearn cellphonedb,laris,liana,spatialdm,stlearn 7 0.5161052675482147 VWF,LRP1,HSPG2,COL4A1,COL4A2,MMP2,THBS2 success 17.3447265625 0.2998358674645424 0.016262341095952152 1048.1203533037499 0.001996007984031936 500 0.001996007984031936 success 86240 80.87535740094347 17.646312713623047 0.6248144712430427 16.915456352233885 0.07295353245322052 10.01810792174873 0.0033222591362126247 0.09186524196557003 0.5419791132694604 32.389527643899775 0.008264462809917356 0.004651162790697674 0.009641873278236915 success 7 2.588202246597835 0.41110825241499005 0.5784531172302644 3.763648132120292 0.02497027348394768 VWF,LRP1,HSPG2,COL4A1,COL4A2,MMP2,THBS2 0.029131985731272295 success 24442 0.6575063035069829 0.0 0.5568488836288452 0.0 0.026129559427499772 0.01609508256214843 5 0.717039417475462 0.20992484727514668 8 0.036440896819168185 False 3.0 0.0 2.4760898894274397 0.003754003645322219 5 True True True True True True True False True 8 strong strong: 8/9 computational evidence layers support the axis; contamination_flag=False. "VWF-LRP1 +Endothelial Cells -> CAFs, DCIS Associated" +MMRN2-CD93|Endothelial Cells->Endothelial Cells CD93-MMRN2 angiogenesis MMRN2 CD93 Endothelial Cells Endothelial Cells 0.7107166026857937 10 0.9845127857250529 0.8817184225858201 1.0 1.0 1.0 0.1484661470807383 1.0 12779 Endothelial Cells Endothelial Cells 1.2184601113172542 0.5637755393981934 1 1.0 0.9689239332096475 0.5012755393981934 1 1.0 12779 3498.750466020217 3.652446816116025 157.09499064265975 0.0 0.1484661470807383 0.0288754988653259 5 3299 0.9987875113670809 1 400 1.0 success 250 0.7291144166273554 0.13022764647610297 0.09662146729412627 6.198278570208171 1.0 16 9 5 5 5 cellphonedb,laris,liana,spatialdm,stlearn cellphonedb,laris,liana,spatialdm,stlearn 7 1.0 MMRN2,CD93,CLEC14A,KDR,FLT1,PECAM1,EMCN success 1.1805951595306396 0.008823287986218929 0.0006422116967277436 1824.588180992251 0.001996007984031936 500 0.001996007984031936 success 86240 76.043014780648 1.2517509460449219 0.29074675324675325 1.2041044370333354 0.00651539452823075 7.312912334799914 0.0033222591362126247 0.019798527385379808 0.041071614915599616 29.99522714631871 0.008264462809917356 0.004651162790697674 0.009641873278236915 success 7 11.116392135620117 1.047396860657526 1.5327809936425985 6.56910238104792 0.0023781212841854932 MMRN2,CD93,CLEC14A,KDR,FLT1,PECAM1,EMCN 0.008323424494649227 success 8624 0.4506380910061747 0.0 0.37315094470977783 0.0 0.05890538077801466 0.024628942486085346 5 2.5959966480731964 0.684963474025974 8 0.022690853943026265 False 2.0 0.0 2.48319603632674 0.009087646555426442 5 True True True True True True True False True 8 strong strong: 8/9 computational evidence layers support the axis; contamination_flag=False. "MMRN2-CD93 +Endothelial Cells -> Endothelial Cells" +CD48-CD2|T Lymphocytes->T Lymphocytes T-cell adhesion/co-stimulation CD48 CD2 T Lymphocytes T Lymphocytes 0.6849877065459009 16 0.928447473463448 0.8960994285623033 1.0 1.0 1.0 0.1241603897223811 1.0 21212 T Lymphocytes T Lymphocytes 0.5604888999750561 0.37989524006843567 1 1.0 0.49837864804190574 0.3382389545440674 1 1.0 21212 3024.318857794739 7.0138107115687145 331.09056328473696 0.0 0.1241603897223811 0.0154158023760135 1 3299 1.0 1 400 1.0 success 250 0.5987173848132842 0.10702942070910819 0.04986335278579571 9.860708047779738 1.0 27 16 5 5 5 cellphonedb,laris,liana,spatialdm,stlearn cellphonedb,laris,liana,spatialdm,stlearn 7 1.0 CD48,CD2,CD3D,CD3E,TRAC,IL7R,LCK success 0.2793356776237488 0.0026596546296495946 0.00022015248609680323 1256.7472114416275 0.001996007984031936 500 0.001996007984031936 success 80180 61.10885372104814 0.2860439121723175 0.1294462459466201 0.27965914239486056 0.0026717226614147317 2.3897576906714106 0.009966777408637873 0.004725929109872596 0.017223321423744452 16.333550082541787 0.008264462809917356 0.011627906976744186 0.009641873278236915 success 7 11.544674396514893 1.0685981322434686 1.2195936012363278 8.589809141054532 0.0023781212841854932 CD48,CD2,CD3D,CD3E,TRAC,IL7R,LCK 0.008323424494649227 success 8018 0.4228849179250702 0.0 0.2631298005580902 0.0 0.020254427567124367 0.018882514342728862 5 0.07943065511062741 0.06225056123721627 8 0.2549950965268374 False 5.0 0.0 1.925246611638054 0.015713655566381553 5 True True True True True True True False True 8 strong strong: 8/9 computational evidence layers support the axis; contamination_flag=False. "CD48-CD2 +T Lymphocytes -> T Lymphocytes" +DLL4-NOTCH3|Endothelial Cells->Pericytes endothelial-pericyte Notch DLL4 NOTCH3 Endothelial Cells Pericytes 0.6695148471220083 24 0.9184503888425788 0.8818326005152037 0.946515890536252 1.0 0.8672894033034337 0.135465098207694 1.0 11379 Endothelial Cells Pericytes 0.476461038961039 0.2467532455921173 1 1.0 2.3809818226783728 0.5623840689659119 1 1.0 11379 3280.889960425034 3.4682662744732435 141.55074144031974 0.0 0.135465098207694 0.0303190087002372 1 3299 1.0 1 400 1.0 success 250 0.6103430039507179 0.10700066735274656 0.060629471265751134 8.301941713984622 1.0 86 24 5 5 5 cellphonedb,laris,liana,spatialdm,stlearn cellphonedb,laris,liana,spatialdm,stlearn 8 0.48688694950414185 DLL4,NOTCH3,NOTCH4,JAG1,HEY1,HES1,PDGFRB,RGS5 success 1.1344451904296875 0.022496088080108164 0.0018236492093399003 609.7384829575133 0.001996007984031936 500 0.001996007984031936 success 86240 84.10916634767867 1.1946196556091309 0.14225417439703153 1.1400103183587391 0.011914708983071235 4.58335468604246 0.0033222591362126247 0.010454062237477047 0.01560259723839002 75.89541505679755 0.008264462809917356 0.004651162790697674 0.009641873278236915 success 8 2.61274266988039 0.5068325942343411 0.5551530740828993 3.7933863180438414 0.014568158168574402 DLL4,NOTCH3,NOTCH4,JAG1,HEY1,HES1,PDGFRB,RGS5 0.025494276795005204 success 8087 0.721750076253441 0.0 0.3684804439544678 0.0 0.04168511740863323 0.01809586499910239 5 1.6176096498966217 0.4904778289749267 8 0.02576957760563387 False 6.0 0.0 1.634842418466564 0.014082178981952163 5 True True True True True True True False True 8 strong strong: 8/9 computational evidence layers support the axis; contamination_flag=False. "DLL4-NOTCH3 +Endothelial Cells -> Pericytes" +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes CAF-immune chemokine recruitment CXCL12 CXCR4 CAFs, DCIS Associated T Lymphocytes 0.6616803690861207 28 0.8924110508951895 0.9008184599638702 0.6198216015396206 1.0 1.0 0.1684304172162009 1.0 11604 CAFs, DCIS Associated T Lymphocytes 3.649660420587513 0.7872514724731445 1 1.0 0.9085806934397606 0.4825392961502075 1 1.0 11604 9219.306750089676 1.258662968328625 24.92068208259856 2.220471678964988e-137 0.1684304172162009 0.0450706652878317 2 3299 0.9996968778417702 1 400 1.0 success 250 0.7850757124806441 0.1029738649850631 0.06079893118587669 11.218977606863426 1.0 708 11 5 5 5 cellphonedb,laris,liana,spatialdm,stlearn cellphonedb,laris,liana,spatialdm,stlearn 8 0.7664489835769633 CXCL12,CXCR4,CXCR3,CCL19,CCL21,CD3D,CD3E,IL7R success 3.3160109519958496 0.08272893443703651 0.004327497961377857 747.1481318801938 0.001996007984031936 500 0.001996007984031936 success 244420 164.70706693328117 3.6240406036376953 0.3872269045086327 3.6269676375389097 0.011749306634564156 -0.24912396895010336 0.5813953488372093 0.017585406292346305 0.025217267011605142 143.01530755436883 0.008264462809917356 0.5813953488372093 0.009641873278236915 success 8 6.800970241427422 1.15657870703144 1.2287697052997264 4.59353083824538 0.012486992715920915 CXCL12,CXCR4,CXCR3,CCL19,CCL21,CD3D,CD3E,IL7R 0.025494276795005204 success 8018 0.4955612441859473 0.0 0.19490374624729156 0.0 0.01597042493522167 0.014516327788046826 5 0.060339648043736815 0.047238909426987066 8 0.2646754738053097 False 4.0 0.0 1.9739528093875909 0.0031410030934122366 5 True True False True True True True False True 7 strong strong: 7/9 computational evidence layers support the axis; contamination_flag=False. "CXCL12-CXCR4 +CAFs, DCIS Associated -> T Lymphocytes" +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells tumor-intrinsic Notch signaling JAG1 NOTCH2 11q13 Invasive Tumor Cells 11q13 Invasive Tumor Cells 0.6339181063246662 45 0.7941469661104034 0.663300745568453 1.0 1.0 1.0 0.1231934200799743 1.0 423716 11q13 Invasive Tumor Cells 11q13 Invasive Tumor Cells 1.4774345680554688 0.6293959617614746 2 0.7749134866963281 1.3958398400899494 0.607002317905426 2 0.6385056249219633 423716 192905.1692550145 2.1964989410929725 567.2684147856648 0.0 0.1231934200799743 0.0168391092146626 10 3299 0.9972719005759321 1 400 1.0 success 250 0.6593758884575077 0.6351644259334726 0.07744275561402209 0.3126368933035661 0.576 387 32 5 5 5 cellphonedb,laris,liana,spatialdm,stlearn cellphonedb,laris,liana,spatialdm,stlearn 7 0.5860530033828537 JAG1,NOTCH2,NOTCH1,HES1,HEY1,MYC,CCND1 success 2.0622618198394775 0.7131924320459366 0.005215585602508038 258.6611534368852 0.001996007984031936 500 0.001996007984031936 success 640360 18.888647018391925 2.253023386001587 0.39369885689299766 2.055801842212677 0.0037028198352934225 53.26252763072426 0.0033222591362126247 1.8470757191379865 0.5534657573718224 0.7334648285944125 0.2066115702479339 0.004651162790697674 0.2066115702479339 success 7 1.5110729336738586 1.5341725096816108 0.3373003415056495 -0.06848370180901593 0.6076099881093936 JAG1,NOTCH2,NOTCH1,HES1,HEY1,MYC,CCND1 0.6076099881093936 success 64036 0.5874875426315861 0.0 0.44811439514160156 0.0 0.013545505329966545 0.012730339184208883 5 0.05200395057909191 0.04524603348116684 8 0.26047069845906073 False 7.0 0.0 1.0246926473461682 0.0017333252101482156 5 True True True False False True True False True 6 strong strong: 6/9 computational evidence layers support the axis; contamination_flag=False. "JAG1-NOTCH2 +11q13 Invasive Tumor Cells -> 11q13 Invasive Tumor Cells" diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/topolink_cci_validation_v2_false_positive_controls.tsv b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/topolink_cci_validation_v2_false_positive_controls.tsv new file mode 100644 index 0000000..d5424d9 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2/tables/topolink_cci_validation_v2_false_positive_controls.tsv @@ -0,0 +1,78 @@ +axis_id control_type observed expected_or_control_mean z_or_rank p_or_percentile note cell_label_comm_prob cell_label_perm_mean cell_label_perm_z cell_label_perm_p cell_label_perm_fdr spatial_lr_edge_score spatial_perm_mean spatial_perm_z spatial_perm_p spatial_null_fdr spatial_matched_gene_mean spatial_matched_gene_z spatial_matched_gene_p spatial_matched_gene_fdr downstream_target_score downstream_target_null_mean downstream_target_z downstream_target_p downstream_target_fdr received_signal_target_spearman received_signal_target_p received_signal_target_fdr received_signal_top_vs_bottom_target_delta bootstrap_rank_median bootstrap_rank_iqr bootstrap_score_mean bootstrap_score_sd +VWF-SELP|Endothelial Cells->Endothelial Cells spatial_abundance_null 12779.0 3498.750466020217 157.09499064265975 0.0 cell-type-label abundance null for graph edge count +VWF-SELP|Endothelial Cells->Endothelial Cells lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +VWF-SELP|Endothelial Cells->Endothelial Cells lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated spatial_abundance_null 13942.0 9916.101448337911 40.577088952341676 0.0 cell-type-label abundance null for graph edge count +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +MMRN2-CD93|Endothelial Cells->Endothelial Cells spatial_abundance_null 12779.0 3498.750466020217 157.09499064265975 0.0 cell-type-label abundance null for graph edge count +MMRN2-CD93|Endothelial Cells->Endothelial Cells lr_label_permutation_same_sender_receiver 5.0 3299.0 5.0 0.9987875113670809 rank percentile against all LR pairs in the same sender-receiver cell-type pair +MMRN2-CD93|Endothelial Cells->Endothelial Cells lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +DLL4-NOTCH3|Endothelial Cells->Pericytes spatial_abundance_null 11379.0 3280.889960425034 141.55074144031974 0.0 cell-type-label abundance null for graph edge count +DLL4-NOTCH3|Endothelial Cells->Pericytes lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +DLL4-NOTCH3|Endothelial Cells->Pericytes lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes spatial_abundance_null 11604.0 9219.306750089676 24.92068208259856 2.220471678964988e-137 cell-type-label abundance null for graph edge count +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes lr_label_permutation_same_sender_receiver 2.0 3299.0 2.0 0.9996968778417702 rank percentile against all LR pairs in the same sender-receiver cell-type pair +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +CD48-CD2|T Lymphocytes->T Lymphocytes spatial_abundance_null 21212.0 3024.318857794739 331.09056328473696 0.0 cell-type-label abundance null for graph edge count +CD48-CD2|T Lymphocytes->T Lymphocytes lr_label_permutation_same_sender_receiver 1.0 3299.0 1.0 1.0 rank percentile against all LR pairs in the same sender-receiver cell-type pair +CD48-CD2|T Lymphocytes->T Lymphocytes lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells spatial_abundance_null 423716.0 192905.1692550145 567.2684147856648 0.0 cell-type-label abundance null for graph edge count +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells lr_label_permutation_same_sender_receiver 10.0 3299.0 10.0 0.9972719005759321 rank percentile against all LR pairs in the same sender-receiver cell-type pair +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells lr_label_permutation_same_lr_pair 1.0 400.0 1.0 1.0 rank percentile for the same LR pair across cell-type pairs +VWF-SELP|Endothelial Cells->Endothelial Cells matched_gene_expression_control 0.690919789894645 0.1174789121765555 6.674917611699146 1.0 matched by global mean expression and detection fraction +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated matched_gene_expression_control 0.8904867455342288 0.1132557384471686 11.234674798948532 1.0 matched by global mean expression and detection fraction +MMRN2-CD93|Endothelial Cells->Endothelial Cells matched_gene_expression_control 0.7291144166273554 0.13022764647610297 6.198278570208171 1.0 matched by global mean expression and detection fraction +DLL4-NOTCH3|Endothelial Cells->Pericytes matched_gene_expression_control 0.6103430039507179 0.10700066735274656 8.301941713984622 1.0 matched by global mean expression and detection fraction +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes matched_gene_expression_control 0.7850757124806441 0.1029738649850631 11.218977606863426 1.0 matched by global mean expression and detection fraction +CD48-CD2|T Lymphocytes->T Lymphocytes matched_gene_expression_control 0.5987173848132842 0.10702942070910819 9.860708047779738 1.0 matched by global mean expression and detection fraction +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells matched_gene_expression_control 0.6593758884575077 0.6351644259334726 0.3126368933035661 0.576 matched by global mean expression and detection fraction +CD48-CD2|T Lymphocytes->T Lymphocytes component_ablation_max_rank 27.0 16.0 27.0 worst and best rank after removing one score component +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes component_ablation_max_rank 708.0 11.0 708.0 worst and best rank after removing one score component +DLL4-NOTCH3|Endothelial Cells->Pericytes component_ablation_max_rank 86.0 24.0 86.0 worst and best rank after removing one score component +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells component_ablation_max_rank 387.0 32.0 387.0 worst and best rank after removing one score component +MMRN2-CD93|Endothelial Cells->Endothelial Cells component_ablation_max_rank 16.0 9.0 16.0 worst and best rank after removing one score component +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated component_ablation_max_rank 566.0 2.0 566.0 worst and best rank after removing one score component +VWF-SELP|Endothelial Cells->Endothelial Cells component_ablation_max_rank 13.0 1.0 13.0 worst and best rank after removing one score component +VWF-SELP|Endothelial Cells->Endothelial Cells cell_label_permutation 4.933703899383545 0.02757341218739748 1890.383003626386 0.001996007984031936 0.001996007984031936 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated cell_label_permutation 17.3447265625 0.2998358674645424 1048.1203533037499 0.001996007984031936 0.001996007984031936 +MMRN2-CD93|Endothelial Cells->Endothelial Cells cell_label_permutation 1.1805951595306396 0.008823287986218929 1824.588180992251 0.001996007984031936 0.001996007984031936 +DLL4-NOTCH3|Endothelial Cells->Pericytes cell_label_permutation 1.1344451904296875 0.022496088080108164 609.7384829575133 0.001996007984031936 0.001996007984031936 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes cell_label_permutation 3.3160109519958496 0.08272893443703651 747.1481318801938 0.001996007984031936 0.001996007984031936 +CD48-CD2|T Lymphocytes->T Lymphocytes cell_label_permutation 0.2793356776237488 0.0026596546296495946 1256.7472114416275 0.001996007984031936 0.001996007984031936 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells cell_label_permutation 2.0622618198394775 0.7131924320459366 258.6611534368852 0.001996007984031936 0.001996007984031936 +VWF-SELP|Endothelial Cells->Endothelial Cells spatial_neighborhood_permutation 7.3085808753967285 5.2657176113128665 46.73800996916185 0.0033222591362126247 0.004651162790697674 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated spatial_neighborhood_permutation 17.646312713623047 16.915456352233885 10.01810792174873 0.0033222591362126247 0.004651162790697674 +MMRN2-CD93|Endothelial Cells->Endothelial Cells spatial_neighborhood_permutation 1.2517509460449219 1.2041044370333354 7.312912334799914 0.0033222591362126247 0.004651162790697674 +DLL4-NOTCH3|Endothelial Cells->Pericytes spatial_neighborhood_permutation 1.1946196556091309 1.1400103183587391 4.58335468604246 0.0033222591362126247 0.004651162790697674 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes spatial_neighborhood_permutation 3.6240406036376953 3.6269676375389097 -0.24912396895010336 0.5813953488372093 0.5813953488372093 +CD48-CD2|T Lymphocytes->T Lymphocytes spatial_neighborhood_permutation 0.2860439121723175 0.27965914239486056 2.3897576906714106 0.009966777408637873 0.011627906976744186 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells spatial_neighborhood_permutation 2.253023386001587 2.055801842212677 53.26252763072426 0.0033222591362126247 0.004651162790697674 +VWF-SELP|Endothelial Cells->Endothelial Cells spatial_matched_gene_pairs 7.3085808753967285 0.018927508491591045 265.29890675949275 0.008264462809917356 0.009641873278236915 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated spatial_matched_gene_pairs 17.646312713623047 0.09186524196557003 32.389527643899775 0.008264462809917356 0.009641873278236915 +MMRN2-CD93|Endothelial Cells->Endothelial Cells spatial_matched_gene_pairs 1.2517509460449219 0.019798527385379808 29.99522714631871 0.008264462809917356 0.009641873278236915 +DLL4-NOTCH3|Endothelial Cells->Pericytes spatial_matched_gene_pairs 1.1946196556091309 0.010454062237477047 75.89541505679755 0.008264462809917356 0.009641873278236915 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes spatial_matched_gene_pairs 3.6240406036376953 0.017585406292346305 143.01530755436883 0.008264462809917356 0.009641873278236915 +CD48-CD2|T Lymphocytes->T Lymphocytes spatial_matched_gene_pairs 0.2860439121723175 0.004725929109872596 16.333550082541787 0.008264462809917356 0.009641873278236915 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells spatial_matched_gene_pairs 2.253023386001587 1.8470757191379865 0.7334648285944125 0.2066115702479339 0.2066115702479339 +VWF-SELP|Endothelial Cells->Endothelial Cells downstream_target_enrichment 6.738417175908883 1.0064762527795716 4.055444112466758 0.019417475728155338 0.027184466019417475 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated downstream_target_enrichment 2.588202246597835 0.41110825241499005 3.763648132120292 0.02497027348394768 0.029131985731272295 +MMRN2-CD93|Endothelial Cells->Endothelial Cells downstream_target_enrichment 11.116392135620117 1.047396860657526 6.56910238104792 0.0023781212841854932 0.008323424494649227 +DLL4-NOTCH3|Endothelial Cells->Pericytes downstream_target_enrichment 2.61274266988039 0.5068325942343411 3.7933863180438414 0.014568158168574402 0.025494276795005204 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes downstream_target_enrichment 6.800970241427422 1.15657870703144 4.59353083824538 0.012486992715920915 0.025494276795005204 +CD48-CD2|T Lymphocytes->T Lymphocytes downstream_target_enrichment 11.544674396514893 1.0685981322434686 8.589809141054532 0.0023781212841854932 0.008323424494649227 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells downstream_target_enrichment 1.5110729336738586 1.5341725096816108 -0.06848370180901593 0.6076099881093936 0.6076099881093936 +VWF-SELP|Endothelial Cells->Endothelial Cells received_signal_target_correlation 0.6283646829850982 0.0 0.0 0.48874330520629883 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated received_signal_target_correlation 0.6575063035069829 0.0 0.0 0.5568488836288452 +MMRN2-CD93|Endothelial Cells->Endothelial Cells received_signal_target_correlation 0.4506380910061747 0.0 0.0 0.37315094470977783 +DLL4-NOTCH3|Endothelial Cells->Pericytes received_signal_target_correlation 0.721750076253441 0.0 0.0 0.3684804439544678 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes received_signal_target_correlation 0.4955612441859473 0.0 0.0 0.19490374624729156 +CD48-CD2|T Lymphocytes->T Lymphocytes received_signal_target_correlation 0.4228849179250702 0.0 0.0 0.2631298005580902 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells received_signal_target_correlation 0.5874875426315861 0.0 0.0 0.44811439514160156 +CD48-CD2|T Lymphocytes->T Lymphocytes bootstrap_stability 5.0 0.0 1.925246611638054 0.015713655566381553 +CXCL12-CXCR4|CAFs, DCIS Associated->T Lymphocytes bootstrap_stability 4.0 0.0 1.9739528093875909 0.0031410030934122366 +DLL4-NOTCH3|Endothelial Cells->Pericytes bootstrap_stability 6.0 0.0 1.634842418466564 0.014082178981952163 +JAG1-NOTCH2|11q13 Invasive Tumor Cells->11q13 Invasive Tumor Cells bootstrap_stability 7.0 0.0 1.0246926473461682 0.0017333252101482156 +MMRN2-CD93|Endothelial Cells->Endothelial Cells bootstrap_stability 2.0 0.0 2.48319603632674 0.009087646555426442 +VWF-LRP1|Endothelial Cells->CAFs, DCIS Associated bootstrap_stability 3.0 0.0 2.4760898894274397 0.003754003645322219 +VWF-SELP|Endothelial Cells->Endothelial Cells bootstrap_stability 1.0 0.0 2.5247310175523965 0.011933106345753796 diff --git a/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2_20102726.stderr.log b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2_20102726.stderr.log new file mode 100644 index 0000000..61d1924 --- /dev/null +++ b/benchmarking/cci_2026_atera/pdc_validation_v2_collected/topolink_cci_validation_v2_20102726.stderr.log @@ -0,0 +1,23 @@ + Command being timed: "/cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/envs/python/pyxenium/bin/python /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/repo/benchmarking/cci_2026_atera/scripts/topolink_cci_validation_v2.py --root /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04 --output-dir /cfs/klemming/scratch/h/hutaobo/topolink_cci_benchmark_2026-04/runs/validation/topolink_cci_validation_v2 --n-label-permutations 500 --n-spatial-permutations 300 --n-spatial-matched-pairs 120 --n-matched-controls 250 --n-downstream-permutations 120 --n-bootstraps 5 --k-neighbors 10 --seed 20260428" + User time (seconds): 82.11 + System time (seconds): 7.42 + Percent of CPU this job got: 91% + Elapsed (wall clock) time (h:mm:ss or m:ss): 1:38.10 + Average shared text size (kbytes): 0 + Average unshared data size (kbytes): 0 + Average stack size (kbytes): 0 + Average total size (kbytes): 0 + Maximum resident set size (kbytes): 8902180 + Average resident set size (kbytes): 0 + Major (requiring I/O) page faults: 4571 + Minor (reclaiming a frame) page faults: 651120 + Voluntary context switches: 17777 + Involuntary context switches: 474 + Swaps: 0 + File system inputs: 1917384 + File system outputs: 1136 + Socket messages sent: 0 + Socket messages received: 0 + Signals delivered: 0 + Page size (bytes): 4096 + Exit status: 0 diff --git a/benchmarking/lr_2026_atera/reports/.gitkeep b/benchmarking/cci_2026_atera/reports/.gitkeep similarity index 100% rename from benchmarking/lr_2026_atera/reports/.gitkeep rename to benchmarking/cci_2026_atera/reports/.gitkeep diff --git a/benchmarking/lr_2026_atera/results/.gitkeep b/benchmarking/cci_2026_atera/results/.gitkeep similarity index 100% rename from benchmarking/lr_2026_atera/results/.gitkeep rename to benchmarking/cci_2026_atera/results/.gitkeep diff --git a/benchmarking/lr_2026_atera/runners/python/run_commot.py b/benchmarking/cci_2026_atera/runners/python/run_commot.py similarity index 87% rename from benchmarking/lr_2026_atera/runners/python/run_commot.py rename to benchmarking/cci_2026_atera/runners/python/run_commot.py index 4f54cc6..dabc64b 100644 --- a/benchmarking/lr_2026_atera/runners/python/run_commot.py +++ b/benchmarking/cci_2026_atera/runners/python/run_commot.py @@ -7,13 +7,13 @@ def main() -> None: - parser = argparse.ArgumentParser(description="Run the COMMOT LR benchmark adapter.") + parser = argparse.ArgumentParser(description="Run the COMMOT CCI benchmark adapter.") parser.add_argument("--input-manifest", required=True) parser.add_argument("--output-dir", required=True) parser.add_argument("--method", default="commot") parser.add_argument("--database-mode", default="common-db") parser.add_argument("--phase", choices=["smoke", "full"], default="smoke") - parser.add_argument("--max-lr-pairs", type=int, default=None) + parser.add_argument("--max-cci-pairs", type=int, default=None) parser.add_argument("--n-perms", type=int, default=100) args = parser.parse_args() @@ -23,7 +23,7 @@ def main() -> None: output_dir=args.output_dir, database_mode=args.database_mode, phase=args.phase, - max_lr_pairs=args.max_lr_pairs, + max_cci_pairs=args.max_cci_pairs, n_perms=args.n_perms, ) print(json.dumps(payload, indent=2)) diff --git a/benchmarking/lr_2026_atera/runners/python/run_liana.py b/benchmarking/cci_2026_atera/runners/python/run_liana.py similarity index 85% rename from benchmarking/lr_2026_atera/runners/python/run_liana.py rename to benchmarking/cci_2026_atera/runners/python/run_liana.py index 4ca4a5f..f5efcff 100644 --- a/benchmarking/lr_2026_atera/runners/python/run_liana.py +++ b/benchmarking/cci_2026_atera/runners/python/run_liana.py @@ -7,13 +7,13 @@ def main() -> None: - parser = argparse.ArgumentParser(description="Run the LIANA+ spatial bivariate LR benchmark adapter.") + parser = argparse.ArgumentParser(description="Run the LIANA+ spatial bivariate CCI benchmark adapter.") parser.add_argument("--input-manifest", required=True) parser.add_argument("--output-dir", required=True) parser.add_argument("--method", default="liana") parser.add_argument("--database-mode", default="common-db") parser.add_argument("--phase", choices=["smoke", "full"], default="smoke") - parser.add_argument("--max-lr-pairs", type=int, default=None) + parser.add_argument("--max-cci-pairs", type=int, default=None) parser.add_argument("--n-perms", type=int, default=100) args = parser.parse_args() @@ -23,7 +23,7 @@ def main() -> None: output_dir=args.output_dir, database_mode=args.database_mode, phase=args.phase, - max_lr_pairs=args.max_lr_pairs, + max_cci_pairs=args.max_cci_pairs, n_perms=args.n_perms, ) print(json.dumps(payload, indent=2)) diff --git a/benchmarking/lr_2026_atera/runners/python/run_method_stub.py b/benchmarking/cci_2026_atera/runners/python/run_method_stub.py similarity index 95% rename from benchmarking/lr_2026_atera/runners/python/run_method_stub.py rename to benchmarking/cci_2026_atera/runners/python/run_method_stub.py index 5270b9e..ab97cf1 100644 --- a/benchmarking/lr_2026_atera/runners/python/run_method_stub.py +++ b/benchmarking/cci_2026_atera/runners/python/run_method_stub.py @@ -6,7 +6,7 @@ def main() -> None: - parser = argparse.ArgumentParser(description="Placeholder runner for third-party Python LR methods.") + parser = argparse.ArgumentParser(description="Placeholder runner for third-party Python CCI methods.") parser.add_argument("--method", required=True) parser.add_argument("--input-manifest", required=True) parser.add_argument("--output-dir", required=True) diff --git a/benchmarking/lr_2026_atera/runners/python/run_pyxenium.py b/benchmarking/cci_2026_atera/runners/python/run_pyxenium.py similarity index 85% rename from benchmarking/lr_2026_atera/runners/python/run_pyxenium.py rename to benchmarking/cci_2026_atera/runners/python/run_pyxenium.py index a267375..259282a 100644 --- a/benchmarking/lr_2026_atera/runners/python/run_pyxenium.py +++ b/benchmarking/cci_2026_atera/runners/python/run_pyxenium.py @@ -7,16 +7,16 @@ def main() -> None: - parser = argparse.ArgumentParser(description="Runner wrapper for the pyXenium LR benchmark adapter.") + parser = argparse.ArgumentParser(description="Runner wrapper for the pyXenium CCI benchmark adapter.") parser.add_argument("--input-manifest", default=None) parser.add_argument("--input-h5ad", default=None) parser.add_argument("--output-dir", required=True) parser.add_argument("--tbc-results", default=None) - parser.add_argument("--lr-panel-path", default=None) + parser.add_argument("--cci-panel-path", default=None) parser.add_argument("--method", default="pyxenium") parser.add_argument("--database-mode", default="common-db") parser.add_argument("--phase", choices=["smoke", "full"], default="smoke") - parser.add_argument("--max-lr-pairs", type=int, default=None) + parser.add_argument("--max-cci-pairs", type=int, default=None) parser.add_argument("--export-figures", action="store_true") args = parser.parse_args() @@ -27,7 +27,7 @@ def main() -> None: output_dir=args.output_dir, database_mode=args.database_mode, phase=args.phase, - max_lr_pairs=args.max_lr_pairs, + max_cci_pairs=args.max_cci_pairs, tbc_results=args.tbc_results, export_figures=args.export_figures, ) @@ -37,7 +37,7 @@ def main() -> None: for name, value in { "--input-h5ad": args.input_h5ad, "--tbc-results": args.tbc_results, - "--lr-panel-path": args.lr_panel_path, + "--cci-panel-path": args.cci_panel_path, }.items() if value is None ] @@ -47,7 +47,7 @@ def main() -> None: input_h5ad=args.input_h5ad, output_dir=args.output_dir, tbc_results=args.tbc_results, - lr_panel_path=args.lr_panel_path, + cci_panel_path=args.cci_panel_path, database_mode=args.database_mode, export_figures=args.export_figures, ) diff --git a/benchmarking/lr_2026_atera/runners/python/run_squidpy.py b/benchmarking/cci_2026_atera/runners/python/run_squidpy.py similarity index 86% rename from benchmarking/lr_2026_atera/runners/python/run_squidpy.py rename to benchmarking/cci_2026_atera/runners/python/run_squidpy.py index 013c110..d5b83c2 100644 --- a/benchmarking/lr_2026_atera/runners/python/run_squidpy.py +++ b/benchmarking/cci_2026_atera/runners/python/run_squidpy.py @@ -7,13 +7,13 @@ def main() -> None: - parser = argparse.ArgumentParser(description="Run the Squidpy ligrec LR benchmark adapter.") + parser = argparse.ArgumentParser(description="Run the Squidpy ligrec CCI benchmark adapter.") parser.add_argument("--input-manifest", required=True) parser.add_argument("--output-dir", required=True) parser.add_argument("--method", default="squidpy") parser.add_argument("--database-mode", default="common-db") parser.add_argument("--phase", choices=["smoke", "full"], default="smoke") - parser.add_argument("--max-lr-pairs", type=int, default=None) + parser.add_argument("--max-cci-pairs", type=int, default=None) parser.add_argument("--n-perms", type=int, default=100) args = parser.parse_args() @@ -23,7 +23,7 @@ def main() -> None: output_dir=args.output_dir, database_mode=args.database_mode, phase=args.phase, - max_lr_pairs=args.max_lr_pairs, + max_cci_pairs=args.max_cci_pairs, n_perms=args.n_perms, ) print(json.dumps(payload, indent=2)) diff --git a/benchmarking/lr_2026_atera/runners/r/run_cellchat.R b/benchmarking/cci_2026_atera/runners/r/run_cellchat.R similarity index 98% rename from benchmarking/lr_2026_atera/runners/r/run_cellchat.R rename to benchmarking/cci_2026_atera/runners/r/run_cellchat.R index 613bef9..02bc073 100644 --- a/benchmarking/lr_2026_atera/runners/r/run_cellchat.R +++ b/benchmarking/cci_2026_atera/runners/r/run_cellchat.R @@ -136,7 +136,7 @@ if (!requireNamespace("CellChat", quietly = TRUE)) fail_run(output_dir, "R packa input_manifest <- opts[["input-manifest"]] %||% fail_run(output_dir, "--input-manifest is required.") database_mode <- opts[["database-mode"]] %||% "common-db" phase <- opts[["phase"]] %||% "smoke" -max_lr_pairs <- opts[["max-lr-pairs"]] +max_cci_pairs <- opts[["max-cci-pairs"]] disable_pathway <- isTRUE(opts[["disable-pathway"]]) manifest <- jsonlite::fromJSON(input_manifest, simplifyVector = FALSE) if (phase == "full") { @@ -155,7 +155,7 @@ write_json(file.path(output_dir, "params.json"), list( phase = phase, input_manifest = input_manifest, output_dir = output_dir, - max_lr_pairs = max_lr_pairs, + max_cci_pairs = max_cci_pairs, disable_pathway = disable_pathway, runner = "run_cellchat.R" )) @@ -182,10 +182,10 @@ cellchat <- tryCatch( ) if (database_mode %in% c("common", "common-db", "smoke-panel")) { - db_path <- if (database_mode == "smoke-panel") manifest$atera_smoke_panel_tsv else manifest$lr_db_common_tsv + db_path <- if (database_mode == "smoke-panel") manifest$atera_smoke_panel_tsv else manifest$cci_resource_common_tsv lr_db <- read.delim(db_path, sep = "\t", stringsAsFactors = FALSE) if (!"pathway" %in% colnames(lr_db)) lr_db$pathway <- "custom" - if (!is.null(max_lr_pairs)) lr_db <- head(lr_db, as.integer(max_lr_pairs)) + if (!is.null(max_cci_pairs)) lr_db <- head(lr_db, as.integer(max_cci_pairs)) cellchat@DB <- create_common_db(lr_db) } else { data(CellChatDB.human, package = "CellChat", envir = environment()) diff --git a/benchmarking/lr_2026_atera/runners/r/run_external_lr_method.R b/benchmarking/cci_2026_atera/runners/r/run_external_cci_method.R similarity index 92% rename from benchmarking/lr_2026_atera/runners/r/run_external_lr_method.R rename to benchmarking/cci_2026_atera/runners/r/run_external_cci_method.R index b3da966..95a61a9 100644 --- a/benchmarking/lr_2026_atera/runners/r/run_external_lr_method.R +++ b/benchmarking/cci_2026_atera/runners/r/run_external_cci_method.R @@ -7,7 +7,7 @@ now_iso <- function() { } activate_method_renv <- function(method, input_manifest = NULL, output_dir = NULL) { - benchmark_root <- Sys.getenv("PYX_LR_BENCHMARK_ROOT", unset = NA_character_) + benchmark_root <- Sys.getenv("PYX_CCI_BENCHMARK_ROOT", unset = NA_character_) if (is.na(benchmark_root) && !is.null(input_manifest) && !is.na(input_manifest)) { benchmark_root <- dirname(dirname(normalizePath(input_manifest, mustWork = FALSE))) } @@ -17,7 +17,7 @@ activate_method_renv <- function(method, input_manifest = NULL, output_dir = NUL if (is.na(benchmark_root)) { return(invisible(FALSE)) } - project_dir <- file.path(benchmark_root, "envs", paste0("r-lr-", method, "_project")) + project_dir <- file.path(benchmark_root, "envs", paste0("r-cci-", method, "_project")) if (!dir.exists(project_dir)) { return(invisible(FALSE)) } @@ -36,7 +36,7 @@ parse_args <- function() { output_dir = NULL, database_mode = "common-db", phase = "smoke", - max_lr_pairs = NULL, + max_cci_pairs = NULL, allow_expression_baseline = FALSE ) i <- 1 @@ -48,7 +48,7 @@ parse_args <- function() { if (key == "--output-dir") out$output_dir <- value if (key == "--database-mode") out$database_mode <- value if (key == "--phase") out$phase <- value - if (key == "--max-lr-pairs") out$max_lr_pairs <- as.integer(value) + if (key == "--max-cci-pairs") out$max_cci_pairs <- as.integer(value) if (key == "--allow-expression-baseline") { out$allow_expression_baseline <- TRUE i <- i + 1 @@ -104,9 +104,9 @@ run_package_present_expression_baseline <- function(opts, available) { started <- Sys.time() manifest <- fromJSON(opts$input_manifest, simplifyVector = FALSE) bundle <- select_bundle(manifest, opts$phase) - lr_path <- manifest$lr_db_common_tsv + lr_path <- manifest$cci_resource_common_tsv if (is.null(lr_path) || !file.exists(lr_path)) { - stop("Manifest lr_db_common_tsv is missing or not readable") + stop("Manifest cci_resource_common_tsv is missing or not readable") } genes <- read.table(bundle$genes_tsv, sep = "\t", header = TRUE, stringsAsFactors = FALSE, quote = "", comment.char = "") @@ -126,18 +126,18 @@ run_package_present_expression_baseline <- function(opts, available) { lr <- read.table(lr_path, sep = "\t", header = TRUE, stringsAsFactors = FALSE, quote = "", comment.char = "") if (!all(c("ligand", "receptor") %in% colnames(lr))) { - stop("LR database must contain ligand and receptor columns") + stop("CCI resource must contain ligand and receptor columns") } lr <- unique(lr[, c("ligand", "receptor"), drop = FALSE]) lr$ligand <- as.character(lr$ligand) lr$receptor <- as.character(lr$receptor) detected <- lr$ligand %in% gene_symbols & lr$receptor %in% gene_symbols lr <- lr[detected, , drop = FALSE] - if (!is.null(opts$max_lr_pairs) && !is.na(opts$max_lr_pairs)) { - lr <- head(lr, opts$max_lr_pairs) + if (!is.null(opts$max_cci_pairs) && !is.na(opts$max_cci_pairs)) { + lr <- head(lr, opts$max_cci_pairs) } if (nrow(lr) == 0) { - stop("No detectable LR pairs remained after filtering") + stop("No detectable CCI pairs remained after filtering") } needed_genes <- unique(c(lr$ligand, lr$receptor)) @@ -190,7 +190,7 @@ run_package_present_expression_baseline <- function(opts, available) { fdr_or_pvalue = NA_real_, resolution = "celltype_pair", spatial_support_type = paste0(opts$method, "_package_present_expression_baseline"), - artifact_path = file.path(opts$output_dir, "raw", paste0(opts$method, "_expression_lr_scores.tsv")), + artifact_path = file.path(opts$output_dir, "raw", paste0(opts$method, "_expression_cci_scores.tsv")), stringsAsFactors = FALSE ) } @@ -202,7 +202,7 @@ run_package_present_expression_baseline <- function(opts, available) { "resolution", "spatial_support_type", "artifact_path" )] - raw_path <- file.path(opts$output_dir, "raw", paste0(opts$method, "_expression_lr_scores.tsv")) + raw_path <- file.path(opts$output_dir, "raw", paste0(opts$method, "_expression_cci_scores.tsv")) std_path <- file.path(opts$output_dir, paste0(opts$method, "_standardized.tsv")) write.table(df, raw_path, sep = "\t", quote = FALSE, row.names = FALSE) write.table(df, std_path, sep = "\t", quote = FALSE, row.names = FALSE) @@ -214,14 +214,14 @@ run_package_present_expression_baseline <- function(opts, available) { database_mode = opts$database_mode, bounded_mode = "package_present_expression_baseline", package_available = available, - n_lr_pairs = nrow(lr), + n_interaction_pairs = nrow(lr), n_rows = nrow(df), standardized_tsv = std_path, raw_artifact = raw_path, input_manifest = opts$input_manifest, output_dir = opts$output_dir, elapsed_seconds = as.numeric(difftime(Sys.time(), started, units = "secs")), - note = "A method package was importable, but the method-specific public API mapping is not finalized; this bounded result uses the shared LR expression baseline and is kept for appendix comparison." + note = "A method package was importable, but the method-specific public API mapping is not finalized; this bounded result uses the shared CCI expression baseline and is kept for appendix comparison." ) write_json(payload, file.path(opts$output_dir, "run_summary.json"), auto_unbox = TRUE, pretty = TRUE) invisible(payload) @@ -280,7 +280,7 @@ main <- function() { allow_expression_baseline = isTRUE(opts$allow_expression_baseline), input_manifest = opts$input_manifest, output_dir = opts$output_dir, - reproduce = paste("conda run --nameXenium I/O, multimodal analysis, topology workflows, contour-native spatial profiling, GMI inference, mechanostress analysis, and AI-driven spatial pathology handoff.
+Xenium I/O, multimodal analysis, topology workflows, contour-native spatial profiling, GMI inference, mechanostress analysis, and optional external workflow bridges.
- pyXenium is a Python toolkit for 10x Genomics Xenium with eight feature areas:
- canonical Xenium I/O, multimodal RNA + protein analysis, topology-native ligand-receptor
+ pyXenium is a Python toolkit for 10x Genomics Xenium with nine feature areas:
+ canonical Xenium I/O, multimodal RNA + protein analysis, topology-native cell-cell interaction
and pathway methods, contour-aware geometry workflows, contour-level GMI modeling,
- morphology-derived mechanostress analysis, and an optional handoff to the external
- AI-Driven Spatial Pathologist workflow through spatho.
+ morphology-derived mechanostress analysis, and optional external workflow bridges for
+ AI-driven spatial pathology through spatho and Perturb-seq reference projection
+ through SpatialPerturb.
This site is organized to mirror
the crisp, research-oriented experience of the SpatialData docs while staying specific to
pyXenium’s package architecture.
@@ -74,7 +75,7 @@ Load Xenium exports, recover partial bundles, round-trip `XeniumSData`, and expo
:::{grid-item-card} Tutorials
:link: tutorials/index
:link-type: doc
-Follow notebook-style walkthroughs for pyXenium modules and the optional `spatho` pathology handoff.
+Follow notebook-style walkthroughs for pyXenium modules and optional external workflow bridges.
:::
:::{grid-item-card} Multimodal Analysis
@@ -107,10 +108,16 @@ Compute fibroblast axis strength, tumor-stroma growth patterning, and cell polar
Call the external `spatho` workflow on Xenium cases structured by pyXenium `XeniumSData`.
:::
+:::{grid-item-card} SpatialPerturb Bridge
+:link: tutorials/spatialperturb_bridge
+:link-type: doc
+Generate handoff specs for Perturb-seq reference projection with the external `SpatialPerturb` CLI.
+:::
+
:::{grid-item-card} API
:link: api/index
:link-type: doc
-Browse curated autosummary pages for `io`, `multimodal`, `ligand_receptor`, `pathway`, `contour`, `gmi`, and `mechanostress`.
+Browse curated autosummary pages for `io`, `multimodal`, `cci`, `pathway`, `contour`, `gmi`, `mechanostress`, and `perturb`.
:::
:::{grid-item-card} Changelog
@@ -124,12 +131,13 @@ Track documentation, branding, and package-level changes.
- `pyXenium.io`: Xenium artifact loading, partial export recovery, SData I/O, and SpatialData-compatible export.
- `pyXenium.multimodal`: canonical RNA + protein loading, immune-resistance scoring, joint analyses, and packaged multimodal workflows.
-- `pyXenium.ligand_receptor`: topology-native ligand-receptor analysis primitives.
+- `pyXenium.cci`: topology-native cell-cell interaction analysis primitives.
- `pyXenium.pathway`: pathway topology analysis and pathway activity scoring.
- `pyXenium.contour`: GeoJSON contour import and contour-aware density profiling around polygon annotations.
- `pyXenium.gmi`: contour-level GMI modeling for sparse main-effect and interaction discovery in spatial transcriptomics.
- `pyXenium.mechanostress`: morphology-derived mechanical stress states from cell/nucleus boundaries and tumor-stroma context.
- AI-Driven Spatial Pathologist via `spatho`: optional external AI pathology review workflow built on pyXenium's `XeniumSData` case structure, not a pyXenium runtime dependency.
+- `pyXenium.perturb`: SpatialPerturb Bridge for optional Perturb-seq reference projection onto Xenium tissue through the external `SpatialPerturb` package.
:::{admonition} GitHub branding asset
:class: pyxenium-brand-note
diff --git a/docs/tutorials/ai_driven_spatial_pathologist.md b/docs/tutorials/ai_driven_spatial_pathologist.md
index b86f7e4..cf279a1 100644
--- a/docs/tutorials/ai_driven_spatial_pathologist.md
+++ b/docs/tutorials/ai_driven_spatial_pathologist.md
@@ -6,10 +6,10 @@
is an external workflow layer for AI-assisted pathology review around Xenium-scale spatial
transcriptomics. The public Python package and CLI are named `spatho`.
-pyXenium treats this as an eighth feature area in the documentation, not as a new
-`pyXenium.spatho` namespace. The goal is to show where pyXenium hands a structured
-Xenium case to `spatho`, while keeping the AI workflow implementation in the
-AI-Driven Spatial Pathologist project.
+pyXenium treats this as an optional external workflow bridge, not as a new
+`pyXenium.spatho` namespace. The goal is to show where pyXenium hands a
+structured Xenium case to `spatho`, while keeping the AI workflow implementation
+in the AI-Driven Spatial Pathologist project.
## Relationship to XeniumSData
diff --git a/docs/tutorials/ligand_receptor.ipynb b/docs/tutorials/cci.ipynb
similarity index 99%
rename from docs/tutorials/ligand_receptor.ipynb
rename to docs/tutorials/cci.ipynb
index a32a4d5..44f9304 100644
--- a/docs/tutorials/ligand_receptor.ipynb
+++ b/docs/tutorials/cci.ipynb
@@ -5,15 +5,15 @@
"id": "11d63fde",
"metadata": {},
"source": [
- "# pyXenium.ligand_receptor Tutorial\n",
+ "# pyXenium.cci Tutorial\n",
"\n",
"## Overview\n",
"\n",
- "This notebook walks through the Atera WTA breast topology reproducibility bundle and focuses on how `pyXenium.ligand_receptor` turns precomputed topology anchors plus cell-type expression support into interpretable sender-receiver hypotheses.\n",
+ "This notebook walks through the Atera WTA breast topology reproducibility bundle and focuses on how `pyXenium.cci` turns precomputed topology anchors plus cell-type expression support into interpretable sender-receiver hypotheses.\n",
"\n",
"## Biological question\n",
"\n",
- "Which cell populations appear to drive the strongest ligand-receptor communication programs across tumor, stromal, immune, and vascular compartments in the Atera breast sample?\n"
+ "Which cell populations appear to drive the strongest cell-cell interaction communication programs across tumor, stromal, immune, and vascular compartments in the Atera breast sample?\n"
]
},
{
@@ -109,7 +109,7 @@
"\n",
"- Raw study: Atera WTA FFPE breast Xenium export with precomputed `t_and_c` and `StructureMap` anchors.\n",
"- Versioned outputs in this repository: `manuscript/atera_wta_breast_topology/`.\n",
- "- Canonical API: `ligand_receptor_topology_analysis` and the packaged `run_atera_wta_breast_topology(...)` workflow.\n",
+ "- Canonical API: `cci_topology_analysis` and the packaged `run_atera_wta_breast_topology(...)` workflow.\n",
"\n",
"## Setup\n",
"\n",
@@ -154,7 +154,7 @@
"