Skip to content

Commit bc8ab49

Browse files
authored
Merge pull request #11816 from cBioPortal/master
Merge master into rc-7.0-clickhouse-only
2 parents c72741f + 56039b8 commit bc8ab49

File tree

6 files changed

+81
-11
lines changed

6 files changed

+81
-11
lines changed

.github/workflows/dockerimage.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ jobs:
2828
# The latest tag will also be generated on tag event with a valid semver tag
2929
tags: |
3030
type=ref,event=branch
31+
type=ref,event=tag
3132
type=semver,pattern={{version}}
3233
3334
- name: Login to DockerHub
@@ -75,6 +76,7 @@ jobs:
7576
suffix=-web-shenandoah
7677
tags: |
7778
type=ref,event=branch
79+
type=ref,event=tag
7880
type=semver,pattern={{version}}
7981
8082
- name: Login to DockerHub

docs/Create-And-Publish-Virtual-Study.md

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
A [Virtual Study](./user-guide/faq.md#what-is-a-virtual-study) defines a subset or a combination of samples from one or more studies in the system.
44

5+
A [Virtual Study](./user-guide/faq.md#what-is-a-virtual-study) is a custom study made up of samples from one or more existing studies. By default, a virtual study appears only under **My Virtual Studies** for its author. When it is published to the `/api/public_virtual_studies` endpoint, it becomes a **public virtual study** that is visible to all users on the landing page and can be used as a shared, reusable cohort. Publishing works for both static virtual studies (saved cohorts) and dynamic virtual studies whose contents are recomputed from filters on each load.
6+
57
*Note*: To publish or un-publish a virtual study, your cBioPortal instance must be configured with `session.endpoint.publisher-api-key` in the `application.properties`.
68

79
## Create Virtual Study
@@ -23,28 +25,53 @@ You can always find the ID of the virtual study from the URL of the page that op
2325

2426
## Publish Virtual Study
2527

26-
To publish a virtual study, you need to supply the publisher API key in the `X-PUBLISHER-API-KEY` header.
28+
Publishing requires the publisher API key in the `X-PUBLISHER-API-KEY` header and can now happen in two different ways:
29+
30+
1. **Create in the UI, then publish by hash ID.** This is the original workflow where you first create a virtual study through the interface (the ID in the study URL is a MongoDB hash), and then publish that specific study.
31+
2. **Create and publish with a custom ID.** This RFC96 addition lets you publish a public virtual study in a single request by providing its definition (constraints/filters) and the desired ID. The ID must be unique and is typically a human-readable string so permissions can be managed up front.
32+
33+
### Publish an existing virtual study
34+
35+
After creating the study in the UI and copying its ID (hash), publish it via:
2736

28-
Here is a curl command to publish a virtual study:
2937
```shell
3038
curl \
3139
-X POST \
3240
-H 'X-PUBLISHER-API-KEY: <session.endpoint.publisher-api-key>' \
3341
-v 'http://<cbioportal_host>/api/public_virtual_studies/<virtual_study_id>'
3442
```
35-
The published virtual study will appear under the `Public Virtual Studies` section (next to the `My Virtual Studies` section) on the landing page for all users of cBioPortal.
3643

37-
While publishing, you can specify the PubMed ID (`pmid`) and `typeOfCancerId` of the virtual study using the following command:
44+
You can set optional metadata while publishing:
45+
3846
```shell
3947
curl \
4048
-X POST \
4149
-H 'X-PUBLISHER-API-KEY: <session.endpoint.publisher-api-key>' \
4250
-v 'http://<cbioportal_host>/api/public_virtual_studies/<virtual_study_id>?pmid=<pmid>&typeOfCancerId=<code>'
4351
```
4452

45-
The type of cancer code should match the known types of cancers in the cBioPortal database.
46-
If the type of cancer is specified, the published virtual study will appear under the respective cancer section on the landing page.
47-
Specifying the `pmid` enables a link to the PubMed page of the study.
53+
The `typeOfCancerId` must match an existing cancer type so it shows up in that category on the landing page; `pmid` links the public study to PubMed.
54+
55+
### Create and publish with a custom ID
56+
57+
To publish a new public virtual study in one go, call the same endpoint but supply:
58+
59+
- `/<custom_id>` path segment with the ID you want to assign
60+
- `Content-Type: application/json`
61+
- A request body containing the virtual study definition (filters/constraints)
62+
63+
Example:
64+
65+
```shell
66+
curl \
67+
-X POST \
68+
-H 'X-PUBLISHER-API-KEY: <session.endpoint.publisher-api-key>' \
69+
-H 'Content-Type: application/json' \
70+
-v 'http://<cbioportal_host>/api/public_virtual_studies/<custom_id>' \
71+
--data-raw @virtual_study_definition.json
72+
```
73+
74+
The JSON payload should follow the format returned by the `/api/session/virtual_study` endpoint (fields such as `name`, `description`, `studyViewFilter`, and `studies`). If the ID already exists you will receive a `409 Conflict`. When the request succeeds, the virtual study is immediately available to all users under the `Public Virtual Studies` section, optionally enriched with `pmid` and `typeOfCancerId` query parameters the same way as above.
4875

4976
## Un-publish Virtual Study
5077

@@ -58,4 +85,4 @@ curl \
5885
-X DELETE \
5986
-H 'X-PUBLISHER-API-KEY: <session.endpoint.publisher-api-key>' \
6087
-v 'http://<cbioportal_host>/api/public_virtual_studies/<virtual_study_id>'
61-
```
88+
```

docs/Data-Loading-Maintaining-Studies.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ This script can also be used to delete studies.
66
- [Requirements](#requirements)
77
- [Importing a study without validation](#importing-a-study-without-validation)
88
- [Deleting a study](#deleting-a-study)
9+
- [Deleting patients](#deleting-patients)
10+
- [Deleting samples](#deleting-samples)
911

1012
## Requirements
1113
This script requires `$PORTAL_HOME` to point to the folder containing your
@@ -58,3 +60,27 @@ You can also remove multiple studies at once by passing the Cancer Study Ids sep
5860
./cbioportalImporter.py -c remove-study -id study1_id,study2_id,study3_id
5961
```
6062
Where `study1_id`, `study2_id` and `study3_id` are the Cancer Study IDs of the studies you would like to remove.
63+
64+
## Deleting patients
65+
To remove patients (and their associated samples and data) from one or more studies, run:
66+
```
67+
./cbioportalImporter.py remove-patients --study_ids <study_ids> --patient_ids <patient_ids>
68+
```
69+
Where `study_ids` is a comma-separated list of Cancer Study IDs to search and `patient_ids` is a comma-separated list of patient identifiers to delete.
70+
71+
For example:
72+
```
73+
./cbioportalImporter.py remove-patients --study_ids study1_id --patient_ids patientA,patientB
74+
```
75+
76+
## Deleting samples
77+
To remove specific samples from one or more studies, run:
78+
```
79+
./cbioportalImporter.py remove-samples --study_ids <study_ids> --sample_ids <sample_ids>
80+
```
81+
Where `study_ids` is a comma-separated list of Cancer Study IDs to search and `sample_ids` is a comma-separated list of sample identifiers to delete.
82+
83+
For example:
84+
```
85+
./cbioportalImporter.py remove-samples --study_ids study1_id,study2_id --sample_ids sampleX,sampleY
86+
```

docs/News.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
## Oct 31, 2025
2+
* **Added data** consisting of 9,749 samples from 13 studies:
3+
* [Mixed Tumors - MiMSI Cohort (MSK, Nat Commun 2024)](https://www.cbioportal.org/study/summary?id=pancan_mimsi_msk_2024) *5033 samples*
4+
* [Cancer Cell Line Encyclopedia (Broad, Nat Rev Cancer 2025)](https://www.cbioportal.org/study/summary?id=ccle_broad_2025) *1970 samples*
5+
* [Colorectal Cancer- ChangKang Project (SYSUCC, Nat Commun 2022)](https://www.cbioportal.org/study/summary?id=crc_sysucc_2022) *1015 samples*
6+
* [Cancer Cell Line Encyclopedia (Genentech, Nat biotech 2014)](https://www.cbioportal.org/study/summary?id=ccle_genentech_2014) *675 samples*
7+
* [Bladder Urothelial Carcinoma SWOG S1314 Trial (MSK, JCO Precis Oncol 2024)](https://www.cbioportal.org/study/summary?id=blca_msk_2024) *184 samples*
8+
* [Pediatric solid tumor PDXs (UTHSA, Nat Commun 2023)](https://www.cbioportal.org/study/summary?id=pancan_pdx_uthsa_2023) *136 samples*
9+
* [Solitary Fibrous Tumors (SYSUCC, Nat Commun 2023)](https://www.cbioportal.org/study/summary?id=sft_sysucc_2023) *131 samples*
10+
* [Melanoma (MSK, Cell 2017) - iAtlas Harmonized](https://www.cbioportal.org/study/summary?id=mel_iatlas_riaz_nivolumab_2017) *107 samples*
11+
* [Lung Adenocarcinoma (CAS, Cell 2020)](https://www.cbioportal.org/study/summary?id=luad_cas_2020) *103 samples*
12+
* [Hereditary SDHB-Mutant Pheochromocytomas and Paragangliomas (A5 Consortium, Nature 2025)](https://www.cbioportal.org/study/summary?id=hnsc_a5consortium_2025) *94 samples*
13+
* [Triple Negative Breast Cancer (DLDCCC, Cancer Discov 2022)](https://www.cbioportal.org/study/summary?id=brca_dldccc_2022) *75 samples*
14+
* [Colorectal Adenocarcinoma (DFCI/Orion, BioRxiv 2024)](https://www.cbioportal.org/study/summary?id=crc_orion_2024) *74 samples*
15+
* [Schwannoma (Children's Tumor Foundation, Acta Neuropathologica 2020)](https://www.cbioportal.org/study/summary?id=schw_ctf_synodos_2025) *52 samples*
16+
117
## May 06, 2025
218
* **Added data** consisting of 4,571 samples from 10 studies:
319
* [Pancreatic Adenocarcinoma (MSK, Nat Med 2024)](https://www.cbioportal.org/study/summary?id=pdac_msk_2024) *2336 samples*

docs/deployment/customization/security.properties-Reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Security Properties
22

3-
The following are the properties for configuring authentication and authorization in the application. The cBioPortal application mainly uses Spring Security for auth configuration; see also [Spring Security](./../authorization-and-authentication/authorization-and-authentication/Spring-Security.md) docs.
3+
The following are the properties for configuring authentication and authorization in the application. The cBioPortal application mainly uses Spring Security for auth configuration; see also [Spring Security](./../authorization-and-authentication/Spring-Security.md) docs.
44

55
## Authentication Configuration
66

src/main/resources/mappers/export/GeneticProfileDataMapper.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@
3232
<result property="type" column="GENE_TYPE"/>
3333
</association>
3434
</resultMap>
35-
<select id="getData" resultMap="GeneticProfileDataResultMap"
36-
resultSetType="FORWARD_ONLY">
35+
<select id="getData" resultMap="GeneticProfileDataResultMap" resultSetType="FORWARD_ONLY" resultOrdered="true">
3736
SELECT
3837
ga.VALUES,
3938
ga.GENETIC_ENTITY_ID,

0 commit comments

Comments
 (0)