Skip to main content

GitHub Workflow Status Coverage Status Github Contributors Github Commits

Confound-Corrected Connectome-Based Predictive Modelling in Python

Confound-Corrected Connectome-Based Predictive Modelling is a Python package for performing connectome-based predictive modeling (CPM). This toolbox is designed for researchers in neuroscience and psychiatry, providing robust methods for building predictive models based on structural or functional connectome data. It emphasizes replicability, interpretability, and flexibility, making it a valuable tool for analyzing brain connectivity and its relationship to behavior or clinical outcomes.


What is Connectome-Based Predictive Modeling?

Connectome-based predictive modeling (CPM) is a machine learning framework that leverages the brain's connectivity patterns to predict individual differences in behavior, cognition, or clinical status. By identifying key edges in the connectome, CPM creates models that link connectivity metrics with target variables (e.g., clinical scores). This approach is particularly suited for studying complex relationships in neuroimaging data and developing interpretable predictive models.


Key Features

  • Univariate Edge Selection: Supports methods like pearson, spearman, and their partial correlation counterparts, with options for p-threshold optimization and FDR correction.
  • Cross-Validation: Implements nested cross-validation for robust model evaluation.
  • Edge Stability: Selects stable edges across folds to improve model reliability.
  • Confound Adjustment: Controls for covariates during edge selection and modeling.
  • Permutation Testing: Assesses the statistical significance of models using robust permutation-based methods.

Documentation

For detailed instructions on installation, usage, and advanced configurations, visit the documentation website.


Installation

Install the latest release from PyPI:

pip install cccpm

Or install the development version from GitHub:

git clone https://github.com/wwu-mmll/confound_corrected_cpm.git
cd confound_corrected_cpm
pip install .

CCCPM requires Python 3.10–3.14 and uses PyTorch for computation (CPU by default; CUDA/MPS used automatically when available). See the installation guide for platform-specific notes.

Quick Example

Here's a quick overview of how to run a CPM analysis:

from cccpm import CPMAnalysis, UnivariateEdgeSelection, PThreshold
from sklearn.model_selection import KFold

# Configure edge selection. `selection_input="residualized"` controls for the
# covariates while *selecting* edges.
univariate_edge_selection = UnivariateEdgeSelection(
    selection_statistic="pearson",
    selection_input="residualized",
    edge_selection=[PThreshold(threshold=[0.05], correction=["fdr_by"])]
)

# Create the CPM analysis object. `model_input` is the second, independent
# confound-control choice: deconfound the connectome the models consume.
cpm = CPMAnalysis(
    results_directory="results/",
    cv=KFold(n_splits=10, shuffle=True, random_state=42),
    edge_selection=univariate_edge_selection,
    model_input="residualized",
    n_permutations=100
)

# Run the analysis
X = ...           # Connectome data, shape (n_samples, n_features)
y = ...           # Target variable, shape (n_samples,)
covariates = ...  # Covariates to control for, shape (n_samples, n_covariates)
cpm.run(X=X, y=y, covariates=covariates)   # covariates are optional

Contributing

Contributions are welcome! If you have ideas, feedback, or feature requests, feel free to open an issue or submit a pull request on the GitHub repository.

Metadata

Release files for cccpm 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cccpm 0.7.0
File Size Uploaded
cccpm-0.7.0.tar.gz 139.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cccpm 0.7.0
File Interpreter ABI Platform
cccpm-0.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 311.0 kB

Release files / cccpm-0.7.0.tar.gz

Download URL cccpm-0.7.0.tar.gz
Size 139.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ba6b166da4f26fac41d8c5a41d1dc8172f35ad329a576638c9dcb2ac3f3e510e
BLAKE2b-256 checksum
How to use checksums
b783242ca2f41cf77f40241b8d98c9831be44004efb16299b9f45ec3090dcb68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / cccpm-0.7.0-py3-none-any.whl

Download URL cccpm-0.7.0-py3-none-any.whl
Size 171.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b6b744e563a8f48f01a45a52504c92c62868b500724ddce3bd7d4c7b36ef510a
BLAKE2b-256 checksum
How to use checksums
88dba66a132df2be4dfdf8a7c8fe0d50a224808524d91bdd389c326fae2271f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.7.0 This release

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page