cBioPortal Charts Question

16 views
Skip to first unread message

Joseph, Greg

unread,
Aug 2, 2021, 4:01:40 PMAug 2
to cbiop...@googlegroups.com

Hello,

 

I know that a user can create charts in the dashboard summary tab through selection of variants, patients, etc. I wanted to know if it is possible for a local instance of cBioPortal to add completely new charts based upon ad hoc user requests? For example, if a user of my local instance were to want to have a chart that shows a treatment visualization how would this be achieved?

 

My first thought is that the data would have to be provided as a custom data field in the “data_clinical_patient.txt” and/or “data_clinical_sample.txt” files and uploaded. The user could then manually add the desired chart in the summary dashboard tab using the “chart” button. Aside from this specific question, which I would like the answer on how to achieve, I also was also looking for clarity on how flexible the cBioPortal software is to other ad hoc user requests for visulizations? Can a developer add in new visualization methods to use within the portal dashboard(s)?

 

A second question, is related to the possibility of real-time data streaming to cBioPortal. Could a user populate their own database and have the data readable by cBioPortal and populate the studies/data in real-time from the currently active and maintained local database?

 

Thank you,

Greg Joseph

 

Gregory Joseph, MS

Research Informatics Analyst

Winship DATA Shared Resource

Winship Cancer Institute at Emory University

1814 Clairmont Road

Decatur, GA 30033

 

Ino de Bruijn

unread,
Aug 3, 2021, 4:49:52 PMAug 3
to Joseph, Greg, cbiop...@googlegroups.com
Hi Greg Joseph,

Thanks for reaching out!

> I wanted to know if it is possible for a local instance of cBioPortal to add completely new charts based upon ad hoc user requests? For example, if a user of my local instance were to want to have a chart that shows a treatment visualization how would this be achieved? My first thought is that the data would have to be provided as a custom data field in the “data_clinical_patient.txt” and/or “data_clinical_sample.txt” files and uploaded. The user could then manually add the desired chart in the summary dashboard tab using the “chart” button.

That is correct, you can add any clinical data and users will be able to show it on the study view page. There are many other data types that can also be displayed on the study view including different types of molecular data and treatment information. Besides the study view the clinical data will also show up on many other pages including the Results View and the Patient View Page

What type of treatment visualization are you trying to show? Note that we already have some built in support for treatment visualizations, including cohort selection based on treatment. See e.g. the treatment selection tables on the Study View:


and the treatment visualization on the patient view:


To get the data to show up in that manner, one would import the data as timeline data:


Depending on what you are trying to visualize there is usually either a data type that is exactly targeting your use case, or a more generic data type that will allow you to import it and visualize it on many pages on the website.

> I also was also looking for clarity on how flexible the cBioPortal software is to other ad hoc user requests for visulizations? Can a developer add in new visualization methods to use within the portal dashboard(s)?

It is very flexible. There are many specific as well as generic data types covering a wide range of use cases. See the file format page for more info:


The code is all open source and we have made it relatively straightforward to add new visualizations. Any frontend developer, especially those familiar with React and TypeScript will find it a smooth experience. There is a bit of a learning curve for those unfamiliar with these technologies, but most new developers have been able to get up to speed within a week.

> A second question, is related to the possibility of real-time data streaming to cBioPortal. Could a user populate their own database and have the data readable by cBioPortal and populate the studies/data in real-time from the currently active and maintained local database?


This is a bit of a complex question. I would need some more info about the particular use case to give a complete answer. In short, yes this is all possible but it depends a bit on what you mean by real-time. On our end we for instance allow curators to batch import studies into cBioPortal every hour. Some other institutions have set up workflows where the data gets updated as soon as the curator clicks a button, so depending on the study size it can be live in a matter of minutes.

Best wishes,
Ino


--
You received this message because you are subscribed to the Google Groups "cBioPortal for Cancer Genomics Discussion Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cbioportal+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cbioportal/CY1PR05MB242661AC78A086BDE70FBDAAC4EF9%40CY1PR05MB2426.namprd05.prod.outlook.com.

Joseph, Greg

unread,
Aug 4, 2021, 9:11:05 AMAug 4
to Ino de Bruijn, cbiop...@googlegroups.com

Good morning Ino,

 

Thank you so much for the thorough and extremely helpful information that you provided in your response email. I wanted to get clarification on the batch import you mentioned.

 

It is my understanding that cBioPortal does not allow for appending new data to a study that currently exists in an instance. In order to add new data, the import script is used to first remove the study then re-upload the study with the newest version of all of the corresponding files. Is my understanding of the workflow correct? If a user is using the batch import approach would they need to delete the existing studies or can adjustments be made to the import script to keep adding new data as it becomes available for the various studies that exist in a cBioPortal instance?

 

Thank you,

Greg

Ino de Bruijn

unread,
Aug 4, 2021, 12:10:31 PMAug 4
to Joseph, Greg, cbiop...@googlegroups.com
Hi Greg,

Excellent question. Yes the current setup is that the existing studies are deleted before new data is imported when you use the metaImport.py script. Note however that each of the import steps can be called separately so you could import e.g. only expression data and not delete any of the existing data for the study. With some minor modifications it should be possible to add any new data modalities as they become available. So e.g.  removing and updating all the clinical data for a study without removing other data should be feasible. It would be more complex to change the logic to support importing a single record, e.g. a single clinical attribute for a sample.

Note that we have also recently merged a Pull Request that avoids having to restart the portal after an import:


It's available since v3.6.21

Hope that helps!

Best wishes,
Ino

Joseph, Greg

unread,
Aug 4, 2021, 12:45:24 PMAug 4
to Ino de Bruijn, cbiop...@googlegroups.com

Yes, this is very helpful. Our most likely use case is to add new patient data and not necessarily to append new pieces of data to existing patient samples records in the platform.

 

One additional question – how would cBioPortal handle a new table being added to the MySQL database on the backend? Could the platform handle a new table being referenced for a custom visualization for instance?

 

Thanks,

Ino de Bruijn

unread,
Aug 9, 2021, 2:24:25 PMAug 9
to Joseph, Greg, cbiop...@googlegroups.com
Hi Greg,

> One additional question – how would cBioPortal handle a new table being added to the MySQL database on the backend? Could the platform handle a new table being referenced for a custom visualization for instance?

Referencing a new table should work, but it would involve some coding. You would have to create a new endpoint that serves the data and then implement the custom visualization to use that new endpoint

Best wishes,
Ino 

Reply all
Reply to author
Forward
0 new messages