cBioPortal logo
Research & Clinicalvendor

Connect cBioPortal

Govern the four comment rows that are the schema of your study.

How CoreModels works with cBioPortal

cBioPortal studies look like data files. They are also schemas: attribute IDs, human labels, datatypes, and descriptions live in a fragile header convention. Multiply that by a portfolio of studies and you get silent divergence — the same clinical concept spelled three ways, typed two ways, described in none.

CoreModels imports those headers into a governed attribute registry. The staging preflight recipe checks a study before load. Consortium conformance compares a study against an agreed portfolio model. The CI drift gate fails a change that retypes an attribute the consortium already published.

The point is not to replace cBioPortal. It is to give study metadata the same governance you would demand of any other production schema.

Recipes

Recipes

Recipes for cBioPortal

cBioPortal governed baseline

The study's clinical schema, governed — headers only, so no patient data ever leaves your site.

Research Informatics EngineerRelated use →

Clinical attribute registry

One governed dictionary for every study — because 24 spellings of radiation therapy is not a vocabulary.

Research Informatics EngineerRelated use →

Consortium conformance loop

Retire the curation checklist — a drift loop for every study in the portfolio.

Research Informatics EngineerRelated use →

Staging-file preflight

Start valid instead of fixing invalid — headers minted from governed meaning.

Research Informatics EngineerRelated use →

Study-update gate

Republishing a study shouldn't silently change what its attributes mean.

Research Informatics EngineerRelated use →

Uses

Problems this connector fixes

Articles that explain the gap, then point at the recipe that closes it.

Problem

Four Comment Rows Are the Schema of Your Study

Open `data_clinical_sample.txt` from any cBioPortal study and look at the top of the file. Four lines beginning with `#`, then a row of attribute IDs, then the data. Those four lines carry the display names, the human descriptions, the datatypes — `STRING`, `NUMBER`, `BOOLEAN` — and the priorities for every clinical attribute in the study. They are the study's complete declared clinical meaning.

Outcomes

The Study Update That Reviews Itself

The clearest way to describe what changes when a cBioPortal study is governed is to follow one ordinary study update through a working week — the same update your team already ships, with the governance layer switched on.

Recipe: Staging-file preflight

Governance

Where the Software Stops: Governing a cBioPortal Study

There is one question worth asking any tool you point at a clinical schema: what is it allowed to change without asking you?

Recipe: Study-update gate

Ecosystem

A Study Is Never Only a cBioPortal Study

Trace one clinical attribute backwards from a cBioPortal study and watch how many systems it passes through. It was captured in a form or an EDC instrument. It was cleaned somewhere. It was joined to a specimen table in a warehouse. Somebody transformed it into an analysis-ready model. Then it was written into four `#` header rows of a staging file, validated, and uploaded — and along the way it was named four different things by four different teams, each of whom was right within their own system.

Agents

What an Agent Should Know Before It Answers a Question About Your Study

The question that exposes an ungoverned study is a boring one. "Is `OS_MONTHS` a number here, and what is it measured from?"

Use case

Twenty-Four Ways to Say Radiation Therapy

A public audit of 375 cBioPortal studies went looking for how the same clinical concepts were encoded from study to study — by hand, header by header. Radiation therapy alone turned up under 24 distinct encodings: different attribute IDs, different datatypes, different value conventions, all describing the same treatment. Multiply that by every common concept — smoking status, tumor stage, vital status — and the shape of the problem is plain. The platform's cross-study query tools are excellent; the attributes they query were never designed to line up. A cohort filter that matches one study's encoding silently misses the patients recorded under the other twenty-three.

Recipe: Clinical attribute registry

Use case

The Curation Checklist Does Not Scale

Ask how a cancer study gets into the public cBioPortal datahub and stays good, and the answer is a checklist. A GitHub issue opens, a curator works through the required files and formats, a reviewer checks boxes, a pull request merges. It is careful, human, and it works — once, per study, at submission time. Now ask the harder question. Fifteen published studies, three curators, standards that have moved twice since the oldest study went up: who re-checks study number seven?

Recipe: Consortium conformance loop

Quickstart

Zero to first audit: putting a cBioPortal study's clinical schema under governance

The clinical schema of a cBioPortal study does not live in a database, a catalog, or an API. It lives in the first five lines of two tab-separated text files that a curator maintains by hand. Those five lines decide whether an attribute passes portal validation, what it is called in the UI, whether it is a number or a string, and how prominently it is displayed. They are also, in most study repositories, the least reviewed lines in the project.

Recipe: cBioPortal governed baseline · Staging-file preflight

API

Every cBioPortal route, every role: the CoreModels HTTP surface for study governance

Ask the API what it can do for cBioPortal before you write a line of client code:

MCP

Handing a cBioPortal study to an agent: governance over MCP

"Check whether the study files on this branch still match what we govern, and tell me what changed."

Automation

One character, one broken study: automating cBioPortal drift checks in CI

Here is a pull request diff from a study repository:

Recipe: Study-update gate

Deep dive

Following one clinical attribute all the way into the graph

Take a single column out of a cBioPortal patient staging file: