{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Semalytics walkthrough\n", "\n", "Welcome to the Semalytics demo!\n", "\n", "\n", "\n", "## Introduction\n", "\n", "This is an extended computational narrative focusing on the platform **Semalytics**, a semantic-based tool for analyzing hierarchical data in translational cancer research. This demo is bundled with the paper:\n", "\n", "> _**Semalytics: a semantic analytics platform for the exploration of distributed and heterogenous cancer data (in translational research)**_\n", "\n", "Biological annotations are modeled in a new **Semantic Web** fashion and are connected to **Wikidata** for knowledge expansion. Please, note that Semalytics explores annotations that are highly scattered along hierarchical data.\n", "\n", "In this notebook, we are going to use Semalytics for analyzing a test dataset in order to investigate gene alteration-drug interactions. In particular, we focus on the response to the **Cetuximab**, an epidermal growth factor inhibitor used for the treatment of several cancer types, such as the colorectal cancer. Each cancer is a complex and variable system with unique characteristics at the molecular level, which may determine drugs performance. In this demo, we match drug responses data with annotations related to a set of 4 genes:\n", "\n", "* BRAF\n", "* EGFR\n", "* HER2 \n", "* KRAS\n", "\n", "which are known to be relevant to Cetuximab response in colorectal cancer.\n", "\n", "* In [Chapter 1](#insights), we show how the platform can be used for getting basic data insights about genomic landscapes and drug responses. In particular, we use Semalytics to identify an investigation set (i.e., data trees with both genomic and pharmacological annotations).\n", "\n", "* In [Chapter 2](#inside), we explore data into the investigation set. First, we get the list of variants for the genes in the panel. Then, we explore the co-occurence of genomic variants and responses to Cetuximab.\n", "\n", "* In [Chapter 3](#wikidata), we use Semalytics for analyzing local data harnessing the extended information of Wikidata, thus gaining new analytical options on our local database. For example, we use federated queries to explore of data about drugs different from Cetuximab, which we do not store and maintain locally. \n", "\n", "* Finally, in [Appendix](#appendix) we list computational references to figures used in the proof-of-concept (PoC) of the paper.\n", "\n", "See the aforementioned article for further details.\n", "\n", "\n", "## Table of contents\n", "\n", "* [Introduction](#intro)\n", "* [General settings](#settings)\n", "* [Chapter 1 - Basic insights](#insights)\n", " - [Annotated nodes](#annotated)\n", " - [Genomic annotations](#genes)\n", " - [Response annotations](#mice) \n", " - [Investigation set: genomic and responses annotations](#miceanddrug)\n", "* [Chapter 2 - Inside the investigation set](#inside)\n", " - [Variants of non-responders](#variantsnonresp)\n", " - [Getting basic data for co-occurence analysis](#matchinggetdata)\n", " - [Matching annotations in the investigation set](#mset)\n", " - [Matching `feature_amplification` only](#mamplsubset)\n", " - [Matching `sequence_alteration` only](#mseqsubset)\n", "* [Chapter 3 - Querying data with knowledge and Wikidata](#wikidata)\n", " - [Drugs targeting gene products](#drugsrole)\n", " - [Drug information: dabrafenib](#dabrafenib)\n", " - [Querying variants](#queryinnvar)\n", " - [Positive therapeutic predictors](#pos)\n", " - [Negative therapeutic predictors](#neg)\n", " - [Drugs predictions for a specific case](#case)\n", "* [Appendix - PoC figures](#appendix)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## General settings\n", "\n", "General imports and vars" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import utils\n", "import pandas as pd\n", "from IPython.display import SVG, display\n", "\n", "# SPARQL endpoints\n", "\n", "# Semalytics (i.e., local data)\n", "# 14,281,125 explicit triples\n", "# 2,391,980 inferred triples\n", "SEMALYTICS_ENDPOINT = 'http://semalytics:7200/repositories/annotationDB'\n", "\n", "# Remote knowledge base\n", "WIKIDATA_ENDPOINT = 'https://query.wikidata.org/sparql'\n", "\n", "# genes panel\n", "PANEL = {'BRAF','EGFR','ERBB2','KRAS'}\n", "\n", "# investigated variants\n", "VARIANTS = ':sequence_alteration :feature_amplification'\n", "\n", "# enable inline plotting\n", "%matplotlib inline\n", "\n", "# do not truncate data in tables\n", "pd.set_option('display.max_colwidth', -1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## Chapter 1 - Basic insights\n", "\n", "We query Semalytics data for getting basic insights. Semalytics returns immediately analytics on scattered annotations.\n", "\n", "\n", "### Annotated nodes\n", "\n", "We use the following query to retrieve **annotated nodes** (samples for genes or mice for drug reponses)." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "there are 3917 annotated nodes in trees\n" ] } ], "source": [ "# the query\n", "my_query = \"\"\"\n", "PREFIX : \n", "PREFIX onto: \n", "select (count(distinct ?node) as ?nodes)\n", "from onto:disable-sameAs\n", "where {\n", " ?case a :Case ;\n", " :hasDescendant ?node .\n", " ?node a :Bioentity ;\n", " :has_annotation ?ann .\n", "}\n", "\"\"\"\n", "\n", "# get data\n", "result_table = utils.query(SEMALYTICS_ENDPOINT, my_query)\n", "\n", "# there you go!\n", "result = result_table['nodes.value'][0] \n", "print(f'there are {result} annotated nodes in trees')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "### Genomic annotations\n", "\n", "Let $\\mathcal{G}$ be the set of data trees with annotations about `:sequence_alteration` or `:feature_amplification` for **genes in the panel**. We build $\\mathcal{G}$ with the following query:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "there are 354 cases annotated with 1+ variant(s) in the panel (KRAS, EGFR, BRAF, HER2)\n" ] } ], "source": [ "# Cases with annotations in the genes panel\n", "my_query = \"\"\"\n", "PREFIX : \n", "PREFIX onto: \n", "select (count(distinct ?case) as ?cases) \n", "from onto:disable-sameAs\n", "where { \n", " ?case a :Case ;\n", " :hasDescendant ?node .\n", " ?node :has_annotation ?ann .\n", " ?ann :has_reference ?ref .\n", " ?gene :has_variant ?ref.\n", " ?gene :symbol ?geneSymbol\n", " VALUES ?geneSymbol {'KRAS' 'EGFR' 'BRAF' 'ERBB2'}\n", " ?ref a ?annotation_Type .\n", " VALUES ?annotation_Type { \"\"\"+VARIANTS+\"\"\" }\n", "}\n", "\"\"\"\n", "\n", "# get data\n", "result_table = utils.query(SEMALYTICS_ENDPOINT, my_query)\n", "\n", "# there you go!\n", "result = result_table['cases.value'][0] \n", "print(f'there are {result} cases annotated with 1+ variant(s) in the panel (KRAS, EGFR, BRAF, HER2)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "### Response annotations\n", "\n", "Let $\\mathcal{D}$ be the set of data trees with annotated mice about **pharmacological responses**. We build $\\mathcal{D}$ with the following query:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "there are 238 cases annotated with 1+ pharmacological response(s) for the CETUXIMAB\n" ] } ], "source": [ "# Cases with pharmacological annotations\n", "my_query = \"\"\"\n", "PREFIX : \n", "PREFIX onto: \n", "select ?drugName (count(distinct ?case) as ?cases)\n", "from onto:disable-sameAs\n", "where {\n", " ?case a :Case ;\n", " :hasDescendant ?mouse .\n", " ?mouse a :Biomouse ;\n", " :has_annotation ?ann .\n", " ?ann :has_reference ?ref .\n", " ?ref a :drug_response .\n", " ?drug :has_drug_response ?ref;\n", " :name ?drugName .\n", "}\n", "GROUP BY ?drugName\n", "\"\"\"\n", "\n", "# get data\n", "result_table = utils.query(SEMALYTICS_ENDPOINT, my_query)\n", "\n", "# there you go!\n", "drug,cases = result_table['drugName.value'][0],result_table['cases.value'][0]\n", "print(f'there are {cases} cases annotated with 1+ pharmacological response(s) for the {drug}')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "### Investigation set: genomic and responses annotations\n", "\n", "Let $\\mathcal{S} = (\\mathcal{G} \\cap \\mathcal{D})$ be the investigation scope (i.e., data trees with both genomic and pharmacological annotations). We get it through this query:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "there are 113 cases annotated with 1+ pharmacological response(s) AND 1+ variant(s)\n" ] } ], "source": [ "# Cases with pharmacological and genomic annotations\n", "my_query = \"\"\"\n", "PREFIX : \n", "PREFIX onto: \n", "select (count(distinct ?case) as ?cases)\n", "from onto:disable-sameAs\n", "where {\n", " ?case a :Case ;\n", " :hasDescendant ?mouse ;\n", " :hasDescendant ?node .\n", " ?mouse a :Biomouse ;\n", " :has_annotation ?ann .\n", " ?ann :has_reference ?ref .\n", " ?ref a :drug_response .\n", " ?node :has_annotation ?ann2 .\n", " ?ann2 :has_reference ?ref2 .\n", " ?gene :has_variant ?ref2.\n", " ?gene :symbol ?geneSymbol\n", " VALUES ?geneSymbol {'KRAS' 'EGFR' 'BRAF' 'ERBB2'}\n", " ?ref2 a ?annotation_Type.\n", " VALUES ?annotation_Type { \"\"\"+VARIANTS+\"\"\" }\n", "}\n", "\"\"\"\n", "\n", "# get data\n", "result_table = utils.query(SEMALYTICS_ENDPOINT, my_query)\n", "\n", "# there you go!\n", "investigation_scope = result_table['cases.value'][0]\n", "print(f'there are {investigation_scope} cases annotated with 1+ pharmacological response(s) AND 1+ variant(s)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## Chapter 2 - Inside the investigation set\n", "\n", "In this section we analyze annotation types for cases in the investigation set. Moreover, we exploit Semalytics for matching variants against responses to Cetuximab.\n", "\n", "\n", "### Variants of non responders\n", "\n", "With the following query, we get the **variants list** of non-responder cases. The column `alt_p.value` represents the type of `point_mutation`." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
case.valuegeneSymbol.valuetype.valuealt_p.value
0CRC0019KRASpoint_mutationG13D
1CRC0021KRASpoint_mutationG12C
2CRC0021KRASpoint_mutationG12V
3CRC0024KRASpoint_mutationG13C
4CRC0027KRASpoint_mutationG13D
5CRC0028KRASpoint_mutationG13D
6CRC0031KRASpoint_mutationG12D
7CRC0053KRASpoint_mutationA146T
8CRC0055KRASpoint_mutationG12V
9CRC0058KRASpoint_mutationG12V
10CRC0060KRASpoint_mutationG12V
11CRC0063KRASpoint_mutationG12V
12CRC0064KRASpoint_mutationG12D
13CRC0067KRASpoint_mutationI36M
14CRC0068KRASpoint_mutationG12C
15CRC0070KRASpoint_mutationG12D
16CRC0073KRASpoint_mutationG12C
17CRC0077KRASpoint_mutationG12D
18CRC0079BRAFpoint_mutationV600E
19CRC0080ERBB2feature_amplification
20CRC0082KRASpoint_mutationG13D
21CRC0085KRASpoint_mutationA146T
22CRC0094KRASpoint_mutationG12C
23CRC0105EGFRfeature_amplification
24CRC0106BRAFpoint_mutationV600E
25CRC0112ERBB2feature_amplification
26CRC0118BRAFpoint_mutationV600E
27CRC0124ERBB2point_mutationH878Y
28CRC0124ERBB2feature_amplification
29CRC0125KRASpoint_mutationK117N
...............
61CRC0315KRASpoint_mutationG13D
62CRC0323BRAFpoint_mutationV600E
63CRC0324KRASpoint_mutationG12V
64CRC0348KRASpoint_mutationG12D
65CRC0349KRASpoint_mutationG12D
66CRC0382KRASpoint_mutationG12C
67CRC0438KRASpoint_mutationQ61K
68CRC0468KRASpoint_mutationG12V
69CRC0479KRASpoint_mutationG13D
70CRC0480BRAFpoint_mutationV600E
71CRC0481KRASpoint_mutationG13D
72CRC0481EGFRfeature_amplification
73CRC0484BRAFpoint_mutationV600E
74CRC0504KRASpoint_mutationG13D
75CRC0504ERBB2point_mutationR678Q
76CRC0508EGFRfeature_amplification
77CRC0527BRAFpoint_mutationK601N
78CRC0527EGFRfeature_amplification
79CRC0528BRAFpoint_mutationV600E
80CRC0610EGFRfeature_amplification
81CRC0626KRASpoint_mutationA146V
82CRC0714KRASpoint_mutationG13D
83CRC0729ERBB2feature_amplification
84CRC0753KRASpoint_mutationG12V
85CRC1063BRAFpoint_mutationK601E
86CRC1063BRAFpoint_mutationT241M
87CRC1138BRAFpoint_mutationK601E
88CRC1169EGFRfeature_amplification
89CRC1182KRASpoint_mutationG12A
90CRC1278EGFRfeature_amplification
\n", "

91 rows × 4 columns

\n", "
" ], "text/plain": [ " case.value geneSymbol.value type.value alt_p.value\n", "0 CRC0019 KRAS point_mutation G13D \n", "1 CRC0021 KRAS point_mutation G12C \n", "2 CRC0021 KRAS point_mutation G12V \n", "3 CRC0024 KRAS point_mutation G13C \n", "4 CRC0027 KRAS point_mutation G13D \n", "5 CRC0028 KRAS point_mutation G13D \n", "6 CRC0031 KRAS point_mutation G12D \n", "7 CRC0053 KRAS point_mutation A146T \n", "8 CRC0055 KRAS point_mutation G12V \n", "9 CRC0058 KRAS point_mutation G12V \n", "10 CRC0060 KRAS point_mutation G12V \n", "11 CRC0063 KRAS point_mutation G12V \n", "12 CRC0064 KRAS point_mutation G12D \n", "13 CRC0067 KRAS point_mutation I36M \n", "14 CRC0068 KRAS point_mutation G12C \n", "15 CRC0070 KRAS point_mutation G12D \n", "16 CRC0073 KRAS point_mutation G12C \n", "17 CRC0077 KRAS point_mutation G12D \n", "18 CRC0079 BRAF point_mutation V600E \n", "19 CRC0080 ERBB2 feature_amplification \n", "20 CRC0082 KRAS point_mutation G13D \n", "21 CRC0085 KRAS point_mutation A146T \n", "22 CRC0094 KRAS point_mutation G12C \n", "23 CRC0105 EGFR feature_amplification \n", "24 CRC0106 BRAF point_mutation V600E \n", "25 CRC0112 ERBB2 feature_amplification \n", "26 CRC0118 BRAF point_mutation V600E \n", "27 CRC0124 ERBB2 point_mutation H878Y \n", "28 CRC0124 ERBB2 feature_amplification \n", "29 CRC0125 KRAS point_mutation K117N \n", ".. ... ... ... ... \n", "61 CRC0315 KRAS point_mutation G13D \n", "62 CRC0323 BRAF point_mutation V600E \n", "63 CRC0324 KRAS point_mutation G12V \n", "64 CRC0348 KRAS point_mutation G12D \n", "65 CRC0349 KRAS point_mutation G12D \n", "66 CRC0382 KRAS point_mutation G12C \n", "67 CRC0438 KRAS point_mutation Q61K \n", "68 CRC0468 KRAS point_mutation G12V \n", "69 CRC0479 KRAS point_mutation G13D \n", "70 CRC0480 BRAF point_mutation V600E \n", "71 CRC0481 KRAS point_mutation G13D \n", "72 CRC0481 EGFR feature_amplification \n", "73 CRC0484 BRAF point_mutation V600E \n", "74 CRC0504 KRAS point_mutation G13D \n", "75 CRC0504 ERBB2 point_mutation R678Q \n", "76 CRC0508 EGFR feature_amplification \n", "77 CRC0527 BRAF point_mutation K601N \n", "78 CRC0527 EGFR feature_amplification \n", "79 CRC0528 BRAF point_mutation V600E \n", "80 CRC0610 EGFR feature_amplification \n", "81 CRC0626 KRAS point_mutation A146V \n", "82 CRC0714 KRAS point_mutation G13D \n", "83 CRC0729 ERBB2 feature_amplification \n", "84 CRC0753 KRAS point_mutation G12V \n", "85 CRC1063 BRAF point_mutation K601E \n", "86 CRC1063 BRAF point_mutation T241M \n", "87 CRC1138 BRAF point_mutation K601E \n", "88 CRC1169 EGFR feature_amplification \n", "89 CRC1182 KRAS point_mutation G12A \n", "90 CRC1278 EGFR feature_amplification \n", "\n", "[91 rows x 4 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "my_query = \"\"\"\n", "PREFIX : \n", "PREFIX sesame: \n", "PREFIX onto: \n", "select distinct ?case ?geneSymbol ?type ?alt_p\n", "from onto:disable-sameAs\n", "where {\n", " ?case a :Case ;\n", " :hasDescendant ?mouse ;\n", " :hasDescendant ?node .\n", " \n", " ?mouse a :Biomouse ;\n", " :has_annotation ?ann .\n", " ?ann :has_reference ?ref .\n", " ?ref a :DRCl_PD .\n", " \n", " ?node :has_annotation ?ann2 .\n", " ?ann2 :has_reference ?ref2 .\n", " ?gene :has_variant ?ref2 ;\n", " :symbol ?geneSymbol\n", " VALUES ?geneSymbol {'KRAS' 'EGFR' 'BRAF' 'ERBB2'}\n", " ?ref2 a ?annotation_Type.\n", " VALUES ?annotation_Type { :sequence_alteration :feature_amplification }\n", " ?ref2 sesame:directType ?type.\n", " OPTIONAL {?ref2 :alt_p ?alt_p }\n", "}\n", "ORDER BY ?case\n", "\"\"\"\n", "\n", "# get data\n", "result_table = utils.query(SEMALYTICS_ENDPOINT, my_query)\n", "\n", "# filter URIs prefixes\n", "utils.filter_prefixes(result_table)\n", "\n", "\n", "# there you go!\n", "result_table[['case.value', 'geneSymbol.value', 'type.value', 'alt_p.value']].fillna(\"\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "### Getting basic data for co-occurence analysis\n", "\n", "Creating basic data for further investigations about gene variant - drug matching." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# data collections\n", "cases_per_gene = dict()\n", "cases_per_variant = dict()\n", "cases_per_variant_per_gene = dict()\n", "cases_per_response = dict()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We get **cases harboring 1+ variants for each gene in the panel**.\n", "\n", "Please, note that we are counting distinct cases per gene. Therefore, cases harboring multiple variants in the same gene will be counted only once." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Querying EGFR\n", "Querying BRAF\n", "Querying KRAS\n", "Querying ERBB2\n", "Cases outline:\n", "EGFR: 29\n", "BRAF: 13\n", "KRAS: 70\n", "ERBB2: 11\n" ] } ], "source": [ "my_query = \"\"\"\n", "PREFIX : \n", "PREFIX sesame: \n", "PREFIX onto: \n", "select distinct ?case\n", "from onto:disable-sameAs\n", "where {{\n", " ?case a :Case ;\n", " :hasDescendant ?mouse ;\n", " :hasDescendant ?node .\n", "\n", " ?mouse a :Biomouse ;\n", " :has_annotation ?ann .\n", " ?ann :has_reference ?ref .\n", "\n", " ?node :has_annotation ?ann2 .\n", " ?ann2 :has_reference ?ref2 .\n", " ?gene :has_variant ?ref2 ;\n", " :symbol ?geneSymbol\n", " VALUES ?geneSymbol {{'{}'}}\n", " ?ref2 a ?annotation_Type.\n", " VALUES ?annotation_Type {{ :sequence_alteration :feature_amplification }}\n", " ?ref2 sesame:directType ?type. \n", "}}\"\"\"\n", "\n", "for gene in PANEL:\n", " print (f'Querying {gene}')\n", " result_table = utils.query(SEMALYTICS_ENDPOINT, my_query.format(gene))\n", " cases_per_gene[gene] = set(result_table['case.value'])\n", "\n", "print ('Cases outline:')\n", "for key in cases_per_gene:\n", " print(f'{key}: {len(cases_per_gene[key])}')\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then, we get cases **harboring 1+ `:sequence_alteration` or `:feature_amplification`**\n", "\n", "Again, please, note that we are counting distinct cases per gene. Therefore, cases harboring multiple variants in the same gene will be counted only once." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Querying sequence_alteration\n", "Querying feature_amplification\n", "Cases outline:\n", "\tsequence_alteration 88\n", "\tfeature_amplification 33\n" ] } ], "source": [ "my_query = \"\"\"\n", "PREFIX : \n", "PREFIX sesame: \n", "PREFIX onto: \n", "select distinct ?case \n", "from onto:disable-sameAs\n", "where {{\n", " ?case a :Case ;\n", " :hasDescendant ?mouse ;\n", " :hasDescendant ?node .\n", "\n", " ?mouse a :Biomouse ;\n", " :has_annotation ?ann .\n", " ?ann :has_reference ?ref .\n", "\n", " ?node :has_annotation ?ann2 .\n", " ?ann2 :has_reference ?ref2 .\n", " ?gene :has_variant ?ref2 ;\n", " :symbol ?geneSymbol\n", " VALUES ?geneSymbol {{'KRAS' 'EGFR' 'BRAF' 'ERBB2'}}\n", " ?ref2 a ?annotation_Type.\n", " VALUES ?annotation_Type {{ :{} }}\n", " ?ref2 sesame:directType ?type. \n", "}}\"\"\"\n", "\n", "for variant in ['sequence_alteration', 'feature_amplification']:\n", " print (f'Querying {variant}')\n", " result_table = utils.query(SEMALYTICS_ENDPOINT, my_query.format(variant))\n", " cases_per_variant[variant] = set(result_table['case.value'])\n", " \n", "\n", "print ('Cases outline:')\n", "for variant in cases_per_variant:\n", " print(f'\\t{variant} {len(cases_per_variant[variant])}')\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Besides, we get cases **harboring 1+ `:sequence_alteration` or `:feature_amplification` for each gene in the panel**.\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Querying sequence_alteration\n", "Querying feature_amplification\n", "no data for feature_amplification - BRAF\n", "no data for feature_amplification - KRAS\n", "Cases outline:\n", "sequence_alteration\n", "\tEGFR 4\n", "\tBRAF 13\n", "\tKRAS 70\n", "\tERBB2 5\n", "feature_amplification\n", "\tEGFR 26\n", "\tERBB2 7\n" ] } ], "source": [ "my_query = \"\"\"\n", "PREFIX : \n", "PREFIX sesame: \n", "PREFIX onto: \n", "select distinct ?case \n", "from onto:disable-sameAs\n", "where {{\n", " ?case a :Case ;\n", " :hasDescendant ?mouse ;\n", " :hasDescendant ?node .\n", "\n", " ?mouse a :Biomouse ;\n", " :has_annotation ?ann .\n", " ?ann :has_reference ?ref .\n", "\n", " ?node :has_annotation ?ann2 .\n", " ?ann2 :has_reference ?ref2 .\n", " ?gene :has_variant ?ref2 ;\n", " :symbol ?geneSymbol\n", " VALUES ?geneSymbol {{'{}'}}\n", " ?ref2 a ?annotation_Type.\n", " VALUES ?annotation_Type {{ :{} }}\n", " ?ref2 sesame:directType ?type. \n", "}}\"\"\"\n", "\n", "for variant in ['sequence_alteration', 'feature_amplification']:\n", " print (f'Querying {variant}')\n", " cases_per_variant_per_gene[variant] = dict()\n", " for gene in PANEL:\n", " result_table = utils.query(SEMALYTICS_ENDPOINT, my_query.format(gene, variant))\n", " try:\n", " cases_per_variant_per_gene[variant][gene] = set(result_table['case.value'])\n", " except KeyError:\n", " print (f'no data for {variant} - {gene}')\n", "\n", "print ('Cases outline:')\n", "for variant in cases_per_variant_per_gene:\n", " print(f'{variant}')\n", " for gene in cases_per_variant_per_gene[variant]:\n", " print(f'\\t{gene} {len(cases_per_variant_per_gene[variant][gene])}')\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Variants summary:\n", "\n", "\n", "| Gene | All variant types | :feature_amplification | :sequence_alteration |\n", "|-------------|-----|------------|-----|\n", "| Annotated | 113 | 33 | 88 |\n", "| BRAF | 13 | 0 | 13 |\n", "| EGFR | 29 | 26 | 4 |\n", "| ERBB2 | 11 | 7 | 5 |\n", "| KRAS | 70 | 0 | 70 |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we get **cases per response type**." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Querying DRCl_OR\n", "Querying DRCl_SD\n", "Querying DRCl_PD\n", "Cases outline:\n", "DRCl_OR: 7\n", "DRCl_SD: 26\n", "DRCl_PD: 80\n" ] } ], "source": [ "my_query = \"\"\"\n", "PREFIX : \n", "PREFIX sesame: \n", "PREFIX onto: \n", "select distinct ?case \n", "from onto:disable-sameAs\n", "where {{\n", " ?case a :Case ;\n", " :hasDescendant ?mouse ;\n", " :hasDescendant ?node .\n", "\n", " ?mouse a :Biomouse ;\n", " :has_annotation ?ann .\n", " ?ann :has_reference ?ref .\n", " ?ref sesame:directType :{} .\n", "\n", " ?node :has_annotation ?ann2 .\n", " ?ann2 :has_reference ?ref2 .\n", " ?gene :has_variant ?ref2 ;\n", " :symbol ?geneSymbol\n", " VALUES ?geneSymbol {{'KRAS' 'EGFR' 'BRAF' 'ERBB2'}}\n", " ?ref2 a ?annotation_Type.\n", " VALUES ?annotation_Type {{ :sequence_alteration :feature_amplification }}\n", " ?ref2 sesame:directType ?type. \n", "}}\"\"\"\n", "\n", "for response in ['DRCl_OR', 'DRCl_SD', 'DRCl_PD']:\n", " print (f'Querying {response}')\n", " result_table = utils.query(SEMALYTICS_ENDPOINT, my_query.format(response))\n", " cases_per_response[response] = set(result_table['case.value'])\n", "\n", "print ('Cases outline:')\n", "for key in cases_per_response:\n", " print(f'{key}: {len(cases_per_response[key])}')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since we are also interested in analyzing **variants co-occurrences**, we enumerate all possible combinations (i.e., the power set). We will use these data in the next sections." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(),\n", " ('EGFR',),\n", " ('ERBB2',),\n", " ('BRAF',),\n", " ('KRAS',),\n", " ('EGFR', 'KRAS'),\n", " ('KRAS', 'ERBB2'),\n", " ('BRAF', 'KRAS'),\n", " ('EGFR', 'BRAF'),\n", " ('BRAF', 'ERBB2'),\n", " ('EGFR', 'ERBB2'),\n", " ('EGFR', 'BRAF', 'KRAS'),\n", " ('BRAF', 'KRAS', 'ERBB2'),\n", " ('EGFR', 'BRAF', 'ERBB2'),\n", " ('EGFR', 'KRAS', 'ERBB2'),\n", " ('EGFR', 'BRAF', 'KRAS', 'ERBB2')]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# create variants co-occurrences list (i.e., the power set of {'BRAF','EGFR','ERBB2','KRAS'})\n", "variants_occurrences = list(utils.powerset(PANEL))\n", "variants_occurrences.sort(key=len)\n", "\n", "# just combinatorics\n", "variants_occurrences" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "### Matching annotations in the investigation set\n", "\n", "We analyze all annotated cases and we match drug information with gene variants data." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "113\n" ] } ], "source": [ "# the investigation set\n", "tot = cases_per_gene['BRAF'] | cases_per_gene['EGFR'] | cases_per_gene['ERBB2'] | cases_per_gene['KRAS']\n", "\n", "print(len(tot))" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
genecases
0Annotated113
1BRAF13
2EGFR29
3ERBB211
4KRAS70
\n", "
" ], "text/plain": [ " gene cases\n", "0 Annotated 113 \n", "1 BRAF 13 \n", "2 EGFR 29 \n", "3 ERBB2 11 \n", "4 KRAS 70 " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# create a new Semalytics analysis object\n", "a = utils.Analysis(tot, cases_per_gene, cases_per_response, variants_occurrences)\n", "\n", "# gene variants\n", "a.variants" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot variants distribution\n", "a.plot_variants()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
response_typecases
0response7
1neutral26
2progression80
\n", "
" ], "text/plain": [ " response_type cases\n", "0 response 7 \n", "1 neutral 26 \n", "2 progression 80 " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# responses\n", "a.responses" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "(Note: the following is figure 4b/right in the paper)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, '')" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot responses\n", "a.plot_responses()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
genesDRCl_PDDRCl_SDDRCl_ORtotprogressionneutralresponse
0(EGFR,)10145290.3448280.4827590.172414
1(ERBB2,)812110.7272730.09090910.181818
2(BRAF,)130013100
3(KRAS,)56140700.80.20
4(EGFR, KRAS)33060.50.50
5(KRAS, ERBB2)1001100
6(BRAF, KRAS)2002100
7(EGFR, BRAF)1001100
8(BRAF, ERBB2)0000
9(EGFR, ERBB2)0000
10(EGFR, BRAF, KRAS)0000
11(BRAF, KRAS, ERBB2)0000
12(EGFR, BRAF, ERBB2)0000
13(EGFR, KRAS, ERBB2)0000
14(EGFR, BRAF, KRAS, ERBB2)0000
\n", "
" ], "text/plain": [ " genes DRCl_PD DRCl_SD DRCl_OR tot progression \\\n", "0 (EGFR,) 10 14 5 29 0.344828 \n", "1 (ERBB2,) 8 1 2 11 0.727273 \n", "2 (BRAF,) 13 0 0 13 1 \n", "3 (KRAS,) 56 14 0 70 0.8 \n", "4 (EGFR, KRAS) 3 3 0 6 0.5 \n", "5 (KRAS, ERBB2) 1 0 0 1 1 \n", "6 (BRAF, KRAS) 2 0 0 2 1 \n", "7 (EGFR, BRAF) 1 0 0 1 1 \n", "8 (BRAF, ERBB2) 0 0 0 0 \n", "9 (EGFR, ERBB2) 0 0 0 0 \n", "10 (EGFR, BRAF, KRAS) 0 0 0 0 \n", "11 (BRAF, KRAS, ERBB2) 0 0 0 0 \n", "12 (EGFR, BRAF, ERBB2) 0 0 0 0 \n", "13 (EGFR, KRAS, ERBB2) 0 0 0 0 \n", "14 (EGFR, BRAF, KRAS, ERBB2) 0 0 0 0 \n", "\n", " neutral response \n", "0 0.482759 0.172414 \n", "1 0.0909091 0.181818 \n", "2 0 0 \n", "3 0.2 0 \n", "4 0.5 0 \n", "5 0 0 \n", "6 0 0 \n", "7 0 0 \n", "8 \n", "9 \n", "10 \n", "11 \n", "12 \n", "13 \n", "14 " ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# variants vs responses\n", "a.matching.fillna(\"\")" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAGMCAYAAAAhleIkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3XmYFNW5x/HvO4COIuICxiiyKAiyi8RojLsQ3CPukesaua7XRGM0iTHG640ajZoYEuONiiuuMSLuGhV3FAQURVlEAXNFUVFUROS9f5zqsWlmhpmuOjPTxe/zPP3Q1d3zmzOnmbdqqk+dY+6OiIjkS1VzN0BERLKn4i4ikkMq7iIiOaTiLiKSQyruIiI5pOIuIpJDqyzuZnatmS0ws1freN7M7E9mNtPMpprZoOybKSIijdGQI/fRwLB6nt8T6JHcRgJ/Td8sERFJY5XF3d3HAx/W85L9gRs8eB5Yz8y+nVUDRUSk8bI4574pMLdoe17ymIiINJPWTfnNzGwk4dQNbdu23aZXr14rvWbeJ282OK/Tuls2+LWxcr+c3vDcNXs1PDeEz274a9fcvNlzY/ZFrOyo759IBBMnTvzA3Tuu6nVZFPf5wGZF252Sx1bi7lcDVwMMHjzYX3rppZVe8/NHdm/wN/79kMca/NpYubO/t1uDX7v5s/9q8GsBlr91SINfW9Xt9mbPjdkXsbJjtlkkBjN7uyGvy+K0zFjgyGTUzHbAInf/dwa5IiJSplUeuZvZGGAXoIOZzQN+A7QBcPergPuBvYCZwOfAMbEaKyIiDbPK4u7uh6/ieQdOzqxFIiKSWpN+oCoileerr75i3rx5LFmypLmbslqprq6mU6dOtGnTpqyvV3EXkXrNmzePdu3a0bVrV8ysuZuzWnB3Fi5cyLx58+jWrVtZGZpbRkTqtWTJEjbccEMV9iZkZmy44Yap/lpScReRVVJhb3pp+1zFXUQkQ1dddRU33HBDczdD59xFpHEac+FXQ2R1cdjXX39Nq1atyv76ZcuW0bp1+pJ4wgknpM7Igo7cRaTFmzNnDr169eKII45gq6224qCDDuLzzz+na9eunHXWWQwaNIg77riDyZMns91229G/f38OOOAAPvroIwBefPFF+vfvz8CBAznzzDPp27cvAKNHj2a//fZjt912Y/fdw1Xsl1xyCd/5znfo378/v/nNbwD47LPP2HvvvRkwYAB9+/bltttuA+Dss8+md+/e9O/fn5/97GcAnHfeeVx66aUAdbZnl1124ayzzmLbbbdlyy235Kmnnsq8z1TcRaQivPHGG5x00km8/vrrrLvuuvzlL38BYMMNN2TSpEkcdthhHHnkkVx88cVMnTqVfv368dvf/haAY445hr/97W9Mnjx5paP7SZMmceedd/Lkk0/y8MMPM2PGDCZMmMDkyZOZOHEi48eP58EHH2STTTZhypQpvPrqqwwbNoyFCxdy9913M23aNKZOnco555yzUpvrag+EvxQmTJjAFVdcscLjWVFxF5GKsNlmm7HDDjsAMGLECJ5++mkADj30UAAWLVrExx9/zM477wzAUUcdxfjx4/n444/59NNP2X777QH40Y9+tELukCFD2GCDDQB4+OGHefjhh9l6660ZNGgQ06dPZ8aMGfTr149HHnmEs846i6eeeor27dvTvn17qqurOe644/jHP/7B2muvvUJuXe0pGD58OADbbLMNc+bMybKrABV3EakQpaNHCttt27ZNlVv89e7OL37xCyZPnszkyZOZOXMmxx13HFtuuSWTJk2iX79+nHPOOZx//vm0bt2aCRMmcNBBBzFu3DiGDatvTaOVrbnmmgC0atWKZcuWpfoZaqPiLiIV4Z133uG5554D4JZbbuH73//+Cs+3b9+e9ddfv+b89Y033sjOO+/MeuutR7t27XjhhRcAuPXWW+v8Hj/4wQ+49tprWbx4MQDz589nwYIFvPvuu6y99tqMGDGCM888k0mTJrF48WIWLVrEXnvtxeWXX86UKVMa1J6motEyIlIRevbsyahRozj22GPp3bs3J554IldeeeUKr7n++us54YQT+Pzzz9l888257rrrALjmmms4/vjjqaqqYuedd6Z9+/a1fo+hQ4fy+uuv15zCWWeddbjpppuYOXMmZ555JlVVVbRp04a//vWvfPrpp+y///4sWbIEd+eyyy5bKa+u9jQFFXcRaZTmmte+devW3HTTTSs8VnqueuDAgTz//PMrfW2fPn2YOnUqABdddBGDBw8G4Oijj+boo49e4bWnnXYap5122gqPbbHFFvzgBz9YKXfChAkrPXbeeeetsj1PPPFEzf0OHTpEOeeu4i4iuXffffdx4YUXsmzZMrp06cLo0aObu0nRqbiLSIvXtWtXXn311bK//tBDD60ZVbO60AeqIiI5pOIuIpJDKu4iIjmk4i4ikkMq7iKy2pgzZw633HJLWV+7zjrrZNyauDRaRkQaZflbh2SaV9Xt9kzz6lMo7qXzy0B2U/62FDpyF5EWb86cOWy11VYcf/zx9OnTh6FDh/LFF18wa9Yshg0bxjbbbMOOO+7I9OnTgXBx0p133lnz9YWj7rPPPpunnnqKgQMHcvnll6805e/ixYvZfffdGTRoEP369eOee+5plp83CyruIlIRZsyYwcknn8y0adNYb731uOuuuxg5ciRXXnklEydO5NJLL+Wkk06qN+Oiiy5ixx13ZPLkyfz0pz8FVpzyt7q6mrvvvptJkybx+OOPc8YZZ+DuTfHjZS4/f4OISK5169aNgQMHAt9Mk/vss89y8MEH17zmyy+/bHRu8ZS/7s4vf/lLxo8fT1VVFfPnz+e9995j4403zuaHaEIq7iJSEQpT5EKYJve9995jvfXWY/LkySu9tnXr1ixfvhyA5cuXs3Tp0jpzi6f8vfnmm3n//feZOHEibdq0oWvXrixZsiTDn6Lp6LSMiFSkddddl27dunHHHXcA4ai7MO1u165dmThxIgBjx47lq6++AqBdu3Z8+umndWYuWrSIjTbaiDZt2vD444/z9ttvR/4p4lFxF5GKdfPNN3PNNdcwYMAA+vTpU/MB6PHHH8+TTz7JgAEDeO6552qOzvv370+rVq0YMGAAl19++Up5RxxxBC+99BL9+vXjhhtuoFevXk3682RJp2VEpFGacuhiQenEYYXFqAEefPDBlV7/rW99a4Wpdi+++GIA2rRpw7/+teKUxcVT/nbo0KFmQZBShQU8KoWO3EVEckjFXUQkh1TcRURySMVdRCSHVNxFRHKoxY2Wuaj7hs3dBBGRiqcjdxGRHGrQkbuZDQP+CLQC/u7uF5U83xm4Hlgvec3Z7n5/xm1NRX8RiGTj54/snmne74c81qjXuzvuTlWVjk3rs8reMbNWwChgT6A3cLiZ9S552TnA7e6+NXAY8JesGyoiq685c+bQs2dPjjzySPr27cuNN97I9ttvz6BBgzj44INrLjA6++yz6d27N/3796+50Onoo4/mhBNOYPDgwWy55ZaMGzcOgCVLlnDMMcfQr18/tt56ax5//HEARo8ezfDhwxk2bBg9evTg5z//OQBff/01Rx99NH379qVfv341V7jWNe1wc2vIkfu2wEx3nw1gZrcC+wOvFb3GgXWT++2Bd7NspIjIjBkzuP766+nevTvDhw/n0UcfpW3btlx88cVcdtllnHzyydx9991Mnz4dM+Pjjz+u+do5c+YwYcIEZs2axa677srMmTMZNWoUZsYrr7zC9OnTGTp0KG+++SYAkydP5uWXX2bNNdekZ8+enHrqqSxYsID58+fXXClbyB85ciRXXXUVPXr04IUXXuCkk05a6SrY5tCQ4r4pMLdoex7w3ZLXnAc8bGanAm2BPTJpnYhIokuXLmy33XaMGzeO1157jR122AGApUuXsv3229O+fXuqq6s57rjj2Geffdhnn31qvvaQQw6hqqqKHj16sPnmmzN9+nSefvppTj31VAB69epFly5daor77rvvTvv27QHo3bs3b7/9Nn369GH27Nmceuqp7L333gwdOpTFixdnMu1wDFmNljkcGO3ufzCz7YEbzayvuy8vfpGZjQRGAnTu3Dmjb51fc474oMGv3fzZiA0RaQEKk3+5O0OGDGHMmDErvWbChAk89thj3Hnnnfz5z3+uOYI2sxVeV7pdqnR64WXLlrH++uszZcoUHnroIa666ipuv/12rrjiijqnHW5uDflEYj6wWdF2p+SxYscBtwO4+3NANdChNMjdr3b3we4+uGPHjuW1WERWa9tttx3PPPMMM2fOBOCzzz7jzTffZPHixSxatIi99tqLyy+/vGb6X4A77riD5cuXM2vWLGbPnk3Pnj3ZcccdufnmmwF48803eeedd+jZs2ed3/eDDz5g+fLlHHjggVxwwQVMmjSp3mmHm1tDjtxfBHqYWTdCUT8MKF1d9h1gd2C0mW1FKO7vZ9lQERGAjh07Mnr0aA4//PCaUyAXXHAB7dq1Y//992fJkiW4O5dddlnN13Tu3Jltt92WTz75hKuuuorq6mpOOukkTjzxRPr160fr1q0ZPXr0CkfspebPn88xxxxTswjIhRdeCIRph0888UQuuOACvvrqKw477DAGDBgQsQcaZpXF3d2XmdkpwEOEYY7Xuvs0MzsfeMndxwJnAP9rZj8lfLh6tFfqwoMiUq/GDl3MQumUv7vtthsvvvjiSq+bMGFCrV+/xx57cNVVV63wWHV1Ndddd91Krz366KNXmAa4MLoGwnqrpbp161brtMPNrUHn3JMx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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot matching\n", "a.plot_matching()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "### Matching `feature_amplification` only\n", "\n", "We analyze cases with only 1+ `feature_amplification` (and with no `sequence_alteration`)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "25\n" ] } ], "source": [ "# create the subset\n", "tot = cases_per_variant['feature_amplification'] - cases_per_variant['sequence_alteration']\n", "print(len(tot))" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
genecases
0Annotated25
1BRAF0
2EGFR19
3ERBB26
4KRAS0
\n", "
" ], "text/plain": [ " gene cases\n", "0 Annotated 25 \n", "1 BRAF 0 \n", "2 EGFR 19 \n", "3 ERBB2 6 \n", "4 KRAS 0 " ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# create a new Semalytics analysis object\n", "a = utils.Analysis(tot, cases_per_gene, cases_per_response, variants_occurrences)\n", "\n", "# gene variants\n", "a.variants" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEWCAYAAABv+EDhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAHDdJREFUeJzt3Xm8HFWd9/HPNwlhC7JGBhIgQDKBKANCJsCwmFGQoERwhYgPi4HIOMiMI2pQHIOvQZznUUEfUIyCAWUVFcIioAORxaAJsm8SSCABCWELqyDwmz/O6aTS3L65Sd+6XUl936/Xfd2u/VR1dX+rzqmqVkRgZmb106/TBTAzs85wAJiZ1ZQDwMysphwAZmY15QAwM6spB4CZWU05AKzPSZoi6WedLsfqTNKvJR3eh8vbT9KlfbW8FmU4QtJN+fWaku6XNLiTZao6B0DFSJoh6VlJa/bR8oZJCkkDVmCaeZL2KbNc1p6I2D8izml3PpLGSlrQg1FPBr5ZmC4kvSTpRUmPSfqOpP7tlqenIuJV4Gxgcl8tc1XkAKgQScOAvYAAPtjRwlhpViRsV2LektSnn2tJ/wisHxG3NA3aMSIGAe8FPgEc3ZflAs4HDu+rg6lVkQOgWg4DbgGmAcucvkuaJukMSVdKekHSHyRtWxgeko6R9KCk5/K4ysP6STpR0iOSnpR0rqT186Q35P/P5aO13SVtK+k6SU9LekrSeZI2yPP6KbAlcHke/4u5/26Sfp+XfYeksYWybS3pd7ncvwE26W4jSDpQ0u2Snpf0kKRxuf+Rku7L83lY0qcL02wi6Yq8/Gck3dj4IpS0uaRfSFokaa6k4wrTjZE0Oy9roaTvtCjTWEkLJH05b5N5kg4tDF9T0rckPZrnc6aktZum/ZKkJ4CfNM17zVzudxb6DZb0iqS3S9owr9uifHZ4haShhXFnSDpZ0s3Ay8A2ud9ReXjL9zMPnyfpeEl3Slos6SJJa0laF/g1sHl+r1+UtHkXm2d/4Het3s+IuB+4EXhnXt7k/L6+IOleSR8qlOUISTflbflsfr/2LwxfX9JZkv6idGbxX2pxZhERC4Bngd1ala32IsJ/FfkD5gCfAXYB/gZsWhg2DXgaGAMMAM4DLiwMD+AKYAPSF/QiYFwe9qk8722AQcAvgZ/mYcPytAMK8xoO7AusCQwmhcRpheHzgH0K3UNy2d5POqjYN3cPzsNnAt/J89sbeAH4WYttMAZYnOfRL897uzzsA8C2gIB3k77sds7DTgHOBNbIf3vl8foBtwL/CQzM2+BhYL9C2f5Pfj0I2K1FucYCrxfW493AS8DIPPxUYDqwEbAecDlwStO0/52nXbuL+Z8NnFzo/lfg6vx6Y+AjwDp53j8HLi2MOwN4FHhH3jfWyP2OWoH384/A5rn89wHHFMq+YDn77c+BLzT1C2B4fj0KeAKYmLs/lpfVDzg4b8fN8rAjSPv+0UB/4F+AxwHl4b8CfgisC7w9l/vThWlvairHdOC4Tn+2q/rX8QL4L78RsGfe8TfJ3fcDnysMnwb8uND9fuD+QncAexa6LwYm59f/A3ymMGxkXtYAugiALsp2EHBboXseywbAl8iBUuh3DeksZkvSl9+6hWHn0zoAfgic2sNtdinwb/n114HLGl86hXF2BR5t6ncC8JP8+gbgpMZ272ZZY7tYj4uBr5KC5iVg28Kw3YG5hWlfA9bqZv77AA8Vum8GDmsx7k7As4XuGcDXm8aZQQ6AHr6fnyx0/1/gzELZlxcAvyEHRtP++DzpCPwh4L+Afi2mvx04ML8+AphTGLZOntffAZsCr1IIUGACcH1h2uYAOA/4zxX9PNblr7S6SFthhwPXRsRTufv83O/UwjhPFF6/TDpipQfDNwceKQx7hPTlv2lXBZG0KfBd0lH0eqQjtWe7KftWwMckjS/0WwO4Pi/72Yh4qWn5W7SY1xbAVS3KtT/wNeDvc5nWAe7Kg/8fMAW4Ntd8TY2Ib+aybS7pucKs+pOqJAAmksLjfklzgZMi4ooWZetqPTYnHVWvA9yalw0pFIpVE4si4q8t5gtpW60jaVdgIelL/ld5vdch7QfjgA3z+OtJ6h8Rb+Tu+a1m3MP3s3nf6aqqp5Vn83yb7RwRc7ooz2HAf5AOPiDtp8VqwSVliYiX8zYdRDo7WQP4S2E796Obdc/leq6b4bXmAKiAXFf8caB/riOGdLq+gaQdI+KONhfxOOmLsKFxVL6QVMXS7Buko64dIuIZSQcBpxeGNz9Cdj7pDOAtjXyStgI2lLRu4ctzyy7mUZzXts09lRryfkFqJ7ksIv6mdNmhACLiBeDzwOdzXfp1kmbl+c2NiBFdLSwiHgQm5PaCDwOXSNq46Yu+oav1uBt4CngFeEdEPNZivbp97G5EvCHpYtIR7ULgirxO5PUaCewaEU9I2gm4rbHuPZj/8t7PbovWg3HuJIXycuX94UekhuGZeb1vZ9l1aWU+6Qxgk4h4vSfLA7YHvt3DcWvHjcDVcBDwBqmudKf8tz3pKPWwXpj/BcDnlBpjB5G+EC7KH6JFwJukuvGG9YAXgcWShgBfaJrfwqbxfwaMV7oWvH9uQBwraWhEPALMBk6SNFDSnsB4WjsLOFLSe5Uar4dI2o5Uf79mLu/r+WzgfY2JJB0gabjSoeFi0vZ8k1RH/EJugF07l++dSleuIOmTkgZHxJssPVJ8s5vyNdZjL+AA4Od52h8Bp0p6e57vEEn7dTOfrpxPqhM/NL9uWI8UMM9J2oh0FrQilvd+dmchsLGWXjTQlatIbSI9sS4pVBZBatgnNw4vT0T8BbgW+Lakt+X9Y1tJXS47r+tGpAsrrAsOgGo4nFQn/WhEPNH4Ix2lHar2Lxs8G/gpqb57LvBX4LOQTrFJ13DfnK9E2Y1UJ74z6Yv0SlKjcdEpwIl5/OMjYj5wIPBl0gd7PulLprF/fYJUF/8M6cvr3FYFjYg/AkeSqjwWk64u2SofDR9Hqnd/Ns9zemHSEcBvSV90M4HvR8T1uYrkAFKoziUdrf8YaHyhjQPukfQiqZrkkIh4pUXxnsjLfpxUt3xMpCtcILWDzAFukfR8LsvIVuvZYt3/QGpL2Jx09U3DacDauey3AFevyHxZ/vvZXZnuJx1APJzf77dUDUXEn0jhsmsP5ncv6Yh8JilcdiC1d/TUYaSDgXtJ78UlwGYtxv0EcE6kewKsC42WdTPrhtJlrT+LiKHLG7eOJL2PdKHBQZ0uCyypMrwD2Dsinux0earKAWDWAw4AWx31WRWQpO2Vbo65RNK/9NVyzcysa20FgKSzle4svbup/zhJD0iaI2kyQETcFxHHkK522aOd5Zr1tYiY4aN/W920ewYwjdSItkS+LfsM0u3ho0iX2I3Kwz5IaoTq8jpvMzPrO21dXRIRNyg9wKxoDOlOvocBJF1IukLk3oiYDkyXdCXLXua2hKRJwCSAddddd5ftttuunSKamdXKrbfe+lRE9Ogx2GXcCDaEZe/MWwDsmhvRPky6lrvlGUBETAWmAowePTpmz55dQhHNzFZPkh5Z/lhJn90JHBEzSM8nMTOzCijjKqDHWPY5L0Nzvx6TNF7S1MWLF/dqwczMbKkyAmAWMCI/dmAgcAjL3rG5XBFxeURMWn/97u4+NzOzdrR7GegFpFu6Ryr94MXE/HyZY0mPA74PuDgi7mm/qGZm1pvavQpoQov+V9HGpZ75scLjhw8fvrKzMDOz5ajkw+BcBWRmVr5KBoCZmZWvkgHgq4DMzMpXyQBwFZCZWfkqGQBmZla+SgaAq4DMzMpXyQBwFZCZWfkqGQBmZlY+B4CZWU05AMzMaqqSAeBGYDOz8lUyANwIbGZWvkoGgJmZlc8BYGZWUw4AM7OaqmQAuBHYzKx8lQwANwKbmZWvkgFgZmblcwCYmdWUA8DMrKYcAGZmNeUAMDOrqUoGgC8DNTMrXyUDwJeBmpmVr5IBYGZm5XMAmJnVlAPAzKymHABmZjXlADAzqykHgJlZTTkAzMxqqpIB4BvBzMzKV8kA8I1gZmblq2QAmJlZ+RwAZmY15QAwM6spB4CZWU05AMzMasoBYGZWUw4AM7OacgCYmdWUA8DMrKYcAGZmNeUAMDOrqQF9tSBJBwEfAN4GnBUR1/bVss3M7K3aOgOQdLakJyXd3dR/nKQHJM2RNBkgIi6NiKOBY4CD21mumZm1r90qoGnAuGIPSf2BM4D9gVHABEmjCqOcmIebmVkHtRUAEXED8ExT7zHAnIh4OCJeAy4EDlTy38CvI+JP7SzXzMzaV0Yj8BBgfqF7Qe73WWAf4KOSjmk1saRJkmZLmr1o0aISimdmZtCHjcAR8T3gez0YbyowFWD06NFRdrnMzOqqjDOAx4AtCt1Dc78e809CmpmVr4wAmAWMkLS1pIHAIcD0FZmBfxLSzKx87V4GegEwExgpaYGkiRHxOnAscA1wH3BxRNzTflHNzKw3tdUGEBETWvS/CrhqZecraTwwfvjw4Ss7CzMzW45KPgrCVUBmZuWrZACYmVn5KhkAvgrIzKx8lQwAVwGZmZWvkgFgZmblcwCYmdVUJQPAbQBmZuWrZAC4DcDMrHyVDAAzMyufA8DMrKYqGQBuAzAzK18lA8BtAGZm5atkAJiZWfkcAGZmNeUAMDOrqUoGgBuBzczKV8kAcCOwmVn5KhkAZmZWPgeAmVlNOQDMzGrKAWBmVlMOADOzmqpkAPgyUDOz8lUyAHwZqJlZ+SoZAGZmVj4HgJlZTQ3odAHKtOmxF3W6CAAsPP3gThfBzOwtfAZgZlZTDgAzs5pyAJiZ1ZQDwMysphwAZmY1VckA8J3AZmblq+RloBFxOXD56NGjj+50WWz1c8J1p3W6CACc8p5/73QRrOYqeQZgZmblcwCYmdWUA8DMrKYcAGZmNeUAMDOrKQeAmVlNOQDMzGrKAWBmVlMOADOzmnIAmJnVlAPAzKym+iwAJG0j6SxJl/TVMs3MrLW2AkDS2ZKelHR3U/9xkh6QNEfSZICIeDgiJrazPDMz6z3tngFMA8YVe0jqD5wB7A+MAiZIGtXmcszMrJe1FQARcQPwTFPvMcCcfMT/GnAhcGBP5ylpkqTZkmYvWrSoneKZmVk3ymgDGALML3QvAIZI2ljSmcC7JJ3QauKImBoRoyNi9ODBg0sonpmZQR/+IExEPA0c01fLMzOz7pVxBvAYsEWhe2ju12P+SUgzs/KVEQCzgBGStpY0EDgEmL4iM4iIyyNi0vrrr19C8czMDNq/DPQCYCYwUtICSRMj4nXgWOAa4D7g4oi4ZwXn6zMAM7OStdUGEBETWvS/Criqjfn6R+HNzErmR0GYmdWUA8DMrKYqGQBuAzAzK18lA8BXAZmZla+SAWBmZuXrszuBV4Sk8cD44cOHd7ooZqu16586p9NFAOCfNzm800WopUqeAbgKyMysfJUMADMzK58DwMyspioZAL4M1MysfJUMALcBmJmVr5IBYGZm5XMAmJnVlAPAzKymHABmZjVVyQDwVUBmZuWrZAD4KiAzs/JVMgDMzKx8DgAzs5pyAJiZ1ZQDwMysphwAZmY1VckA8GWgZmblq2QA+DJQM7PyVTIAzMysfA4AM7OacgCYmdWUA8DMrKYcAGZmNeUAMDOrKQeAmVlNVTIAfCOYmVn5KhkAvhHMzKx8lQwAMzMrnwPAzKymHABmZjXlADAzqykHgJlZTTkAzMxqygFgZlZTDgAzs5pyAJiZ1ZQDwMysphwAZmY1NaCvFiRpXeD7wGvAjIg4r6+WbWZmb9XWGYCksyU9Kenupv7jJD0gaY6kybn3h4FLIuJo4IPtLNfMzNrXbhXQNGBcsYek/sAZwP7AKGCCpFHAUGB+Hu2NNpdrZmZtaisAIuIG4Jmm3mOAORHxcES8BlwIHAgsIIVAt8uVNEnSbEmzFy1a1E7xzMysG2U0Ag9h6ZE+pC/+IcAvgY9I+gFweauJI2JqRIyOiNGDBw8uoXhmZgZ92AgcES8BR/bV8szMrHtlnAE8BmxR6B6a+/WYfxLSzKx8ZQTALGCEpK0lDQQOAaavyAz8k5BmZuVr9zLQC4CZwEhJCyRNjIjXgWOBa4D7gIsj4p72i2pmZr2prTaAiJjQov9VwFUrO19J44Hxw4cPX9lZmJnZclTyURCuAjIzK18lA8DMzMpXyQDwVUBmZuWrZAC4CsjMrHyVDAAzMytfJQPAVUBmZuWrZAC4CsjMrHyVDAAzMyufA8DMrKYcAGZmNVXJAHAjsJlZ+SoZAG4ENjMrXyUDwMzMyucAMDOrKQeAmVlNVTIA3AhsZla+SgaAG4HNzMpXyQAwM7PyOQDMzGrKAWBmVlMOADOzmnIAmJnVVCUDwJeBmpmVr5IB4MtAzczKV8kAMDOz8jkAzMxqygFgZlZTDgAzs5pyAJiZ1ZQDwMysphwAZmY1VckA8I1gZmblq2QA+EYwM7PyVTIAzMysfA4AM7OacgCYmdWUA8DMrKYcAGZmNeUAMDOrKQeAmVlNOQDMzGrKAWBmVlMOADOzmnIAmJnVlAPAzKym+iwAJG0j6SxJl/TVMs3MrLUeBYCksyU9Kenupv7jJD0gaY6kyd3NIyIejoiJ7RTWzMx6z4AejjcNOB04t9FDUn/gDGBfYAEwS9J0oD9wStP0n4qIJ9surZmZ9RpFRM9GlIYBV0TEO3P37sCUiNgvd58AEBHNX/7N87kkIj7azfBJwKTcORJ4oEcFLM8mwFMdLkNVeFss5W2xlLfFUlXYFltFxOCejNjTM4CuDAHmF7oXALu2GlnSxsDJwLskndAqKCJiKjC1jXL1KkmzI2J0p8tRBd4WS3lbLOVtsdSqti3aCYAVEhFPA8f01fLMzKx77VwF9BiwRaF7aO5nZmargHYCYBYwQtLWkgYChwDTe6dYlVKZ6qgK8LZYyttiKW+LpVapbdGjRmBJFwBjSQ0cC4GvRcRZkt4PnEa68ufsiDi5xLKamVkv6vFVQGZmtnrxoyDMzGpqlQ8ASQdJCknblTDvsZL+qbfG62K6eZI2WbnStU/SG5Jul3SHpD811kHSMEmv5GH3SjpX0hpN054m6TFJ/Qr9jpC0KE93u6Rzm5dZVYVt0fibnPsPkPQNSQ8Whn2lm+mG5f1hce6+X9K3Ordmy9fNus/Id/rfIWmWpJ0K08yTdFce/y5JB3Yxv+b9aidJMyXdI+lOSQf3/dquGEkvFl6/X9KfJW0laUre/xufkQlN0w3In4VvNvU/QNJtedvcK+nTfbUuXYqIVfoPuAi4ETiphHlPAY7vrfG6mG4esEkHt92Lhdf7Ab/Lr4cBd+fX/YHrgEML4/YDHgFuAf650P8I4PRO7xPtboum/t8k3Qm/Vu5ej3QDZMvpSO1lV+TXawP3A3t0eh1XYt1nAKPz6yOB3xSGLdl3STdsPtKD/ervgRH59ebAX4ANOr3+Pdk2wHuBOcC2uXvJZx4YATwPrFGYbn/gZuAhlla1rwE8DgzN3WsCIzu5fqv0GYCkQcCewETSVUiNo/EZki7JR1/nSVIeNk/SSfmo5K7GWYOkjSRdmo9KbpH0D/nO52OAz+WU30vSeEl/yAn+W0mbthhvsKRf5KOmWZL2yMvZWNK1+Qjox4D6dot1623As809I+IN4I+kG/8axgL3AD8AJjRPs7qQtA5wNPDZiPgrQES8EBFTejqPiHgFuJ1lt9+qaCat16HLfad5WET8OSIezK8fB54EenTHaidJ2hv4EXBARDzUPDyv08vAhoXeE4DvAo8Cu+d+65HuvXo6T/dqRHT0SQd9diNYSQ4Ero6IP0t6WtIuuf+7gHeQ0vZmYA/gpjzsqYjYWdJngOOBo4CTgNsi4iBJ7wHOjYidJJ1JOgL4FoCkDYHdIiIkHQV8MSI+38V45wOnRsRNkrYErgG2B74G3BQRX5f0AVJwddLakm4H1gI2A97TPIKktUh3eP9bofcE4ALgMuAbktaIiL/lYQdL2jO//m5E/KS00veuxrZoOAW4D3g0Il7o4XRzI+JDxYF5nxkB3NCrpe1db1n3iLioaZxxwKVN/a7PB1fbAB/vYn7d7VdjgIGkI+QqW5O03mMj4v6uRpC0M/Bg5Oed5c/MPsCngQ1In5ffR8QzSs9Le0TS/wBXABdExJt9sB5d6/QpVpunZ1cA++bXxwHfIh2dFk9VfwB8Mr+eBwzJr3cFfptf3wZsU5hmPunIZQqFqh1gB+Ba4C7SM4qubj4dzN1Pko76Gn+PAYPy6+JynqE6VUC7k47qRaoCahy5LgbOL4w3MK/Pern7l6QjI1jNqoCAfyAdGDS6j8zbZD6wRTfTjc3b7Q7SkeE3Or1+K7ruuf+MvJ/PBRY1Pjt52DyWVgFtm7sHdbdfFfptlue7W6fXvQfb5uX8PfPdpv5T8ufgHuBvwLjCsI8C5+XXG+f9pX9h+A7A5/L3zrROrt8qWwUkaSPSkcWPJc0DvkA6ChHwamHUN1j2TOfVFv174v+TvuB2IKX7Wi3G60fauXfKf0Mi4sUW41ZCRMwk3efROCV/KCJ2In24d5H0wdx/P9JRzV15u+/J6lsNNAfYUtJ6ABHxk7xNFpPaRrpzY0TsSDoTnVhsQF3FHEo6wj+HtP+/RaRqkYXAqC6GLbNfSXobcCXwlYi4paQy96Y3Sd8rYyR9uWnYqRHxDuAjwFn5yB/S52Gf/Pm4lRQCS86CIuKuiDiV9CTlj5Rc/m6tsgFAStmfRsRWETEsIrYgHanstRLzupG0oyNpLKma6HngBVK9XcP6LH3cxeGF/s3jXQt8ttFR+PDfAHwi99ufZesMOyq3h/Qn1082RMRTwGTghNxrAnBU3ubDgK2BfXN9+WolIl4GzgJOb3y4lR6DPnAF5jGX1JD8pVIK2QciHbZ+FdhNXVxtJ+ntpP3gkS6GLdmvlJ4Y8CtSFesq88NQeT/4AHCopLdU20bEdGA2cHgOuL2ALQufkX8FJkgalL9fGnaii23Wl1blAJhA2pmKfsHKHY1OIR3l3kn6sDa+3C8HPtRo3M3j/VzSrSz7yNfm8Y4DRudG5XtZ+hC8k4C9Jd0DfJjUQNRJa+cy3066murwSI2+zS4F1pH0blJd8JWNARHxEql9ZXxfFLhES7ZF/mtcvvcV0tUqd0u6jXSwcA6pfamnziS978N6s8C9qNW6LxGpMfvbpDPthuvzvnM9MDkiFjbPj2X3q48DewNHFJa1SpwZRcQzpH3/xMLZcNHXgf8APgRcFxHFWojLSJ+P/sAXlS6tvZ30fXBEqQVfDt8JbGZWU6vyGYCZmbXBAWBmVlMOADOzmnIAmJnVlAPAzKymHABmZjXlADAzqykHgFkm6av5Jp2bJF0g6XhJ20q6WtKtkm4sPEF2mqTvSfq9pIclfbQwny/kp8DeKemkzq2RWfccAGaApH8kPZdlR9Kz3EfnQVNJj4PehfT02O8XJtuM9CykA0h3kCPpfaSnf44h3eq/S36csFnlrOqPgzbrLXsAl0V67v9fJV1OetjfP5Ee/9EYb83CNJdGepTvvZI2zf3el/9uy92DqP7joK2mHABmrfUDnstPAO1K8XkvKvw/JSJ+WGrJzHqBq4DMkpuB8ZLWUvqluQNIz4KfK+ljAEp2XM58rgE+leeBpCH5aZlmleMzADMgImblX2u6k/Rs+7tIz/0/FPiBpBNJv+l6IemHXlrN51pJ2wMzc7XRi8AnST8SZFYpfhqoWSZpUES8mH/b4AZgUkT8qdPlMiuLzwDMlpoqaRSp8fccf/nb6s5nAGZmNeVGYDOzmnIAmJnVlAPAzKymHABmZjXlADAzq6n/Bd1+RAllbNE+AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot variants distribution\n", "a.plot_variants()" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
response_typecases
0response7
1neutral9
2progression9
\n", "
" ], "text/plain": [ " response_type cases\n", "0 response 7 \n", "1 neutral 9 \n", "2 progression 9 " ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# responses\n", "a.responses" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, '')" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAATEAAAExCAYAAAAUZZVoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3XmYHGW5/vHv0zOTZZKQyA5ZSGcDBQWDgkQQMRNFxeUotAiiiKigooDS7IuCgBFQf4igHiCHg4IT8SgiApMWQkiHYMIW9iWdEJjsyWzJ7PX8/qgamYRJZuvut6r6+VzXXDPTS9Xdk8w9VdVV7yuqijHGRFXCdQBjjBkMKzFjTKRZiRljIs1KzBgTaVZixphIsxIzxkSalZgJHRHZS0QeFZFGEbm+COv7p4h8rdDrMYVR7jqA2TERWQHsBXQCTcADwPdUtcllriL4FrAB2EXzfCKjiFwBTFHVr3TdpqqfzOc6THHZllj4fUZVRwKHAO8HLnScpxj2A17YUYGJiP3xNf9hJRYRqroGeBC/zAAQkaEicp2IvCEia0XkFhEZHty3u4jcJyJ1IrJJRBaISCK4b4WIXCgiL4jIZhG5XUSGdVvuN0XkteB594rIvt3uUxE5Q0ReDZZ9k4hIcN8UEZkvIvUiskFE/tTteQeISE2wzJdFJNXT6xSROcDXgLSINIlIlYhcISJ/FpE7RaQBOFVEDhORRUGG1SLyaxEZ0m05B3Zb31oRuUhEjgUuAr4ULPuZ4LGPiMjpwdcJEblERFaKyDoRuUNERgf3TQxe/9eCn/kGEbm42zoPE5ElItIQrPOGgf57m35QVfsI6QewAqgKvh4HLAN+1e3+XwD3ArsCo4C/A9cE910D3AJUBB9HAdJtuc8B44PnLgSuCu77GP6u3HRgKHAj8Gi3dSpwHzAGmACsB44N7rsLuBj/j+Mw4Mjg9hHAKuDr+Icw3h+s4z07eN1zuvIE318BtAOfD5Y9HDgU+FCwvInAi8DZweNHAauBHwY5RgGHd1vWndut7xHg9ODr04DXgEnASOAvwP8G900MXv/vgwwHA63Au4P7FwGnBF+PBD7k+v9QKXzYllj4/VVEGvFLYB1wOUCw9fMt4BxV3aSqjcDVwInB89qBfYD9VLVdVRdo8NsV+LWqrlLVTcBPgS8Ht58M3KaqT6pqK/7u6xEiMrHbc69V1TpVfQN4mLe3DtvxdwX3VdUWVX0suP04YIWq3q6qHar6FHAPcEI/fg6LVPWvquqparOqLlXVx4PlrQB+CxzdbX1rVPX6IEejqi7u43pOBm5Q1eXqH3u8EDhxu13YHwcZngGewS+zrtc/RUR2V9UmVX28H6/PDJCVWPh9XlVHAR8FDgB2D27fA6gElga7VHX4B/73CO7/Of4WxUMislxELthuuau6fb0S6Npl3Df4HoDgF3kjMLbb49d0+3or/lYHQBoQ4AkReV5ETgtu3w84vCtnkPVkYO8+/gy2z4uITAt2l9cEu5hX8/bPZjzwej+W3d02rz/4uhz/DZYuO3r93wCmAS+JyL9F5LgBZjD9YCUWEao6H38367rgpg1AM3Cgqo4JPkar/yYAwdbHD1V1EvBZ4FwRmdltkeO7fT0BqA2+rsUvHQBEZASwG/BWHzKuUdVvquq+wLeB34jIFPwCmt8t5xhVHamqZ/bnR7Dd9zcDLwFTVXUX/GNdEty3Cn93sC/L2d42rx//Z9MBrO01oOqrqvplYE/gZ8Cfg5+fKSArsWj5JTBLRA5WVQ//2MwvRGRPABEZKyKfCL4+LjjQLkA9/mkaXrdlfVdExonIrvjHsboOwt8FfF1EDhGRofhbOIuDXbadEpETRGRc8O1m/MLw8I+hTRORU0SkIvj4oIi8exA/i1FAA9AkIgcA3QvxPmAfETlb/Dc/RonI4cF9a4GJXW9y9OAu4BwRSYrISPzX/ydV7egtkIh8RUT2CP5t6oKbvZ09xwyelViEqOp64A7gsuCm8/F3GR8PdqnmAfsH900Nvm/CP+D8G1V9uNvi/gg8BCzH3/W6KljHPOBS/GNWq4HJvH2crTcfBBaLSBP+Gw4/CI4tNQIfD5ZTi7879jP8Nw4G6kfASUAjfpn/553QYH2zgM8E63oVOCa4e27weaOIPNnDcm8D/hd4FMgBLcBZfcx0LPB88Pp/BZyoqs39eE1mALrerTIlRPyTaE8PCsuYSLMtMWNMpFmJGWMizXYnjTGRZltixphIsxIzxkSalZgxJtKsxIwxkWYlZoyJNCsxY0ykWYkZYyLNSswYE2lWYsaYSLMSM8ZEmpWYMSbSrMSMMZFmJWaMiTQrMWNMpFmJGWMizUrMGBNpVmLGmEizEjPGRJqVmDEm0qzEjDGRZiVmjIk0KzFjTKRZiRljIs1KzBgTaVZixphIsxIzxkSalZgxJtKsxIwxkVbuOoCJt3RN1Qhg924fuwBtQEtvH7NnzWt1kdlEi6iq6wwmgtI1VbsB7wUOAPZi26Lq+tgNGD6I1ShQD7wOvAa8Gnx+DXh19qx56waxbBMTVmJmp7xcqhw4aGFdy/5/37D1COCg4GMvt8kAaMAvuO7l9gzwzOxZ8zpdBjPFYyVmtuHlUiOBjwIzgSOAg4Fh9R3ev69ZUfdBl9n6oRFYBDwGLAAWz541r9ltJFMoVmIlLtjS+hBQFXwcBlS843Gqay96fXMYtr4Gog14HHgw+Hhy9qx59h8/JqzESpCXS40G/gv4Av5W16i+PO+q3Ob1TZ26RwGjFct6oAZ4APjr7FnzGh3nMYNgJVYivFxqBPBZ4ETgE8DQ/i7jrjVNS55pavtAvrM5thW4B5gDPGxbaNFjJRZjXi41BPg0fnEdB1QOZnlLG1ofmbtuy0fzEC2sVgD/A8yZPWveCrdRTF9ZicWQl0vtC5wBfIs8vou4vq1z0fVv1B+Rr+WFmALzgduBP8+eNW+r4zxmJ6zEYsTLpY4EzsI/3vWOg/OD1aG64pLXN0/M93JDrhGYC9w+e9a8x1yHMe9kJRZxXi41FPgK8D3gkEKuS1X18uWbt7QpIwu5nhBbBFw+e9a8GtdBzNusxCIqON51OnARMLZY672ttvHZV7a2v69Y6wupR4HLZs+aN991EGMlFjnBeV1fBy4G9iv2+h+ra5l/34atRxd7vSH1L+DS2bPmZV0HKWVWYhHh5VJlwCnApcAkVzneaulYcOObDUe5Wn9IPYi/ZfaE6yClyEosArxc6tPADcA011laPX3p8uWbD3CdI6T+gV9mTxZjZSIi+L/DXjHWF1Y2nliIebnURC+Xuhe4jxAUGMAQYVIC2l3nCKlPA0vTNVXV6ZqqvQuxAhGZKCIvi8gdwHPAKSKySESeFJG5IjIyeNy1IvKCiDwrItcFt80RkVtEZImIvCIixwW3DxOR20VkmYg8JSLHBLefKiJ/EZEHRORVEZkd3F4WLOu54DnnBLdPDh67VEQWiEhR/tjZeGIhFLzjeD5wAYMbyibvRGTIuKFlr7zR2hmKUg2pE4CqdE3VubNnzZtTgOVPBb6GP2rHX4AqVd0iIucD54rITfin2RygqioiY7o9dyL+9bGTgYdFZArwXfw3n98bFM9DItL173sI8H6gFXhZRG4E9gTGqupBAN2W/zvgDFV9VUQOB34DfKwAr38btiUWMl4udSz+X9gfE7IC6zKlssLG8erdu4Db0zVV/0zXVI3P87JXqurj+BfuvwdYKCJP4xfbfvhjsLUAt4rIF/AvrepSraqeqr4KLMcfD+5I4E4AVX0JWMnbW/4ZVa1X1RbghWD5y4FJInKjiBwLNARbgDOAuUGW3wL75Pl198i2xELCy6V2A27G/ysealMqKzr/tbnFdYyoOBZ4Ll1TlQZ+l6drM7cEnwWoUdUvb/8AETkMfzil4/HPIezaItp+/b3l6T66bidQrqqbReRg/GtwzwBSwNlAnaoW9FzFntiWWAh4udTHgWVEoMAA9h5SNqb3R5ludgFuAeala6qSeVzu48CHg11CRGSEiEwLtopGq+r9wDn4Y8J1OUFEEiIyGf9d7pfxx1w7OVjGNGBCcHuPRGR3IKGq9wCXANNVtQHIicgJwWMkKLqCsy0xh7xcahgwG/8vpTiO02fDEzIJ/y94ZDKHxMeAZemaqouBG2fPmjeodxVVdb2InArcJSJdo5Jcgn+p1N9EZBj+v9G53Z72BvAEfrGeoaotIvIb4GYRWQZ0AKeqaqv/5mePxgK3i0jXRtCFweeTg+Vcgn/Z2934I+0WlJ1i4YiXSx0C/AH/mEbkXL+ybuX6dq/oJ9vGyELgtNmz5r1SrBWKyBzgPlX9c7HWWQy2O1lkXi4lXi51HrCYiBYYwNTKitWuM0Tch/FPx/ii6yBRZ1tiRRQMTDgH/2BrpL3Q1PbIHWuaPuo6R0xcC1w82N3LUmVbYkXi5VL74e9CRL7AAMYOKy/VkSwK4QLg/nRN1btcB4kiK7Ei8HKpo4ElbPsuUaSNKpMJrjPEzCeAJemaqoNcB4kaK7EC83Kp7wDz8CeTjY2EyJ6jysROes2vScDCdE3VJ1wHiRIrsQLxcqkyL5e6GbiJmJ7KMnl4xRuuM8TQLsB96Zqqb7sOEhV2YL8AgvO/7gY+5zpLIT3Z0Dq/et0WG1uscK4HzrMZmHbOtsTyzMuldsGfzzDWBQYwYVj5ENcZYu6HwNx0TVXe50uIEyuxPAquf3wYKImtkzEViX1dZygBXwTuTtdUxfKQRD5YieWJl0vtjT/N13TXWYqlDCYMTUiD6xwl4AvAHemaKvt97YH9UPLAy6XG4U8ecaDrLMUkIjJxWHnOdY4S8WXg1nRNlV2vuh0rsUHycqnd8U+hmOo6iwvTKivqXGcoIafiD9dkurESGwQvlxqFfxB/f9dZXEkOLy9znaHEfDtdU/VL1yHCxEpsgIIhpP8GHOo6i0u7V5Tt4TpDCfpBuqbqZ65DhIWV2AAE06fdDRzjOotrFcKkMmhznaMEpdM1VT92HSIMrMQG5vfA512HCAMRqRg7rHy56xwl6rJ0TdWFvT8s3qzE+snLpa7Gn4HbBKZVVqx3naGEXZ2uqfqq6xAuWYn1g5dLncjbQ/GawOTh5TYOllu3pGuq3uc6hCtWYn3k5VIHA7e6zhFGew0p29V1hhI3HLgnXVM12nUQF6zE+sDLpXYF/g+odJ0ljIYnZCK9T/1lCmsK/ln9JXcyrJVYL4J3Iv8E5HOqrVgRkVF7ViRWus5h+Cz+zPElxUqsd9cCVa5DhJ1NHBIaV6Vrqj7W+8Piw0psJ7xc6njgR65zRMGUyorW3h9liqAMuCtdUzXWdZBisRLbAS+X2hf4nescUTF2qE0cEiJ7UkLjkFmJ7dhtgM0+00cjy8Qm0g2XI/BHho09K7EeeLnUmfizz5g+SojssUuZrHWdw2zjrHRN1QmuQxSaldh2vFxqKnCd6xxRNLnSJg4JoRvTNVVjXIcoJCuxboLTKf4XOx9sQKZVVmxxncG8w17AT12HKCQrsW1dABzuOkRUTRhWPsx1BtOjM9I1VR9wHaJQrMQCXi41GbjUdY4oG1NuE4eEVAL/+spY/r7H8kUN0C+Aoa5DRFkCxg9LSL3rHKZHhwJnug5RCFZigJdLfQr4jOscURdMHLLCdQ6zQz9N11Tt7TpEvpV8iXm51BDAxizPE5s4JNRGE8Nzx0q+xPBnWS7JmYoKwSYOCb2T0jVVM12HyKeSLrFgvsiLXeeIk90qyvZ0ncH06qZ0TdUQ1yHypaRLDLgGGOE6RJxUCJPKBLsYPNz2B85zHSJfSrbEvFxqf+Ak1zniRkTKxw+1WcEjIB2XM/lLtsSAyyjt118wU23ikCjYBTjbdYh8KMlf4mAr7ETXOeJq8vByG6o6Gn6QrqnaxXWIwSrJEsO2wgpqryFlNoRRNIwBvu86xGCV3C+ybYUV3rCETBKwadyi4Zx0TdUo1yEGo+RKDNsKKzgRGbHnkDKbOCQadgW+7TrEYJTUL7OXS03EtsKKYurw8jWuM5g++366pqrcdYiBKqkSw78AttResxM2cUikjAciOwJsyfxCe7nUUOA01zlKxdih5ZE+zlKCfug6wECVTIkBKWB31yFKxQibOCRqDk3XVB3tOsRAlFKJfcd1gFKSENl9dHnCJtSNlnNcBxiIkigxL5eaDnzIdY5SM2V4+SrXGUy/fCpdUxW5c/xKosSwrTAnplZWNLvOYPqlAviC6xD9FfsS83KpEcCXXecoReOHldtw39ETuVOQYl9i+MNO2xRsDowpT4x1ncH02zHpmqpIjQlXCiUW2fNfoq5MZPxwmzgkasqA412H6I9Yl5iXS40EPuk6RymbONzGFougSO1SFq3ERGSiiAxoEEIRaRrgaj8DDB/gc00eTKussC2x6DkyXVMVmUMBxdwSm8gORlIVkUJdt2W7ko4lh5VH9pq8Eib4J4dHQq8lFmxBvSgivxeR50XkIREZLiKTReQBEVkqIgtE5IDg8XNE5Phuz+/airoWOEpEnhaRc0TkVBG5V0T+BWREZKSIZETkSRFZJiKfG8wLs13JcNjVJg6JqsjsUvZ1S2wqcJOqHgjUAV8EfgecpaqHAj8CftPLMi4AFqjqIar6i+C26cDxqno00AL8l6pOB44BrhcR6d/L2cZxwLBBPN/kQYWQLBdaXOcw/XZYuqYq6TpEX/S1xHKq+nTw9VL8XcMZwFwReRr4LbDPANZfo6qbgq8FuFpEngXmAWOBvQawzC7HDuK5Jk+CiUOWu85hBuRLrgP0RV+PV3QfVqUTv1zqVPWQHh7bQVCOIpIAdja/3ZZuX58M7AEcqqrtIrKCwW1JzRrEc00eTa2s2Jhr6XAdw/TfLPzDQKE20AP7DUBORE4AEN/BwX0rgEODrz+LfykDQCOws+FZRgPrggI7BhjwKAheLvUeYN+BPt/kl00cElmHpWuqQj+j+2DenTwZ+IaIPAM8D3QdiP89cHRw+xG8vbX1LNApIs+ISE9Xy/8B+ICILAO+Crw0iGyxmqY96vYcUrar6wxmQEYC73Udoje97k6q6grgoG7fX9ft7nccd1LVtWw7YsT5we3twMe2e/icbs/bgF96PWUY2VvO7URyXKS4GpaQpICnMT+5OqaOAJ7u9VEOxfU/1UdcBzBvE5ERew0pW+E6hxmQHjcswiR2JRYcD9vDdQ6zramVFTZxSDRZiTlggx+G0JTh5W2uM5gBmZKuqQr1RkEcS+zg3h9iim3foeW7uM5gBizUW2NxLLH3uQ5g3mmkTRwSZVZiRWYlFkIistsYmzgkqqzEisXLpcbhT8tuQmiyTRwSVR8M8wzhsSox7HhYqE2rrNjqOoMZkErgQNchdsRKzBTN+GHlNkBldIV2RIu4lVjoL5EoZaNt4pAoG+c6wI7ErcRC+9fCQJnIuOEJqXOdwwyIlViRhPYHbXxJmzgkqsa7DrAjsSkxL5cqA/Z2ncPs3LTKigbXGcyAhHYDITYlhj9+WOjHPip1E23ikKiyEiuC0P6Qzdt2qygbzJDjxp2x6Zqqwcx5UTBWYqaoyv2JQ5pd5zD9NpSQjg5jJWaKSkTKJgyzg/sRFcrfsTiVmO2mRMTU4RUbXWcwA2IlVmD9HcLaODK5ssImDommUJ5mEacSq3QdwPTNnhWJ3VxnMAMSylOYrMRM0Q1NyCTx5y810bKzOWSdsRIzRSciw/e2iUOiqKL3hxSflZhxYmplxVrXGUy/WYkV2AjXAUzfTamsaHedwfRbKK+2iFOJ2VhVEbLvkLJRrjOYfgvlllgom3WAQnlJhOmZvNzBF+foAtc5TN81j2A9s1yneKc4lViL6wCmbzo2dK7ecE3j2D3VTlCOmFddB+hJnHYnrcQiwGvV5trz6zZjBRZFoTwtxkrMFNXqi+ue0hbe4zqHGZAO1wF6YiVmimb9TY3zO1Z7M1znMAPW6jpAT6zETFE0Zloe35pt+4jrHGZQNrsO0BMrMVNwra+1v7zpti3vxd5BjrpNrgP0JE4lZhOzhlBnnbd+zY8bRmInI8eBlViBrXMdwGxLO7St9ry61XjYfJPxYCVWYLWuA5htrb6s/glvq77PdQ6TN1ZiBWYlFiIbb22a376y80jXOUxeWYkVmJVYSDQ91rqk6V+tR7nOYfIulMOKW4mZvGpb2fH6xpubphGv/1sGtiSzGTvFosDWEtLLIkpFZ6O3efWl9eXALq6zmLx7zXWAHYlNiSWS1R6wxnWOUqWd2lF7Xt0KOtnPdRZTEFZiRbLSdYBStfbKhqzXqO93ncMUTChHsID4ldhzrgOUos1/3PJo66sddklRvNmWWJEscx2g1Gxd0vZUwz9a7KLu+LMtsSKxLbEiaq/tXLn+F40TidfgmqZntiVWJLYlViTeVq+h9qK6DuBdrrOYgmtMZjOhPYUpViWWSFZvBFa7zhF36qlXm657hXYmu85iimKp6wA7E6sSC9guZYGtm924oHOzfsB1DlM0j7sOsDNxLLFnXQeIs7q/bH2sZVn70a5zmKJa7DrAzsSxxEL9VyPKmp9tW1Z/T/NhrnOYorMSK7L5rgPEUfu6zrfWzW7cGxjiOospqlXJbCbUx5ljV2KJZPV64AXXOeLEa9Etqy+oa0LZw3UWU3Sh3gqDGJZYwLbG8kRVdfUFdcu0lf1dZzFOWIk58ojrAHGx/pdNj3as9z7kOodx5hHXAXoT1xKzLbE8aLi/Odu8pM3eiSxdawn5OWIQ0xJLJKvXAi+5zhFlLS+2v7D5D1ttVIrS9s9kNqOuQ/QmliUWyLgOEFUdmzrXrr264V3AcNdZjFP3uw7QF3Eusb+5DhBFXpu21KbrN+Cxj+ssxqkO4CHXIfoiziX2CFDnOkTUrLm4fqk264GucxjnFiazmXrXIfoitiWWSFa3A/9wnSNKNtzc9Eh7beeHXecwoRCZ353YlljgL64DREXjwy1PbHms1d6JNF3udR2gr+JeYvcDja5DhF3r6x2vbvrvLe8BxHUWEwpLktnMy65D9FWsSyyRrG4hQn9RXOis9zasuaJ+ODDSdRYTGv/jOkB/xLrEAne7DhBW2qFttefVvYXHONdZTGi0A3e5DtEfpVBiDwBvuQ4RRmsur1/sbdGDXecwoXJ/MpvZ6DpEf8S+xBLJ6g7gVtc5wmbTnKZH21Z0HuU6hwmdSO1KQgmUWOC/gU7XIcJiS7Z1SWNNq51KYba3kQidWtGlJEoskaxeRUQuoSi0tlUduQ03NU0FylxnMaFzVzKbaXMdor9KosQCt7gO4Fpnk1e3+pJ6AUa7zmJCxwP+n+sQA1FKJfYAsNJ1CFe0Uztqz6tbTgcTXWcxofT3ZDYT2lm+d6ZkSiyRrPaA37nO4cranzZkvQad7jqHCa3rXAcYqJIpscDNlOAZ/Jvv3vJo68sdH3Gdw4TW4mQ285jrEANVUiWWSFZvBn7tOkcxbV3a9nTD31uOcJ3DhNr1rgMMRkmVWOAGYIvrEMXQvrpz1fpfNE4AKlxnMaGVI+IDJZRciSWS1RvwdytjzWv2GldfWNeKsqvrLCbUbkhmM5E+h7LkSixwHdDsOkShqKdebbr+RW1niussJtRWEIM3u0qyxIKJRCL/j7cj637euKBzk3eY6xwm9C6N4smt2yvJEgv8DGhxHSLf6v+69bGWZ9ttcEPTm6eBP7gOkQ8lW2KJZPVq4Oeuc+RT83Ntz9XNbf6g6xwmEi6MwnRsfVGyJRa4FljlOkQ+dKzvrF13beNewFDXWUzo/SuZzTzgOkS+lHSJJZLVW4G06xyD5bXq1trz6xpQ9nCdxYSeAue7DpFPJV1iAIlk9d3AAtc5BkpVdfWFdc9oKwe4zmIi4e5kNrPEdYh8KvkSC3wf/yr+yNlwY9OjHWs9OyPf9EU9cK7rEPlmJQYkktVPE8HRXxsebF60dXGbXRNp+uriZDazxnWIfLMSe9tFwHrXIfqq5eX2FzffsfVgbJo10zf/JqZXqliJBYLLkc50naMvOjZ769Ze1TAGqHSdxURCO/CNZDYTyUMmvbES6yaRrL4H+KPrHDuj7dpae17dejz2cZ3FRMbVyWxmmesQhWIl9k7fA2pdh9iR1ZfUL9FmPdB1DhMZzwFXuw5RSFZi2wnGHDvddY6ebPht0/z2NzttliLTVy3ASXG4PnJnrMR6kEhW/xN/mrfQaHqk5Yktj7baPJGmP86O825kFyuxHTsXWO46BEDr8o5XN/5+y7uxfy/Td3OT2cxvXYcoBvul2IFEsroR+CKOxx3rbPA2rrmifhgwymUOEyk54JuuQxSLldhOBCfBnuFq/dqh7bXn1a2ik/GuMpjIaQe+lMxm6l0HKRYrsV4kktV3ADe5WPeaH9c/7jXpIS7WbSLrwmQ282/XIYrJSqxvzgEWFnOFm+7YMr9teacdyDf98Sf8iXBKipVYHySS1e3ACUBRrjvb8njr0sYHW44sxrpMbCwCTo3LQIf9YSXWR8FIsMcDBT3npm1VR27DjU1TgLJCrsfESg74XDKbid1w631hJdYPiWT1QuArFGjYns4tXv3qS+oBRhdi+SaW6oBPJ7OZyAxekG9WYv2USFbPBc7K93LV087a8+peo4NkvpdtYqsdOD6ZzbzoOohLVmIDkEhW/wb4ST6Xufbqhse8ej00n8s0sfedZDaTcR3CNSuxAUokqy8H8nJGdN3crQtaX+ywadZMf6ST2UyoLo1zxUpscL4D3DOYBWx9su2Z+r82fyhPeUxpuCiZzcRqusHBsBIbhESy2gNOBgY0/VX7ms4319/QOA6oyGswE2eXJ7OZa1yHCBMrsUFKJKtbgc8Bf+3P87xmbVp9YV0zym6FSWZi6MpkNpPXY7FxYCWWB4lkdRv+ybB9GhVWPfVqz697QduYWthkJkauTmYzl7kOEUZWYnmSSFZ3AKfQh3HI1t/QuKBzo3dY4VOZmLgymc1c7DpEWFmJ5VFwjOxbwK929Jj6vzcvbH6q3d6JNH3RCXzbtsB2TlRL7lKrovByqSuBS7rf1vx8+/Prrm6YDAxzk8pEyBb8IXX+4TpI2FmJFZCXS50G3AJUdGzoXP3W2XVlKHu6zmVCbx3+pURLXAeJAiuxAvNyqY96rXrnm2duatBW3u06jwm9V4BPJrOUePX3AAAGYklEQVSZUAyNHgVWYkXw5pc+Prl9VeffwUrM7NTDwAnJbGaj6yBRYgf2i2Dcnx56HTgc+JvrLCaUFH9uyFlWYP1nW2JFlJsxU4BLgcuxPyDGtwk4JZnN3O86SFRZiTmQmzHzKOBOYILrLMapJ/B3H99wHSTKbGvAgWQ2swA4GH9MdFOafg0cZQU2eLYl5lhuxsyvATdi80qWilrgzGQ2c6/rIHFhJRYCuRkzJwN/wD/4b+JrDnBOMpupcx0kTqzEQiI3Y2Y58APgCmCk2zQmz94AvpXMZh50HSSOrMRCJjdj5jjgl8AXXWcxg6b4o/+mk9lMo+swcWUlFlK5GTM/iX/wd5LrLGZAngF+kMxm5rsOEnf27mRIJbOZfwIHAldS4LkuTV7VAqcB063AisO2xCIgN2PmJPxjZSdjf3jCaivwc+DnyWxmi+swpcRKLEJyM2a+B3+quC8A4jiO8XnAHcAlyWzmLddhSpGVWATlZsycDlwFfNJ1lhLmAXOBnyazmWWuw5QyK7EIy82YeSRwGTDLdZYS0o4/l8LVyWzmFddhjJVYLAS7md/HH+O/0nGcuGoAfgf8KpnNvOk6jHmblViM5GbMfBdwOvA97OLyfHkef/KX25LZTIPrMOadrMRiKDdjZhnweeBM4BjsHc3+agTuBm5NZjOLXYcxO2clFnO5GTP3AU4ETgI+4DhO2D0G3ArMtdMkosNKrITkZsycil9mJwHTHMcJAw9YhD/i7v8ls5nXHOcxA2AlVqJyM2Yegn+KxseBGcAQt4mKZitQg19c9yWzmfWO8zghImcAW1X1DtdZBstKzJCbMXME8FH8Qvs4cIDTQPnVATwFLAT+BcxLZjPNrsKISJmqdg7i+eWq2pHPTFFnJWbeITdj5njgw8Chwcd0YLTTUH1Xj7+LuDD4WJzMZrYWY8UiMhF4AFiK/zN7Hvgq8AL+KL6zgNnAS/jzkVYCrwOnqepmEfkg/jE5D39r8ZOqepCInIp/lcZIoExVjxaR84AUMBT4P1W9XERGANXAOKAMuFJV/yQi1wKfxS/0h1T1RyJyBdCkqteJyCE7yPMIsBj/zaExwDdUdUFBfniDUO46gAmfZDazCv/dubvhPxOcTObtUns/MBUYj7t3Prfgl8FLwIvB5xeAl5PZjOcoE8D++L/sC0XkNuA7we0bVXU6gIg8C5ylqvNF5Cf4E8ecDdwOfFNVFwXF09104H2quklEPo7/8z8M//Kze0XkI8AeQK2qfjpYz2gR2Q34L+AAVVURGdND5jt2kAegXFUPE5FPBbdXDfonlGdWYqZXyWxGgdeCj//MC5CbMXMIMBF/uKAJ+KU2Adgb2CX4GNXtc18KrxPYiD8L9trg87pu36/CL603g1xhs0pVFwZf34l/EjIEPzcRGQ2MUdWuES7+B5gblMsoVV0U3P5H4Lhuy61R1U3B1127/U8F34/EL7UFwPUi8jPgPlVdICLlQAtwq4jcB9zXPeyO8nR7yF+Cz0vx/61Dx0rMDFgym2nDn7G618tvgq25EfiFlsDftdn+oz2ZzQz4eFFIbF+sXd8P9pSN7s8X4BpV/e32DxKR6cCngKtEJKOqPxGRw4CZwPH4J0J/rB/rbQ0+dxLSvghlKBM/wVZTU/ARZxNE5Ihgi+ok/HPP3t91p6rWi8hmETkqOL50CjBfVetEpFFEDlfVxfjn9u3Ig8CVIvIHVW0SkbH413SWA5tU9U4RqQNOF5GRQKWq3i8iC4Hl3Re0ozz5+3EUnpWYMfn1MvDd4HjYC8DNwFnbPeZrwC0iUolfKl8Pbv8G8HsR8fCLpL6nFajqQyLybmCRiID/h+ErwBTg58Hz2/Gv2BgF/E1EhuFvwZ3bwyJ3lCcS7N1JY/IkeHfyPlU9aIDPH6mqTcHXFwD7qOoP8pcwnmxLzJjw+LSIXIj/e7kSONVtnGiwLTFjTKTZ6AbGmEizEjPGRJqVmDEm0qzEjDGRZiVmjIk0KzFjTKRZiRljIs1KzBgTaVZixphIsxIzxkSalZgxJtKsxIwxkWYlZoyJNCsxY0ykWYkZYyLNSswYE2lWYsaYSLMSM8ZEmpWYMSbSrMSMMZFmJWaMiTQrMWNMpFmJGWMizUrMGBNpVmLGmEizEjPGRJqVmDEm0qzEjDGRZiVmjIk0KzFjTKRZiRljIs1KzBgTaf8fS7vyzozzFxMAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot responses\n", "a.plot_responses()" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
genesDRCl_PDDRCl_SDDRCl_ORtotprogressionneutralresponse
0(EGFR,)595190.2631580.4736840.263158
1(ERBB2,)40260.66666700.333333
2(BRAF,)0000
3(KRAS,)0000
4(EGFR, KRAS)0000
5(KRAS, ERBB2)0000
6(BRAF, KRAS)0000
7(EGFR, BRAF)0000
8(BRAF, ERBB2)0000
9(EGFR, ERBB2)0000
10(EGFR, BRAF, KRAS)0000
11(BRAF, KRAS, ERBB2)0000
12(EGFR, BRAF, ERBB2)0000
13(EGFR, KRAS, ERBB2)0000
14(EGFR, BRAF, KRAS, ERBB2)0000
\n", "
" ], "text/plain": [ " genes DRCl_PD DRCl_SD DRCl_OR tot progression \\\n", "0 (EGFR,) 5 9 5 19 0.263158 \n", "1 (ERBB2,) 4 0 2 6 0.666667 \n", "2 (BRAF,) 0 0 0 0 \n", "3 (KRAS,) 0 0 0 0 \n", "4 (EGFR, KRAS) 0 0 0 0 \n", "5 (KRAS, ERBB2) 0 0 0 0 \n", "6 (BRAF, KRAS) 0 0 0 0 \n", "7 (EGFR, BRAF) 0 0 0 0 \n", "8 (BRAF, ERBB2) 0 0 0 0 \n", "9 (EGFR, ERBB2) 0 0 0 0 \n", "10 (EGFR, BRAF, KRAS) 0 0 0 0 \n", "11 (BRAF, KRAS, ERBB2) 0 0 0 0 \n", "12 (EGFR, BRAF, ERBB2) 0 0 0 0 \n", "13 (EGFR, KRAS, ERBB2) 0 0 0 0 \n", "14 (EGFR, BRAF, KRAS, ERBB2) 0 0 0 0 \n", "\n", " neutral response \n", "0 0.473684 0.263158 \n", "1 0 0.333333 \n", "2 \n", "3 \n", "4 \n", "5 \n", "6 \n", "7 \n", "8 \n", "9 \n", "10 \n", "11 \n", "12 \n", "13 \n", "14 " ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# variants vs responses\n", "a.matching.fillna(\"\")" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAGMCAYAAAAhleIkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3XmYVNWZx/Hvy6KtgOCCYxRZDIsiu8RojHskqKgRl2hkXCPjOpMYiSYxm+NEjUZNDIlxosEV1xgR9x33hVVZlEUU0BFFQVERkXf+OLfaouhuuuve0911+X2epx7rVlX/6nDKfu/tW+eeY+6OiIjkS4umboCIiGRPxV1EJIdU3EVEckjFXUQkh1TcRURySMVdRCSH1lnczexaM1tsZq/W8ryZ2Z/MbI6ZTTOzQdk3U0REGqI+R+5jgKF1PL8/0CO5jQT+mr5ZIiKSxjqLu7tPAD6o4yWHANd78DzQwcy+llUDRUSk4bI4574NsKBoe2HymIiINJFWjflmZjaScOqGNm3a7LT99tuv9ZqFH71e77xOm/Ss92tj5YqINKaJEye+7+4d1/W6LIr7ImDbou1OyWNrcfergasBBg8e7C+//PJar/npw/vW+41/v9+j9X5trFwRkcZkZm/W53VZnJYZBxybjJrZBVjm7u9kkCsiImVa55G7mY0F9gK2MLOFwK+B1gDufhVwH3AAMAf4FDghVmNFRKR+1lnc3f3odTzvwOmZtUhERFJr1C9URaTyfPHFFyxcuJAVK1Y0dVPWK1VVVXTq1InWrVuX9fMq7iJSp4ULF9KuXTu6du2KmTV1c9YL7s6SJUtYuHAh3bp1KytDc8uISJ1WrFjB5ptvrsLeiMyMzTffPNVfSyruIrJOKuyNL22fq7iLiGToqquu4vrrr2/qZuicu4g0zLxv7ZNp3nbPPpZJzpdffknLli3L/vlVq1bRqlX6knjKKaekzsiCjtxFpNmbP38+22+/Pccccww77LADhx9+OJ9++ildu3blnHPOYdCgQdx+++1MmTKFXXbZhX79+nHooYfy4YcfAvDSSy/Rr18/BgwYwKhRo+jTpw8AY8aM4eCDD2afffZh333DVeyXXHIJ3/jGN+jXrx+//vWvAfjkk0848MAD6d+/P3369OHWW28F4Nxzz6V3797069ePs88+G4Df/OY3XHrppQC1tmevvfbinHPOYeedd6Znz5489dRTmfeZiruIVITXXnuN0047jZkzZ7LJJpvwl7/8BYDNN9+cSZMmcdRRR3Hsscdy8cUXM23aNPr27ctvf/tbAE444QT+9re/MWXKlLWO7idNmsQdd9zBk08+yUMPPcTs2bN58cUXmTJlChMnTmTChAk88MADbL311kydOpVXX32VoUOHsmTJEu666y6mT5/OtGnTOO+889Zqc23tgfCXwosvvsgVV1yxxuNZUXEXkYqw7bbbsttuuwEwYsQInn76aQC+//3vA7Bs2TKWLl3KnnvuCcBxxx3HhAkTWLp0KR9//DG77rorAD/4wQ/WyN1vv/3YbLPNAHjooYd46KGHGDhwIIMGDWLWrFnMnj2bvn378vDDD3POOefw1FNP0b59e9q3b09VVRUnnXQS//znP9l4443XyK2tPQXDhw8HYKeddmL+/PlZdhWg4i4iFaJ09Ehhu02bNqlyi3/e3fnZz37GlClTmDJlCnPmzOGkk06iZ8+eTJo0ib59+3Leeedx/vnn06pVK1588UUOP/xwxo8fz9Chda1ptLYNN9wQgJYtW7Jq1apU/4aaqLiLSEV46623eO655wC4+eab+fa3v73G8+3bt2fTTTetPn99ww03sOeee9KhQwfatWvHCy+8AMAtt9xS63t897vf5dprr2X58uUALFq0iMWLF/P222+z8cYbM2LECEaNGsWkSZNYvnw5y5Yt44ADDuDyyy9n6tSp9WpPY9FoGRGpCL169WL06NGceOKJ9O7dm1NPPZUrr7xyjddcd911nHLKKXz66adst912/OMf/wDgmmuu4eSTT6ZFixbsueeetG/fvsb3GDJkCDNnzqw+hdO2bVtuvPFG5syZw6hRo2jRogWtW7fmr3/9Kx9//DGHHHIIK1aswN257LLL1sqrrT2NwcK8X41P87mLVIaZM2eyww47NGkb5s+fz7Bhw3j11VfL+vnly5fTtm1bAC666CLeeecd/vjHP2bZxChq6nszm+jug9f1szpyF5Hcu/fee7nwwgtZtWoVXbp0YcyYMU3dpOhU3EWk2evatWvZR+0QRtQURtWsL/SFqohIDqm4i4jkkIq7iEgOqbiLiOSQiruIrDfmz5/PzTffXNbPFoZSVgqNlhGRBln9xpGZ5rXodlumeXUpFPfS+WUguyl/mwsduYtIszd//nx22GEHTj75ZHbccUeGDBnCZ599xty5cxk6dCg77bQTu+++O7NmzQLg+OOP54477qj++cJR97nnnstTTz3FgAEDuPzyy9ea8nf58uXsu+++DBo0iL59+3L33Xc3yb83CyruIlIRZs+ezemnn8706dPp0KEDd955JyNHjuTKK69k4sSJXHrppZx22ml1Zlx00UXsvvvuTJkyhR//+MfAmlP+VlVVcddddzFp0iQef/xxfvKTn9BUV/GnlZ+/QUQk17p168aAAQOAr6bJffbZZzniiCOqX/P55583OLd4yl935+c//zkTJkygRYsWLFq0iHfffZetttoqm39EI1JxF5GKUJgiF8I0ue+++y4dOnRgypQpa722VatWrF69GoDVq1ezcuXKWnOLp/y96aabeO+995g4cSKtW7ema9eurFixIsN/RePRaRkRqUibbLIJ3bp14/bbbwfCUXdh2t2uXbsyceJEAMaNG8cXX3wBQLt27fj4449rzVy2bBlbbrklrVu35vHHH+fNN9+M/K+IR8VdRCrWTTfdxDXXXEP//v3Zcccdq78APfnkk3nyySfp378/zz33XPXReb9+/WjZsiX9+/fn8ssvXyvvmGOO4eWXX6Zv375cf/31bL/99o3678mSpvxNmSuSd81hyt/1VZopf3XkLiKSQyruIiI5pOIuIpJDKu4iIjmk4i4ikkMq7iIiOaTiLiKSQ/WafsDMhgJ/BFoCf3f3i0qe7wxcB3RIXnOuu9+XcVtFpBloyDUj9dHQ60rcHXenRQsdm9Zlnb1jZi2B0cD+QG/gaDPrXfKy84Db3H0gcBTwl6wbKiLrr/nz59OrVy+OPfZY+vTpww033MCuu+7KoEGDOOKII1i+fDkQpvTt3bs3/fr14+yzzwbC9L+nnHIKgwcPpmfPnowfPx6AFStWcMIJJ9C3b18GDhzI448/DsCYMWMYPnw4Q4cOpUePHvz0pz8F4Msvv+T444+nT58+9O3bt/oK19qmHW5q9Tly3xmY4+7zAMzsFuAQYEbRaxzYJLnfHng7y0aKiMyePZvrrruO7t27M3z4cB555BHatGnDxRdfzGWXXcbpp5/OXXfdxaxZszAzli5dWv2z8+fP58UXX2Tu3LnsvffezJkzh9GjR2NmvPLKK8yaNYshQ4bw+uuvAzBlyhQmT57MhhtuSK9evTjz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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot matching\n", "a.plot_matching()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "### Matching `sequence_alteration` only\n", "\n", "We analyze cases with only 1+ `sequence_alteration` (and with no `feature_amplification`)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "80\n" ] } ], "source": [ "# create the subset\n", "tot = cases_per_variant['sequence_alteration'] - cases_per_variant['feature_amplification']\n", "print (len(tot))" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
genecases
0Annotated80
1BRAF12
2EGFR3
3ERBB24
4KRAS65
\n", "
" ], "text/plain": [ " gene cases\n", "0 Annotated 80 \n", "1 BRAF 12 \n", "2 EGFR 3 \n", "3 ERBB2 4 \n", "4 KRAS 65 " ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# create a new Semalytics analysis object\n", "a = utils.Analysis(tot, cases_per_gene, cases_per_response, variants_occurrences)\n", "\n", "# gene variants\n", "a.variants" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot variants distribution\n", "a.plot_variants()" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
response_typecases
0response0
1neutral14
2progression66
\n", "
" ], "text/plain": [ " response_type cases\n", "0 response 0 \n", "1 neutral 14 \n", "2 progression 66 " ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# responses\n", "a.responses" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, '')" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot responses\n", "a.plot_responses()" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
genesDRCl_PDDRCl_SDDRCl_ORtotprogressionneutralresponse
0(EGFR,)12030.3333330.6666670
1(ERBB2,)31040.750.250
2(BRAF,)120012100
3(KRAS,)54110650.8307690.1692310
4(EGFR, KRAS)1001100
5(KRAS, ERBB2)1001100
6(BRAF, KRAS)2002100
7(EGFR, BRAF)0000
8(BRAF, ERBB2)0000
9(EGFR, ERBB2)0000
10(EGFR, BRAF, KRAS)0000
11(BRAF, KRAS, ERBB2)0000
12(EGFR, BRAF, ERBB2)0000
13(EGFR, KRAS, ERBB2)0000
14(EGFR, BRAF, KRAS, ERBB2)0000
\n", "
" ], "text/plain": [ " genes DRCl_PD DRCl_SD DRCl_OR tot progression \\\n", "0 (EGFR,) 1 2 0 3 0.333333 \n", "1 (ERBB2,) 3 1 0 4 0.75 \n", "2 (BRAF,) 12 0 0 12 1 \n", "3 (KRAS,) 54 11 0 65 0.830769 \n", "4 (EGFR, KRAS) 1 0 0 1 1 \n", "5 (KRAS, ERBB2) 1 0 0 1 1 \n", "6 (BRAF, KRAS) 2 0 0 2 1 \n", "7 (EGFR, BRAF) 0 0 0 0 \n", "8 (BRAF, ERBB2) 0 0 0 0 \n", "9 (EGFR, ERBB2) 0 0 0 0 \n", "10 (EGFR, BRAF, KRAS) 0 0 0 0 \n", "11 (BRAF, KRAS, ERBB2) 0 0 0 0 \n", "12 (EGFR, BRAF, ERBB2) 0 0 0 0 \n", "13 (EGFR, KRAS, ERBB2) 0 0 0 0 \n", "14 (EGFR, BRAF, KRAS, ERBB2) 0 0 0 0 \n", "\n", " neutral response \n", "0 0.666667 0 \n", "1 0.25 0 \n", "2 0 0 \n", "3 0.169231 0 \n", "4 0 0 \n", "5 0 0 \n", "6 0 0 \n", "7 \n", "8 \n", "9 \n", "10 \n", "11 \n", "12 \n", "13 \n", "14 " ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# variants vs responses\n", "a.matching.fillna(\"\")" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAGMCAYAAAAhleIkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xu8XdO5//HPkwubiASJKpGLykXkQqRK1Z007hWXUjkEleP6Oy1V2qq2jlOUolWtOkVc41oVcaeIe0gkIYRchCQcIQhBROT5/THm2lZW9t7Ze8459s6a+b5fr/Wy5lprf9fIWPYz555rzDHM3RERkWJp1dINEBGR/Km4i4gUkIq7iEgBqbiLiBSQiruISAGpuIuIFNBKi7uZXW1m883s5XqeNzP7s5nNMLMpZjYo/2aKiEhTNObIfRQwtIHn9wJ6JreRwN+yN0tERLJYaXF393HABw285ADgOg+eBTqa2TfzaqCIiDRdHufcNwHmlG3PTR4TEZEW0qY538zMRhJO3dCuXbtt+vTps+KLvpjV+MA1N2v8ayPlfjHt9cbH9unV+DZA1bU5Zl9E7WeRKjJhwoT33b3zyl6XR3GfB2xatt0leWwF7n4lcCXA4MGD/YUXXljhNcveOLTRb9yqx62Nfm2s3Fnf3a3Rr93s6X83+rVQfW2O2Rcxs0WqiZm92ZjX5XFaZgxwZDJqZjtgobu/k0OuiIiktNIjdzMbDewCdDKzucBvgLYA7n4FcC+wNzAD+Aw4OlZjRUSkcVZa3N398JU878BJubVIREQya9YvVEWk+nz55ZfMnTuXxYsXt3RTVis1NTV06dKFtm3bpvp5FXcRadDcuXNp37493bt3x8xaujmrBXdnwYIFzJ07lx49eqTK0NwyItKgxYsXs8EGG6iwNyMzY4MNNsj015KKu4islAp788va5yruIiI5uuKKK7juuutauhk65y4iTdOUC8oaI6+Lzr766itat26d+ueXLl1KmzbZS+Lxxx+fOSMPOnIXkVXe7Nmz6dOnD0cccQRbbLEFBx98MJ999hndu3fnjDPOYNCgQdx2221MmjSJ7bbbjgEDBnDggQfy4YcfAvD8888zYMAAttpqK04//XT69esHwKhRo9h///3Zbbfd2H333QG48MIL+fa3v82AAQP4zW9+A8Cnn37KPvvsw8CBA+nXrx+33HILAGeeeSZ9+/ZlwIAB/OxnPwPgt7/9LRdddBFAve3ZZZddOOOMM9h2223p1asXTzzxRO59puIuIlXhtdde48QTT+TVV19l3XXX5a9//SsAG2ywARMnTuSwww7jyCOP5IILLmDKlCn079+f3/3udwAcffTR/P3vf2fSpEkrHN1PnDiR22+/nccff5wHH3yQ6dOnM378eCZNmsSECRMYN24c999/PxtvvDGTJ0/m5ZdfZujQoSxYsIA777yTqVOnMmXKFM4666wV2lxfeyD8pTB+/HguvfTS5R7Pi4q7iFSFTTfdlB122AGA4cOH8+STTwLwwx/+EICFCxfy0UcfsfPOOwNw1FFHMW7cOD766CM++eQTtt9+ewB+9KMfLZe75557sv766wPw4IMP8uCDD7L11lszaNAgpk2bxvTp0+nfvz8PPfQQZ5xxBk888QQdOnSgQ4cO1NTUcOyxx/LPf/6Ttddee7nc+tpTMmzYMAC22WYbZs+enWdXASruIlIlKkePlLbbtWuXKbf8592dX/ziF0yaNIlJkyYxY8YMjj32WHr16sXEiRPp378/Z511Fueccw5t2rRh/PjxHHzwwYwdO5ahQxta02hFa665JgCtW7dm6dKlmf4NdVFxF5Gq8NZbb/HMM88AcNNNN/G9731vuec7dOjAeuutV3v++vrrr2fnnXemY8eOtG/fnueeew6Am2++ud73+P73v8/VV1/NokWLAJg3bx7z58/n7bffZu2112b48OGcfvrpTJw4kUWLFrFw4UL23ntvLrnkEiZPntyo9jQXjZYRkarQu3dvLr/8co455hj69u3LCSecwGWXXbbca6699lqOP/54PvvsMzbbbDOuueYaAK666iqOO+44WrVqxc4770yHDh3qfI8hQ4bw6quv1p7CWWeddbjhhhuYMWMGp59+Oq1ataJt27b87W9/45NPPuGAAw5g8eLFuDsXX3zxCnn1tac5WJj3q/lpPveVq7Y2az73Ynr11VfZYostWrQNs2fPZt999+Xll19O9fOLFi1inXXWAeD888/nnXfe4U9/+lOeTYyirr43swnuPnhlP6sjdxEpvHvuuYfzzjuPpUuX0q1bN0aNGtXSTYpOxV1EVnndu3dPfdQOYURNaVTN6kJfqIqIFJCKu4hIAam4i4gUkIq7iEgBqbiLyGpj9uzZ3HTTTal+tjSUslpotIyINElTrr9ojKZco5FVqbhXzi8D+U35u6rQkbuIrPJmz57NFltswXHHHceWW27JkCFD+Pzzz5k5cyZDhw5lm222Yccdd2TatGkAjBgxgttvv73250tH3WeeeSZPPPEEW221FZdccskKU/4uWrSI3XffnUGDBtG/f3/uuuuuFvn35kHFXUSqwvTp0znppJOYOnUqHTt25I477mDkyJFcdtllTJgwgYsuuogTTzyxwYzzzz+fHXfckUmTJvHTn/4UWH7K35qaGu68804mTpzIo48+ymmnnUZLXcWfVXH+BhGRQuvRowdbbbUV8PU0uU8//TSHHHJI7Wu++OKLJueWT/nr7vzyl79k3LhxtGrVinnz5vHuu++y0UYb5fOPaEYq7iJSFUpT5EKYJvfdd9+lY8eOTJo0aYXXtmnThmXLlgGwbNkylixZUm9u+ZS/N954I++99x4TJkygbdu2dO/encWLF+f4r2g+Oi0jIlVp3XXXpUePHtx2221AOOouTbvbvXt3JkyYAMCYMWP48ssvAWjfvj2ffPJJvZkLFy5kww03pG3btjz66KO8+eabkf8V8ai4i0jVuvHGG7nqqqsYOHAgW265Ze0XoMcddxyPP/44AwcO5Jlnnqk9Oh8wYACtW7dm4MCBXHLJJSvkHXHEEbzwwgv079+f6667jj59+jTrvydPOi0jIk3SnEMXSyonDistRg1w//33r/D6b3zjGzz77LO12xdccAEAbdu25d//Xn5K6BEjRtTe79SpU+2CIJVKC3hUCx25i4gUkIq7iEgBqbiLiBSQiruISAHpC9VV2Owj3m/0azd7OmJDRKTq6MhdRKSAVNxFRAqoUadlzGwo8CegNfAPdz+/4vmuwLVAx+Q1Z7r7vTm3VURWAT9/aPdc8/6w5yNNer274+60aqVj04astHfMrDVwObAX0Bc43Mz6VrzsLOBWd98aOAz4a94NFZHV1+zZs+nduzdHHnkk/fr14/rrr2f77bdn0KBBHHLIIbUXGJ155pn07duXAQMG1F7oNGLECI4//ngGDx5Mr169GDt2LACLFy/m6KOPpn///my99dY8+uijAIwaNYphw4YxdOhQevbsyc9//nMAvvrqK0aMGEG/fv3o379/7RWu9U073NIac+S+LTDD3WcBmNnNwAHAK2WvcWDd5H4H4O08Gyki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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot matching\n", "a.plot_matching()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## Chapter 3 - Querying data with knowlege and Wikidata\n", "\n", "In this section, we are going to query data with extended knowledge. The platform connects Wikidata by leveraging `owl:sameAs` predicates.\n", "\n", "The SPARQL endpoint of Semalytics is federated with the Wikidata one (https://query.wikidata.org/sparql).\n", "\n", "See also this [Web page](https://www.wikidata.org/wiki/User:ProteinBoxBot/SPARQL_Examples#Query_Wikidata_with_SPARQL) for other Wikidata examples related to life sciences. Those queries can be also used for querying local data in Semalytics." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "### Drugs targeting gene products\n", "\n", "We get chemical compounds (`Q11173`) which physically interacts (`P129`), with a specific role (`P2868`), with products encoded by genes in the investigation panel." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
geneSymbol.valuedrugLabel.valueroleLabel.valuegene_productLabel.value
0BRAFdabrafenibenzyme inhibitorB-Raf proto-oncogene, serine/threonine kinase
1BRAFregorafenibenzyme inhibitorB-Raf proto-oncogene, serine/threonine kinase
2BRAFsorafenibenzyme inhibitorB-Raf proto-oncogene, serine/threonine kinase
3BRAFvemurafenibenzyme inhibitorB-Raf proto-oncogene, serine/threonine kinase
4EGFRicotinibenzyme inhibitorEpidermal growth factor receptor
5EGFRdacomitinibenzyme inhibitorEpidermal growth factor receptor
6EGFRosimertinibenzyme inhibitorEpidermal growth factor receptor
7EGFRgefitinibenzyme inhibitorEpidermal growth factor receptor
8EGFRerlotinibenzyme inhibitorEpidermal growth factor receptor
9EGFRlapatinibenzyme inhibitorEpidermal growth factor receptor
10EGFR5-chloro-N2-(4-(4-(dimethylamino)-1-piperidinyl)-2-methoxyphenyl)-N4-(2-(dimethylphosphinyl)phenyl)-2,4-pyrimidinediamineenzyme inhibitorEpidermal growth factor receptor
11EGFRafatinibenzyme inhibitorEpidermal growth factor receptor
12EGFRcanertinibenzyme inhibitorEpidermal growth factor receptor
13EGFRneratinibenzyme inhibitorEpidermal growth factor receptor
14EGFRvandetanibenzyme inhibitorEpidermal growth factor receptor
15ERBB2dacomitinibenzyme inhibitorErb-b2 receptor tyrosine kinase 2
16ERBB2lapatinibenzyme inhibitorErb-b2 receptor tyrosine kinase 2
17ERBB2afatinibenzyme inhibitorErb-b2 receptor tyrosine kinase 2
18ERBB2canertinibenzyme inhibitorErb-b2 receptor tyrosine kinase 2
19ERBB2mubritinibenzyme inhibitorErb-b2 receptor tyrosine kinase 2
20ERBB2neratinibenzyme inhibitorErb-b2 receptor tyrosine kinase 2
21KRASlonafarnibenzyme inhibitorKRAS proto-oncogene, GTPase
\n", "
" ], "text/plain": [ " geneSymbol.value \\\n", "0 BRAF \n", "1 BRAF \n", "2 BRAF \n", "3 BRAF \n", "4 EGFR \n", "5 EGFR \n", "6 EGFR \n", "7 EGFR \n", "8 EGFR \n", "9 EGFR \n", "10 EGFR \n", "11 EGFR \n", "12 EGFR \n", "13 EGFR \n", "14 EGFR \n", "15 ERBB2 \n", "16 ERBB2 \n", "17 ERBB2 \n", "18 ERBB2 \n", "19 ERBB2 \n", "20 ERBB2 \n", "21 KRAS \n", "\n", " drugLabel.value \\\n", "0 dabrafenib \n", "1 regorafenib \n", "2 sorafenib \n", "3 vemurafenib \n", "4 icotinib \n", "5 dacomitinib \n", "6 osimertinib \n", "7 gefitinib \n", "8 erlotinib \n", "9 lapatinib \n", "10 5-chloro-N2-(4-(4-(dimethylamino)-1-piperidinyl)-2-methoxyphenyl)-N4-(2-(dimethylphosphinyl)phenyl)-2,4-pyrimidinediamine \n", "11 afatinib \n", "12 canertinib \n", "13 neratinib \n", "14 vandetanib \n", "15 dacomitinib \n", "16 lapatinib \n", "17 afatinib \n", "18 canertinib \n", "19 mubritinib \n", "20 neratinib \n", "21 lonafarnib \n", "\n", " roleLabel.value gene_productLabel.value \n", "0 enzyme inhibitor B-Raf proto-oncogene, serine/threonine kinase \n", "1 enzyme inhibitor B-Raf proto-oncogene, serine/threonine kinase \n", "2 enzyme inhibitor B-Raf proto-oncogene, serine/threonine kinase \n", "3 enzyme inhibitor B-Raf proto-oncogene, serine/threonine kinase \n", "4 enzyme inhibitor Epidermal growth factor receptor \n", "5 enzyme inhibitor Epidermal growth factor receptor \n", "6 enzyme inhibitor Epidermal growth factor receptor \n", "7 enzyme inhibitor Epidermal growth factor receptor \n", "8 enzyme inhibitor Epidermal growth factor receptor \n", "9 enzyme inhibitor Epidermal growth factor receptor \n", "10 enzyme inhibitor Epidermal growth factor receptor \n", "11 enzyme inhibitor Epidermal growth factor receptor \n", "12 enzyme inhibitor Epidermal growth factor receptor \n", "13 enzyme inhibitor Epidermal growth factor receptor \n", "14 enzyme inhibitor Epidermal growth factor receptor \n", "15 enzyme inhibitor Erb-b2 receptor tyrosine kinase 2 \n", "16 enzyme inhibitor Erb-b2 receptor tyrosine kinase 2 \n", "17 enzyme inhibitor Erb-b2 receptor tyrosine kinase 2 \n", "18 enzyme inhibitor Erb-b2 receptor tyrosine kinase 2 \n", "19 enzyme inhibitor Erb-b2 receptor tyrosine kinase 2 \n", "20 enzyme inhibitor Erb-b2 receptor tyrosine kinase 2 \n", "21 enzyme inhibitor KRAS proto-oncogene, GTPase " ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "my_query = \"\"\"\n", "PREFIX : \n", "PREFIX wd: \n", "PREFIX wdt: \n", "PREFIX pq: \n", "PREFIX ps: \n", "PREFIX p: \n", "PREFIX wikibase: \n", "PREFIX bd: \n", "PREFIX rdfs: \n", "\n", "select ?geneSymbol ?drugLabel ?roleLabel ?gene_productLabel\n", "where {\n", "\n", " # Wikidata endpoint \n", " SERVICE {\n", "\n", " ?chem p:P129 [\n", " ps:P129 ?gene_product ;\n", " pq:P2868 ?role ] .\n", " ?chem wdt:P31 wd:Q11173 .\n", " ?gene_product wdt:P702 ?gene .\n", "\n", " SERVICE wikibase:label { \n", " bd:serviceParam wikibase:language \"en\" . \n", " ?chem rdfs:label ?drugLabel .\n", " ?gene_product rdfs:label ?gene_productLabel .\n", " ?role rdfs:label ?roleLabel .\n", " }\n", " }\n", " \n", " #local data\n", " ?gene :symbol ?geneSymbol\n", " VALUES ?geneSymbol {'KRAS' 'EGFR' 'BRAF' 'ERBB2'}\n", "}\n", "order by ?geneSymbol\n", "\"\"\"\n", "\n", "# get data\n", "result_table = utils.query(SEMALYTICS_ENDPOINT, my_query)\n", "\n", "# there you go!\n", "result_table[['geneSymbol.value', 'drugLabel.value', 'roleLabel.value', 'gene_productLabel.value']]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "### Drug information: dabrafenib\n", "\n", "Now we get from Wikidata the **chemical formula** (P274) of one of those drug: the **dabrafenib**..." ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
chem.typechem.value
0literalC₂₃H₂₀F₃N₅O₂S₂
\n", "
" ], "text/plain": [ " chem.type chem.value\n", "0 literal C₂₃H₂₀F₃N₅O₂S₂" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "my_query = \"\"\"\n", "PREFIX wd: \n", "PREFIX wdt: \n", "SELECT *\n", "WHERE \n", "{\n", " wd:Q3011604 wdt:P274 ?chem .\n", "}\n", "\"\"\"\n", "\n", "# get data\n", "result_table = utils.query(WIKIDATA_ENDPOINT, my_query)\n", "\n", "result_table" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "...as well as its **chemical structure** (`P117`)." ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "live rendering from Wikidata of http://commons.wikimedia.org/wiki/Special:FilePath/Dabrafenib.svg\n" ] } ], "source": [ "my_query = \"\"\"\n", "PREFIX wd: \n", "PREFIX wdt: \n", "SELECT *\n", "WHERE \n", "{\n", " wd:Q3011604 wdt:P117 ?struct .\n", "}\n", "\"\"\"\n", "\n", "# get data\n", "result_table = utils.query(WIKIDATA_ENDPOINT, my_query)\n", "\n", "display(SVG(url=result_table['struct.value'][0]))\n", "\n", "print (f'live rendering from Wikidata of {result_table[\"struct.value\"][0]}')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we get **medical conditions treated** (P2175), relative data source (1) and information retrieval date.\n", "\n", "_(1) \"dataset containing drug indications extracted from the FDA Adverse Event Reporting System\"_" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
medical_conditionLabel.valuereferenceLabel.valuedate.value
0non-small-cell lung carcinomaDrug Indications Extracted from FAERS2018-10-02T00:00:00Z
1skin cancerDrug Indications Extracted from FAERS2018-10-02T00:00:00Z
2metastatic melanomaDrug Indications Extracted from FAERS2018-10-02T00:00:00Z
3melanomaDrug Indications Extracted from FAERS2018-10-02T00:00:00Z
\n", "
" ], "text/plain": [ " medical_conditionLabel.value referenceLabel.value \\\n", "0 non-small-cell lung carcinoma Drug Indications Extracted from FAERS \n", "1 skin cancer Drug Indications Extracted from FAERS \n", "2 metastatic melanoma Drug Indications Extracted from FAERS \n", "3 melanoma Drug Indications Extracted from FAERS \n", "\n", " date.value \n", "0 2018-10-02T00:00:00Z \n", "1 2018-10-02T00:00:00Z \n", "2 2018-10-02T00:00:00Z \n", "3 2018-10-02T00:00:00Z " ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "my_query = \"\"\"\n", "SELECT ?medical_conditionLabel ?referenceLabel ?date\n", "WHERE \n", "{\n", " wd:Q3011604 p:P2175 [\n", " ps:P2175 ?medical_condition ;\n", " prov:wasDerivedFrom ?source \n", " ].\n", " ?source pr:P248 ?reference ;\n", " pr:P813 ?date\n", " SERVICE wikibase:label { bd:serviceParam wikibase:language \"en\". }\n", "}\n", "\"\"\"\n", "\n", "# get data\n", "result_table = utils.query(WIKIDATA_ENDPOINT, my_query)\n", "\n", "# there you go\n", "result_table[['medical_conditionLabel.value', 'referenceLabel.value', 'date.value']]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "### Querying variants\n", "\n", "We can also query only cases with variants mapped to Wikidata. Those are entry points for knowledge enrichment. The column `alt_p.value` represents the type of `point_mutation`." ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
case.valuevariant.valuegeneSymbol.valuealt_p.valueannotation_Type.value
0CRC0058Q28371388KRASG12Vsequence_alteration
1CRC0063Q28371388KRASG12Vsequence_alteration
2CRC0309Q28371388KRASG12Vsequence_alteration
3CRC0468Q28371388KRASG12Vsequence_alteration
4CRC0265Q28371388KRASG12Vsequence_alteration
5CRC0261Q28371388KRASG12Vsequence_alteration
6CRC0187Q28371388KRASG12Vsequence_alteration
7CRC0242Q28371388KRASG12Vsequence_alteration
8CRC0324Q28371388KRASG12Vsequence_alteration
9CRC0184Q28371388KRASG12Vsequence_alteration
10CRC0165Q28371388KRASG12Vsequence_alteration
11CRC0021Q28371388KRASG12Vsequence_alteration
12CRC0060Q28371388KRASG12Vsequence_alteration
13CRC0753Q28371388KRASG12Vsequence_alteration
14CRC0055Q28371388KRASG12Vsequence_alteration
15CRC0354Q29938363KRASQ61Hsequence_alteration
16CRC0139Q29938363KRASQ61Hsequence_alteration
17CRC0438Q29938368KRASQ61Ksequence_alteration
18CRC0024Q32948338KRASG13Csequence_alteration
19CRC0315Q28371015KRASG13Dsequence_alteration
20CRC0127Q28371015KRASG13Dsequence_alteration
21CRC0071Q28371015KRASG13Dsequence_alteration
22CRC0237Q28371015KRASG13Dsequence_alteration
23CRC0018Q28371015KRASG13Dsequence_alteration
24CRC0019Q28371015KRASG13Dsequence_alteration
25CRC0479Q28371015KRASG13Dsequence_alteration
26CRC0504Q28371015KRASG13Dsequence_alteration
27CRC0714Q28371015KRASG13Dsequence_alteration
28CRC0149Q28371015KRASG13Dsequence_alteration
29CRC0082Q28371015KRASG13Dsequence_alteration
..................
87CRC0362Q28444964EGFRfeature_amplification
88CRC0327Q28444964EGFRfeature_amplification
89CRC0328Q28444964EGFRfeature_amplification
90CRC0449Q28444964EGFRfeature_amplification
91CRC0481Q28444964EGFRfeature_amplification
92CRC0527Q28444964EGFRfeature_amplification
93CRC0537Q28444964EGFRfeature_amplification
94CRC0542Q28444964EGFRfeature_amplification
95CRC1278Q28444964EGFRfeature_amplification
96CRC0480Q21851559BRAFV600Esequence_alteration
97CRC0528Q21851559BRAFV600Esequence_alteration
98CRC0323Q21851559BRAFV600Esequence_alteration
99CRC0118Q21851559BRAFV600Esequence_alteration
100CRC0106Q21851559BRAFV600Esequence_alteration
101CRC0484Q21851559BRAFV600Esequence_alteration
102CRC0079Q21851559BRAFV600Esequence_alteration
103CRC0150Q50092868BRAFG466Vsequence_alteration
104CRC1138Q28371540BRAFK601Esequence_alteration
105CRC1063Q28371540BRAFK601Esequence_alteration
106CRC0504Q28370981ERBB2R678Qsequence_alteration
107CRC0126Q28370984ERBB2V777Lsequence_alteration
108CRC0131Q28370984ERBB2V777Lsequence_alteration
109CRC0124Q29938313ERBB2H878Ysequence_alteration
110CRC0124Q27908387ERBB2feature_amplification
111CRC0080Q27908387ERBB2feature_amplification
112CRC0185Q27908387ERBB2feature_amplification
113CRC0186Q27908387ERBB2feature_amplification
114CRC0112Q27908387ERBB2feature_amplification
115CRC0729Q27908387ERBB2feature_amplification
116CRC0743Q27908387ERBB2feature_amplification
\n", "

117 rows × 5 columns

\n", "
" ], "text/plain": [ " case.value variant.value geneSymbol.value alt_p.value \\\n", "0 CRC0058 Q28371388 KRAS G12V \n", "1 CRC0063 Q28371388 KRAS G12V \n", "2 CRC0309 Q28371388 KRAS G12V \n", "3 CRC0468 Q28371388 KRAS G12V \n", "4 CRC0265 Q28371388 KRAS G12V \n", "5 CRC0261 Q28371388 KRAS G12V \n", "6 CRC0187 Q28371388 KRAS G12V \n", "7 CRC0242 Q28371388 KRAS G12V \n", "8 CRC0324 Q28371388 KRAS G12V \n", "9 CRC0184 Q28371388 KRAS G12V \n", "10 CRC0165 Q28371388 KRAS G12V \n", "11 CRC0021 Q28371388 KRAS G12V \n", "12 CRC0060 Q28371388 KRAS G12V \n", "13 CRC0753 Q28371388 KRAS G12V \n", "14 CRC0055 Q28371388 KRAS G12V \n", "15 CRC0354 Q29938363 KRAS Q61H \n", "16 CRC0139 Q29938363 KRAS Q61H \n", "17 CRC0438 Q29938368 KRAS Q61K \n", "18 CRC0024 Q32948338 KRAS G13C \n", "19 CRC0315 Q28371015 KRAS G13D \n", "20 CRC0127 Q28371015 KRAS G13D \n", "21 CRC0071 Q28371015 KRAS G13D \n", "22 CRC0237 Q28371015 KRAS G13D \n", "23 CRC0018 Q28371015 KRAS G13D \n", "24 CRC0019 Q28371015 KRAS G13D \n", "25 CRC0479 Q28371015 KRAS G13D \n", "26 CRC0504 Q28371015 KRAS G13D \n", "27 CRC0714 Q28371015 KRAS G13D \n", "28 CRC0149 Q28371015 KRAS G13D \n", "29 CRC0082 Q28371015 KRAS G13D \n", ".. ... ... ... ... \n", "87 CRC0362 Q28444964 EGFR \n", "88 CRC0327 Q28444964 EGFR \n", "89 CRC0328 Q28444964 EGFR \n", "90 CRC0449 Q28444964 EGFR \n", "91 CRC0481 Q28444964 EGFR \n", "92 CRC0527 Q28444964 EGFR \n", "93 CRC0537 Q28444964 EGFR \n", "94 CRC0542 Q28444964 EGFR \n", "95 CRC1278 Q28444964 EGFR \n", "96 CRC0480 Q21851559 BRAF V600E \n", "97 CRC0528 Q21851559 BRAF V600E \n", "98 CRC0323 Q21851559 BRAF V600E \n", "99 CRC0118 Q21851559 BRAF V600E \n", "100 CRC0106 Q21851559 BRAF V600E \n", "101 CRC0484 Q21851559 BRAF V600E \n", "102 CRC0079 Q21851559 BRAF V600E \n", "103 CRC0150 Q50092868 BRAF G466V \n", "104 CRC1138 Q28371540 BRAF K601E \n", "105 CRC1063 Q28371540 BRAF K601E \n", "106 CRC0504 Q28370981 ERBB2 R678Q \n", "107 CRC0126 Q28370984 ERBB2 V777L \n", "108 CRC0131 Q28370984 ERBB2 V777L \n", "109 CRC0124 Q29938313 ERBB2 H878Y \n", "110 CRC0124 Q27908387 ERBB2 \n", "111 CRC0080 Q27908387 ERBB2 \n", "112 CRC0185 Q27908387 ERBB2 \n", "113 CRC0186 Q27908387 ERBB2 \n", "114 CRC0112 Q27908387 ERBB2 \n", "115 CRC0729 Q27908387 ERBB2 \n", "116 CRC0743 Q27908387 ERBB2 \n", "\n", " annotation_Type.value \n", "0 sequence_alteration \n", "1 sequence_alteration \n", "2 sequence_alteration \n", "3 sequence_alteration \n", "4 sequence_alteration \n", "5 sequence_alteration \n", "6 sequence_alteration \n", "7 sequence_alteration \n", "8 sequence_alteration \n", "9 sequence_alteration \n", "10 sequence_alteration \n", "11 sequence_alteration \n", "12 sequence_alteration \n", "13 sequence_alteration \n", "14 sequence_alteration \n", "15 sequence_alteration \n", "16 sequence_alteration \n", "17 sequence_alteration \n", "18 sequence_alteration \n", "19 sequence_alteration \n", "20 sequence_alteration \n", "21 sequence_alteration \n", "22 sequence_alteration \n", "23 sequence_alteration \n", "24 sequence_alteration \n", "25 sequence_alteration \n", "26 sequence_alteration \n", "27 sequence_alteration \n", "28 sequence_alteration \n", "29 sequence_alteration \n", ".. ... \n", "87 feature_amplification \n", "88 feature_amplification \n", "89 feature_amplification \n", "90 feature_amplification \n", "91 feature_amplification \n", "92 feature_amplification \n", "93 feature_amplification \n", "94 feature_amplification \n", "95 feature_amplification \n", "96 sequence_alteration \n", "97 sequence_alteration \n", "98 sequence_alteration \n", "99 sequence_alteration \n", "100 sequence_alteration \n", "101 sequence_alteration \n", "102 sequence_alteration \n", "103 sequence_alteration \n", "104 sequence_alteration \n", "105 sequence_alteration \n", "106 sequence_alteration \n", "107 sequence_alteration \n", "108 sequence_alteration \n", "109 sequence_alteration \n", "110 feature_amplification \n", "111 feature_amplification \n", "112 feature_amplification \n", "113 feature_amplification \n", "114 feature_amplification \n", "115 feature_amplification \n", "116 feature_amplification \n", "\n", "[117 rows x 5 columns]" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "my_query = \"\"\"\n", "PREFIX : \n", "PREFIX wdt: \n", "PREFIX owl: \n", "select distinct ?case ?variant ?geneSymbol ?alt_p ?annotation_Type\n", "\n", "where {\n", "\n", " SERVICE {\n", " ?variant wdt:P3329 ?id .\n", " }\n", "\n", "\n", " ?case a :Case ;\n", " :hasDescendant ?mouse ;\n", " :hasDescendant ?node .\n", " ?mouse a :Biomouse ;\n", " :has_annotation ?ann .\n", " ?ann :has_reference ?ref .\n", " ?ref a :drug_response .\n", " ?node :has_annotation ?ann2 .\n", " ?ann2 :has_reference ?variant .\n", " ?gene :has_variant ?variant.\n", " OPTIONAL {?variant :alt_p ?alt_p }\n", " ?gene :symbol ?geneSymbol\n", " VALUES ?geneSymbol {'KRAS' 'EGFR' 'BRAF' 'ERBB2'}\n", " ?variant a ?annotation_Type.\n", " VALUES ?annotation_Type { :sequence_alteration :feature_amplification }\n", "}\n", "\"\"\"\n", "\n", "# get data\n", "result_table = utils.query(SEMALYTICS_ENDPOINT, my_query)\n", "\n", "# filter URIs prefixes\n", "utils.filter_prefixes(result_table)\n", "\n", "# there you go\n", "result_table[['case.value', 'variant.value', 'geneSymbol.value', 'alt_p.value', 'annotation_Type.value']].fillna(\"\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## Positive therapeutic predictors\n", "\n", "We can use the **variants occurrences** annotated in the local database for querying **associated positive response predictions** to drugs. Moreover, we retrieve also the scientific article from where the evidence comes and the relative medical condition treated." ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
geneSymbol.valuevariantLabel.valuetreatmentLabel.valuediseaseLabel.valuereferenceLabel.value
0BRAFBRAF G466VvemurafenibcancerTargeted Therapy for Advanced Solid Tumors on the Basis of Molecular Profiles: Results From MyPathway, an Open-Label, Phase IIa Multiple Basket Study.
1BRAFBRAF K601Evemurafenibskin melanomaBRAF(L597) mutations in melanoma are associated with sensitivity to MEK inhibitors
2BRAFBRAF K601Etrametinibskin melanomaBRAF(L597) mutations in melanoma are associated with sensitivity to MEK inhibitors
3BRAFBRAF V600Ecobimetinib fumaratecancerMechanism of MEK inhibition determines efficacy in mutant KRAS- versus BRAF-driven cancers
4BRAFBRAF V600Eirinotecan / Panitumumab / vemurafenib combination therapycholangiocarcinomaComplete Clinical Response of BRAF-Mutated Cholangiocarcinoma to Vemurafenib, Panitumumab, and Irinotecan
5BRAFBRAF V600Evemurafenibovarian cancerTargeted Therapy for Advanced Solid Tumors on the Basis of Molecular Profiles: Results From MyPathway, an Open-Label, Phase IIa Multiple Basket Study.
6BRAFBRAF V600EDabrafenib / Trametinib combination therapymelanomaCombined BRAF and MEK inhibition in melanoma with BRAF V600 mutations
7BRAFBRAF V600EvemurafenibmelanomaSafety and efficacy of vemurafenib in BRAF(V600E) and BRAF(V600K) mutation-positive melanoma (BRIM-3): extended follow-up of a phase 3, randomised, open-label study
8BRAFBRAF V600EDabrafenib / Trametinib combination therapymelanomaDabrafenib and trametinib, alone and in combination for BRAF-mutant metastatic melanoma.
9BRAFBRAF V600Evemurafenib / cobimetinib fumarate combination therapymelanomaCombined vemurafenib and cobimetinib in BRAF-mutated melanoma.
10BRAFBRAF V600EpictilisibmelanomaFirst-in-human phase I study of pictilisib (GDC-0941), a potent pan-class I phosphatidylinositol-3-kinase (PI3K) inhibitor, in patients with advanced solid tumors.
11BRAFBRAF V600Eselumetinib / dactolisib combination therapymelanomaPrimary cross-resistance to BRAFV600E-, MEK1/2- and PI3K/mTOR-specific inhibitors in BRAF-mutant melanoma cells counteracted by dual pathway blockade
12BRAFBRAF V600EvemurafenibmelanomaInhibition of Mutated, Activated BRAF in Metastatic Melanoma
13BRAFBRAF V600EDabrafenib / Trametinib combination therapymelanomaCombined BRAF and MEK inhibition versus BRAF inhibition alone in melanoma.
14BRAFBRAF V600EDabrafenib / Trametinib combination therapymelanomaAdjuvant Dabrafenib plus Trametinib in Stage III BRAF-Mutated Melanoma.
15BRAFBRAF V600Etrametinib / vemurafenib / dabrafenib combination therapygastrointestinal neuroendocrine tumorBRAFV600E Mutations in High-Grade Colorectal Neuroendocrine Tumors May Predict Responsiveness to BRAF-MEK Combination Therapy.
16BRAFBRAF V600EPanitumumab / Trametinib combination therapycolorectal adenocarcinomaCombined BRAF, EGFR, and MEK Inhibition in Patients with BRAFV600E-Mutant Colorectal Cancer.
17BRAFBRAF V600Evemurafeniblaryngeal squamous cell carcinomaTargeted Therapy for Advanced Solid Tumors on the Basis of Molecular Profiles: Results From MyPathway, an Open-Label, Phase IIa Multiple Basket Study.
18BRAFBRAF V600Evemurafenibskin melanomaSurvival in BRAF V600-mutant advanced melanoma treated with vemurafenib
19BRAFBRAF V600Evemurafenibskin melanomaImproved survival with vemurafenib in melanoma with BRAF V600E mutation
20BRAFBRAF V600EDabrafenib / Trametinib combination therapyskin melanomaImproved overall survival in melanoma with combined dabrafenib and trametinib.
21BRAFBRAF V600ESorafenib / Panitumumab combination therapycolorectal cancerWild-type BRAF is required for response to panitumumab or cetuximab in metastatic colorectal cancer.
22BRAFBRAF V600ECapecitabine / Vemurafenib / Bevacizumab combination therapycolorectal cancerAntitumor activity of BRAF inhibitor vemurafenib in preclinical models of BRAF-mutant colorectal cancer.
23BRAFBRAF V600Evemurafenibcolorectal cancerAntitumor activity of BRAF inhibitor vemurafenib in preclinical models of BRAF-mutant colorectal cancer.
24BRAFBRAF V600EVemurafenib / Gefitinib / Cetuximab combination therapycolorectal cancerUnresponsiveness of colon cancer to BRAF(V600E) inhibition through feedback activation of EGFR.
25BRAFBRAF V600Edabrafenibcolorectal cancerDabrafenib in patients with melanoma, untreated brain metastases, and other solid tumours: a phase 1 dose-escalation trial.
26BRAFBRAF V600Edactolisib / GDC-0879 combination therapycolorectal cancerConcomitant BRAF and PI3K/mTOR blockade is required for effective treatment of BRAF(V600E) colorectal cancer.
27BRAFBRAF V600EPLX4720 / GDC0941combination therapycolorectal cancerA genetic progression model of Braf(V600E)-induced intestinal tumorigenesis reveals targets for therapeutic intervention.
28BRAFBRAF V600EVemurafenib / Panitumumab combination therapycolorectal cancerPilot trial of combined BRAF and EGFR inhibition in BRAF-mutant metastatic colorectal cancer patients.
29BRAFBRAF V600Evemurafenibcolorectal cancerPhase II Pilot Study of Vemurafenib in Patients With Metastatic BRAF-Mutated Colorectal Cancer.
..................
84ERBB2ERBB2 AMPLIFICATIONado-trastuzumab emtansineHer2-receptor positive breast cancerPhase II study of the antibody drug conjugate trastuzumab-DM1 for the treatment of human epidermal growth factor receptor 2 (HER2)-positive breast cancer after prior HER2-directed therapy.
85ERBB2ERBB2 AMPLIFICATIONtrastuzumabscrotum Paget's diseaseMetastatic Extramammary Paget's Disease of Scrotum Responds Completely to Single Agent Trastuzumab in a Hemodialysis Patient: Case Report, Molecular Profiling and Brief Review of the Literature.
86ERBB2ERBB2 AMPLIFICATIONtrastuzumabgastric adenocarcinomaTrastuzumab in combination with chemotherapy versus chemotherapy alone for treatment of HER2-positive advanced gastric or gastro-oesophageal junction cancer (ToGA): a phase 3, open-label, randomised controlled trial.
87ERBB2ERBB2 AMPLIFICATIONlapatinibgastric adenocarcinomaLapatinib plus paclitaxel versus paclitaxel alone in the second-line treatment of HER2-amplified advanced gastric cancer in Asian populations: TyTAN--a randomized, phase III study.
88ERBB2ERBB2 AMPLIFICATIONPertuzumab / Trastuzumab combination therapybladder carcinomaTargeted Therapy for Advanced Solid Tumors on the Basis of Molecular Profiles: Results From MyPathway, an Open-Label, Phase IIa Multiple Basket Study.
89ERBB2ERBB2 AMPLIFICATIONafatinibpancreatic adenocarcinomaAfatinib, an Irreversible EGFR Family Inhibitor, Shows Activity Toward Pancreatic Cancer Cells, Alone and in Combination with Radiotherapy, Independent of KRAS Status.
90ERBB2ERBB2 AMPLIFICATIONPertuzumab / Trastuzumab combination therapybiliary tract cancerTargeted Therapy for Advanced Solid Tumors on the Basis of Molecular Profiles: Results From MyPathway, an Open-Label, Phase IIa Multiple Basket Study.
91ERBB2ERBB2 AMPLIFICATIONTrastuzumab / Lapatinib combination therapycolorectal cancerDual-targeted therapy with trastuzumab and lapatinib in treatment-refractory, KRAS codon 12/13 wild-type, HER2-positive metastatic colorectal cancer (HERACLES): a proof-of-concept, multicentre, open-label, phase 2 trial.
92ERBB2ERBB2 AMPLIFICATIONPertuzumab / Trastuzumab combination therapycolorectal cancerTargeted Therapy for Advanced Solid Tumors on the Basis of Molecular Profiles: Results From MyPathway, an Open-Label, Phase IIa Multiple Basket Study.
93ERBB2ERBB2 AMPLIFICATIONTrastuzumab / irinotecan combination therapylung small cell carcinomaFavorable response to trastuzumab plus irinotecan combination therapy in two patients with HER2-positive relapsed small-cell lung cancer.
94ERBB2ERBB2 AMPLIFICATIONtrastuzumabuterine corpus serous adenocarcinomaTrastuzumab treatment in patients with advanced or recurrent endometrial carcinoma overexpressing HER2/neu.
95ERBB2ERBB2 AMPLIFICATIONPertuzumab / Trastuzumab combination therapypancreatic cancerTargeted Therapy for Advanced Solid Tumors on the Basis of Molecular Profiles: Results From MyPathway, an Open-Label, Phase IIa Multiple Basket Study.
96ERBB2ERBB2 AMPLIFICATIONtrastuzumabnon-small-cell lung carcinomaRandomized phase II trial of gemcitabine-cisplatin with or without trastuzumab in HER2-positive non-small-cell lung cancer.
97ERBB2ERBB2 AMPLIFICATIONtrastuzumabnon-small-cell lung carcinomaTrastuzumab plus docetaxel in HER2/neu-positive non-small-cell lung cancer: a California Cancer Consortium screening and phase II trial.
98ERBB2ERBB2 AMPLIFICATIONado-trastuzumab emtansinenon-small-cell lung carcinomaTrastuzumab emtansine is active on HER-2 overexpressing NSCLC cell lines and overcomes gefitinib resistance.
99ERBB2ERBB2 AMPLIFICATIONdacomitinibnon-small-cell lung carcinomaTargeting HER2 aberrations as actionable drivers in lung cancers: phase II trial of the pan-HER tyrosine kinase inhibitor dacomitinib in patients with HER2-mutant or amplified tumors
100ERBB2ERBB2 AMPLIFICATIONtrastuzumabendometrial cancerPhase II trial of trastuzumab in women with advanced or recurrent, HER2-positive endometrial carcinoma: a Gynecologic Oncology Group study.
101KRASKRAS A146Tselumetinib / dactolisib combination therapycolorectal cancerInhibition of MEK and PI3K/mTOR suppresses tumor growth but does not cause tumor regression in patient-derived xenografts of RAS-mutant colorectal carcinomas.
102KRASKRAS A146Vselumetinib / dactolisib combination therapycolorectal cancerInhibition of MEK and PI3K/mTOR suppresses tumor growth but does not cause tumor regression in patient-derived xenografts of RAS-mutant colorectal carcinomas.
103KRASKRAS A146Vabemaciclibnon-small-cell lung carcinomaWhole-exome sequencing and clinical interpretation of formalin-fixed, paraffin-embedded tumor samples to guide precision cancer medicine.
104KRASKRAS G12Cselumetinib / dactolisib combination therapycolorectal cancerInhibition of MEK and PI3K/mTOR suppresses tumor growth but does not cause tumor regression in patient-derived xenografts of RAS-mutant colorectal carcinomas.
105KRASKRAS G12Cselumetinib / docetaxel trihydrate combination therapynon-small-cell lung carcinomaImpact of KRAS codon subtypes from a randomised phase II trial of selumetinib plus docetaxel in KRAS mutant advanced non-small-cell lung cancer
106KRASKRAS G12DMK-2206pancreatic carcinomaFirst-in-man clinical trial of the oral pan-AKT inhibitor MK-2206 in patients with advanced solid tumors.
107KRASKRAS G12Dselumetinib / dactolisib combination therapycolorectal cancerInhibition of MEK and PI3K/mTOR suppresses tumor growth but does not cause tumor regression in patient-derived xenografts of RAS-mutant colorectal carcinomas.
108KRASKRAS G12Dselumetinib / dactolisib combination therapynon-small-cell lung carcinomaEffective use of PI3K and MEK inhibitors to treat mutant Kras G12D and PIK3CA H1047R murine lung cancers.
109KRASKRAS G12Vselumetinib / dactolisib combination therapycolorectal cancerInhibition of MEK and PI3K/mTOR suppresses tumor growth but does not cause tumor regression in patient-derived xenografts of RAS-mutant colorectal carcinomas.
110KRASKRAS G12Vpalbociclibnon-small-cell lung carcinomaA synthetic lethal interaction between K-Ras oncogenes and Cdk4 unveils a therapeutic strategy for non-small cell lung carcinoma.
111KRASKRAS G12Vselumetinib / docetaxel trihydrate combination therapynon-small-cell lung carcinomaImpact of KRAS codon subtypes from a randomised phase II trial of selumetinib plus docetaxel in KRAS mutant advanced non-small-cell lung cancer
112KRASKRAS G13DCetuximabcolorectal cancerAssociation of KRAS p.G13D mutation with outcome in patients with chemotherapy-refractory metastatic colorectal cancer treated with cetuximab.
113KRASKRAS G13Dselumetinib / dactolisib combination therapycolorectal cancerInhibition of MEK and PI3K/mTOR suppresses tumor growth but does not cause tumor regression in patient-derived xenografts of RAS-mutant colorectal carcinomas.
\n", "

114 rows × 5 columns

\n", "
" ], "text/plain": [ " geneSymbol.value variantLabel.value \\\n", "0 BRAF BRAF G466V \n", "1 BRAF BRAF K601E \n", "2 BRAF BRAF K601E \n", "3 BRAF BRAF V600E \n", "4 BRAF BRAF V600E \n", "5 BRAF BRAF V600E \n", "6 BRAF BRAF V600E \n", "7 BRAF BRAF V600E \n", "8 BRAF BRAF V600E \n", "9 BRAF BRAF V600E \n", "10 BRAF BRAF V600E \n", "11 BRAF BRAF V600E \n", "12 BRAF BRAF V600E \n", "13 BRAF BRAF V600E \n", "14 BRAF BRAF V600E \n", "15 BRAF BRAF V600E \n", "16 BRAF BRAF V600E \n", "17 BRAF BRAF V600E \n", "18 BRAF BRAF V600E \n", "19 BRAF BRAF V600E \n", "20 BRAF BRAF V600E \n", "21 BRAF BRAF V600E \n", "22 BRAF BRAF V600E \n", "23 BRAF BRAF V600E \n", "24 BRAF BRAF V600E \n", "25 BRAF BRAF V600E \n", "26 BRAF BRAF V600E \n", "27 BRAF BRAF V600E \n", "28 BRAF BRAF V600E \n", "29 BRAF BRAF V600E \n", ".. ... ... \n", "84 ERBB2 ERBB2 AMPLIFICATION \n", "85 ERBB2 ERBB2 AMPLIFICATION \n", "86 ERBB2 ERBB2 AMPLIFICATION \n", "87 ERBB2 ERBB2 AMPLIFICATION \n", "88 ERBB2 ERBB2 AMPLIFICATION \n", "89 ERBB2 ERBB2 AMPLIFICATION \n", "90 ERBB2 ERBB2 AMPLIFICATION \n", "91 ERBB2 ERBB2 AMPLIFICATION \n", "92 ERBB2 ERBB2 AMPLIFICATION \n", "93 ERBB2 ERBB2 AMPLIFICATION \n", "94 ERBB2 ERBB2 AMPLIFICATION \n", "95 ERBB2 ERBB2 AMPLIFICATION \n", "96 ERBB2 ERBB2 AMPLIFICATION \n", "97 ERBB2 ERBB2 AMPLIFICATION \n", "98 ERBB2 ERBB2 AMPLIFICATION \n", "99 ERBB2 ERBB2 AMPLIFICATION \n", "100 ERBB2 ERBB2 AMPLIFICATION \n", "101 KRAS KRAS A146T \n", "102 KRAS KRAS A146V \n", "103 KRAS KRAS A146V \n", "104 KRAS KRAS G12C \n", "105 KRAS KRAS G12C \n", "106 KRAS KRAS G12D \n", "107 KRAS KRAS G12D \n", "108 KRAS KRAS G12D \n", "109 KRAS KRAS G12V \n", "110 KRAS KRAS G12V \n", "111 KRAS KRAS G12V \n", "112 KRAS KRAS G13D \n", "113 KRAS KRAS G13D \n", "\n", " treatmentLabel.value \\\n", "0 vemurafenib \n", "1 vemurafenib \n", "2 trametinib \n", "3 cobimetinib fumarate \n", "4 irinotecan / Panitumumab / vemurafenib combination therapy \n", "5 vemurafenib \n", "6 Dabrafenib / Trametinib combination therapy \n", "7 vemurafenib \n", "8 Dabrafenib / Trametinib combination therapy \n", "9 vemurafenib / cobimetinib fumarate combination therapy \n", "10 pictilisib \n", "11 selumetinib / dactolisib combination therapy \n", "12 vemurafenib \n", "13 Dabrafenib / Trametinib combination therapy \n", "14 Dabrafenib / Trametinib combination therapy \n", "15 trametinib / vemurafenib / dabrafenib combination therapy \n", "16 Panitumumab / Trametinib combination therapy \n", "17 vemurafenib \n", "18 vemurafenib \n", "19 vemurafenib \n", "20 Dabrafenib / Trametinib combination therapy \n", "21 Sorafenib / Panitumumab combination therapy \n", "22 Capecitabine / Vemurafenib / Bevacizumab combination therapy \n", "23 vemurafenib \n", "24 Vemurafenib / Gefitinib / Cetuximab combination therapy \n", "25 dabrafenib \n", "26 dactolisib / GDC-0879 combination therapy \n", "27 PLX4720 / GDC0941combination therapy \n", "28 Vemurafenib / Panitumumab combination therapy \n", "29 vemurafenib \n", ".. ... \n", "84 ado-trastuzumab emtansine \n", "85 trastuzumab \n", "86 trastuzumab \n", "87 lapatinib \n", "88 Pertuzumab / Trastuzumab combination therapy \n", "89 afatinib \n", "90 Pertuzumab / Trastuzumab combination therapy \n", "91 Trastuzumab / Lapatinib combination therapy \n", "92 Pertuzumab / Trastuzumab combination therapy \n", "93 Trastuzumab / irinotecan combination therapy \n", "94 trastuzumab \n", "95 Pertuzumab / Trastuzumab combination therapy \n", "96 trastuzumab \n", "97 trastuzumab \n", "98 ado-trastuzumab emtansine \n", "99 dacomitinib \n", "100 trastuzumab \n", "101 selumetinib / dactolisib combination therapy \n", "102 selumetinib / dactolisib combination therapy \n", "103 abemaciclib \n", "104 selumetinib / dactolisib combination therapy \n", "105 selumetinib / docetaxel trihydrate combination therapy \n", "106 MK-2206 \n", "107 selumetinib / dactolisib combination therapy \n", "108 selumetinib / dactolisib combination therapy \n", "109 selumetinib / dactolisib combination therapy \n", "110 palbociclib \n", "111 selumetinib / docetaxel trihydrate combination therapy \n", "112 Cetuximab \n", "113 selumetinib / dactolisib combination therapy \n", "\n", " diseaseLabel.value \\\n", "0 cancer \n", "1 skin melanoma \n", "2 skin melanoma \n", "3 cancer \n", "4 cholangiocarcinoma \n", "5 ovarian cancer \n", "6 melanoma \n", "7 melanoma \n", "8 melanoma \n", "9 melanoma \n", "10 melanoma \n", "11 melanoma \n", "12 melanoma \n", "13 melanoma \n", "14 melanoma \n", "15 gastrointestinal neuroendocrine tumor \n", "16 colorectal adenocarcinoma \n", "17 laryngeal squamous cell carcinoma \n", "18 skin melanoma \n", "19 skin melanoma \n", "20 skin melanoma \n", "21 colorectal cancer \n", "22 colorectal cancer \n", "23 colorectal cancer \n", "24 colorectal cancer \n", "25 colorectal cancer \n", "26 colorectal cancer \n", "27 colorectal cancer \n", "28 colorectal cancer \n", "29 colorectal cancer \n", ".. ... \n", "84 Her2-receptor positive breast cancer \n", "85 scrotum Paget's disease \n", "86 gastric adenocarcinoma \n", "87 gastric adenocarcinoma \n", "88 bladder carcinoma \n", "89 pancreatic adenocarcinoma \n", "90 biliary tract cancer \n", "91 colorectal cancer \n", "92 colorectal cancer \n", "93 lung small cell carcinoma \n", "94 uterine corpus serous adenocarcinoma \n", "95 pancreatic cancer \n", "96 non-small-cell lung carcinoma \n", "97 non-small-cell lung carcinoma \n", "98 non-small-cell lung carcinoma \n", "99 non-small-cell lung carcinoma \n", "100 endometrial cancer \n", "101 colorectal cancer \n", "102 colorectal cancer \n", "103 non-small-cell lung carcinoma \n", "104 colorectal cancer \n", "105 non-small-cell lung carcinoma \n", "106 pancreatic carcinoma \n", "107 colorectal cancer \n", "108 non-small-cell lung carcinoma \n", "109 colorectal cancer \n", "110 non-small-cell lung carcinoma \n", "111 non-small-cell lung carcinoma \n", "112 colorectal cancer \n", "113 colorectal cancer \n", "\n", " referenceLabel.value \n", "0 Targeted Therapy for Advanced Solid Tumors on the Basis of Molecular Profiles: Results From MyPathway, an Open-Label, Phase IIa Multiple Basket Study. \n", "1 BRAF(L597) mutations in melanoma are associated with sensitivity to MEK inhibitors \n", "2 BRAF(L597) mutations in melanoma are associated with sensitivity to MEK inhibitors \n", "3 Mechanism of MEK inhibition determines efficacy in mutant KRAS- versus BRAF-driven cancers \n", "4 Complete Clinical Response of BRAF-Mutated Cholangiocarcinoma to Vemurafenib, Panitumumab, and Irinotecan \n", "5 Targeted Therapy for Advanced Solid Tumors on the Basis of Molecular Profiles: Results From MyPathway, an Open-Label, Phase IIa Multiple Basket Study. \n", "6 Combined BRAF and MEK inhibition in melanoma with BRAF V600 mutations \n", "7 Safety and efficacy of vemurafenib in BRAF(V600E) and BRAF(V600K) mutation-positive melanoma (BRIM-3): extended follow-up of a phase 3, randomised, open-label study \n", "8 Dabrafenib and trametinib, alone and in combination for BRAF-mutant metastatic melanoma. \n", "9 Combined vemurafenib and cobimetinib in BRAF-mutated melanoma. \n", "10 First-in-human phase I study of pictilisib (GDC-0941), a potent pan-class I phosphatidylinositol-3-kinase (PI3K) inhibitor, in patients with advanced solid tumors. \n", "11 Primary cross-resistance to BRAFV600E-, MEK1/2- and PI3K/mTOR-specific inhibitors in BRAF-mutant melanoma cells counteracted by dual pathway blockade \n", "12 Inhibition of Mutated, Activated BRAF in Metastatic Melanoma \n", "13 Combined BRAF and MEK inhibition versus BRAF inhibition alone in melanoma. \n", "14 Adjuvant Dabrafenib plus Trametinib in Stage III BRAF-Mutated Melanoma. \n", "15 BRAFV600E Mutations in High-Grade Colorectal Neuroendocrine Tumors May Predict Responsiveness to BRAF-MEK Combination Therapy. \n", "16 Combined BRAF, EGFR, and MEK Inhibition in Patients with BRAFV600E-Mutant Colorectal Cancer. \n", "17 Targeted Therapy for Advanced Solid Tumors on the Basis of Molecular Profiles: Results From MyPathway, an Open-Label, Phase IIa Multiple Basket Study. \n", "18 Survival in BRAF V600-mutant advanced melanoma treated with vemurafenib \n", "19 Improved survival with vemurafenib in melanoma with BRAF V600E mutation \n", "20 Improved overall survival in melanoma with combined dabrafenib and trametinib. \n", "21 Wild-type BRAF is required for response to panitumumab or cetuximab in metastatic colorectal cancer. \n", "22 Antitumor activity of BRAF inhibitor vemurafenib in preclinical models of BRAF-mutant colorectal cancer. \n", "23 Antitumor activity of BRAF inhibitor vemurafenib in preclinical models of BRAF-mutant colorectal cancer. \n", "24 Unresponsiveness of colon cancer to BRAF(V600E) inhibition through feedback activation of EGFR. \n", "25 Dabrafenib in patients with melanoma, untreated brain metastases, and other solid tumours: a phase 1 dose-escalation trial. \n", "26 Concomitant BRAF and PI3K/mTOR blockade is required for effective treatment of BRAF(V600E) colorectal cancer. \n", "27 A genetic progression model of Braf(V600E)-induced intestinal tumorigenesis reveals targets for therapeutic intervention. \n", "28 Pilot trial of combined BRAF and EGFR inhibition in BRAF-mutant metastatic colorectal cancer patients. \n", "29 Phase II Pilot Study of Vemurafenib in Patients With Metastatic BRAF-Mutated Colorectal Cancer. \n", ".. ... \n", "84 Phase II study of the antibody drug conjugate trastuzumab-DM1 for the treatment of human epidermal growth factor receptor 2 (HER2)-positive breast cancer after prior HER2-directed therapy. \n", "85 Metastatic Extramammary Paget's Disease of Scrotum Responds Completely to Single Agent Trastuzumab in a Hemodialysis Patient: Case Report, Molecular Profiling and Brief Review of the Literature. \n", "86 Trastuzumab in combination with chemotherapy versus chemotherapy alone for treatment of HER2-positive advanced gastric or gastro-oesophageal junction cancer (ToGA): a phase 3, open-label, randomised controlled trial. \n", "87 Lapatinib plus paclitaxel versus paclitaxel alone in the second-line treatment of HER2-amplified advanced gastric cancer in Asian populations: TyTAN--a randomized, phase III study. \n", "88 Targeted Therapy for Advanced Solid Tumors on the Basis of Molecular Profiles: Results From MyPathway, an Open-Label, Phase IIa Multiple Basket Study. \n", "89 Afatinib, an Irreversible EGFR Family Inhibitor, Shows Activity Toward Pancreatic Cancer Cells, Alone and in Combination with Radiotherapy, Independent of KRAS Status. \n", "90 Targeted Therapy for Advanced Solid Tumors on the Basis of Molecular Profiles: Results From MyPathway, an Open-Label, Phase IIa Multiple Basket Study. \n", "91 Dual-targeted therapy with trastuzumab and lapatinib in treatment-refractory, KRAS codon 12/13 wild-type, HER2-positive metastatic colorectal cancer (HERACLES): a proof-of-concept, multicentre, open-label, phase 2 trial. \n", "92 Targeted Therapy for Advanced Solid Tumors on the Basis of Molecular Profiles: Results From MyPathway, an Open-Label, Phase IIa Multiple Basket Study. \n", "93 Favorable response to trastuzumab plus irinotecan combination therapy in two patients with HER2-positive relapsed small-cell lung cancer. \n", "94 Trastuzumab treatment in patients with advanced or recurrent endometrial carcinoma overexpressing HER2/neu. \n", "95 Targeted Therapy for Advanced Solid Tumors on the Basis of Molecular Profiles: Results From MyPathway, an Open-Label, Phase IIa Multiple Basket Study. \n", "96 Randomized phase II trial of gemcitabine-cisplatin with or without trastuzumab in HER2-positive non-small-cell lung cancer. \n", "97 Trastuzumab plus docetaxel in HER2/neu-positive non-small-cell lung cancer: a California Cancer Consortium screening and phase II trial. \n", "98 Trastuzumab emtansine is active on HER-2 overexpressing NSCLC cell lines and overcomes gefitinib resistance. \n", "99 Targeting HER2 aberrations as actionable drivers in lung cancers: phase II trial of the pan-HER tyrosine kinase inhibitor dacomitinib in patients with HER2-mutant or amplified tumors \n", "100 Phase II trial of trastuzumab in women with advanced or recurrent, HER2-positive endometrial carcinoma: a Gynecologic Oncology Group study. \n", "101 Inhibition of MEK and PI3K/mTOR suppresses tumor growth but does not cause tumor regression in patient-derived xenografts of RAS-mutant colorectal carcinomas. \n", "102 Inhibition of MEK and PI3K/mTOR suppresses tumor growth but does not cause tumor regression in patient-derived xenografts of RAS-mutant colorectal carcinomas. \n", "103 Whole-exome sequencing and clinical interpretation of formalin-fixed, paraffin-embedded tumor samples to guide precision cancer medicine. \n", "104 Inhibition of MEK and PI3K/mTOR suppresses tumor growth but does not cause tumor regression in patient-derived xenografts of RAS-mutant colorectal carcinomas. \n", "105 Impact of KRAS codon subtypes from a randomised phase II trial of selumetinib plus docetaxel in KRAS mutant advanced non-small-cell lung cancer \n", "106 First-in-man clinical trial of the oral pan-AKT inhibitor MK-2206 in patients with advanced solid tumors. \n", "107 Inhibition of MEK and PI3K/mTOR suppresses tumor growth but does not cause tumor regression in patient-derived xenografts of RAS-mutant colorectal carcinomas. \n", "108 Effective use of PI3K and MEK inhibitors to treat mutant Kras G12D and PIK3CA H1047R murine lung cancers. \n", "109 Inhibition of MEK and PI3K/mTOR suppresses tumor growth but does not cause tumor regression in patient-derived xenografts of RAS-mutant colorectal carcinomas. \n", "110 A synthetic lethal interaction between K-Ras oncogenes and Cdk4 unveils a therapeutic strategy for non-small cell lung carcinoma. \n", "111 Impact of KRAS codon subtypes from a randomised phase II trial of selumetinib plus docetaxel in KRAS mutant advanced non-small-cell lung cancer \n", "112 Association of KRAS p.G13D mutation with outcome in patients with chemotherapy-refractory metastatic colorectal cancer treated with cetuximab. \n", "113 Inhibition of MEK and PI3K/mTOR suppresses tumor growth but does not cause tumor regression in patient-derived xenografts of RAS-mutant colorectal carcinomas. \n", "\n", "[114 rows x 5 columns]" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "my_query = \"\"\"\n", "PREFIX : \n", "PREFIX wdt: \n", "PREFIX owl: \n", "PREFIX pq: \n", "PREFIX ps: \n", "PREFIX pr: \n", "PREFIX p: \n", "PREFIX prov: \n", "PREFIX wikibase: \n", "PREFIX bd: \n", "PREFIX rdfs: \n", "select distinct ?geneSymbol ?variantLabel ?treatmentLabel ?diseaseLabel ?referenceLabel\n", "\n", "where {\n", "\n", " SERVICE {\n", " ?variant wdt:P3329 ?id .\n", " ?variant p:P3354 [ ps:P3354 ?treatment ; \n", " pq:P2175 ?disease ;\n", " prov:wasDerivedFrom ?source ].\n", " ?source pr:P248 ?reference \n", "\n", " SERVICE wikibase:label { \n", " bd:serviceParam wikibase:language \"en\" . \n", " ?variant rdfs:label ?variantLabel .\n", " ?treatment rdfs:label ?treatmentLabel .\n", " ?disease rdfs:label ?diseaseLabel .\n", " ?reference rdfs:label ?referenceLabel\n", " }\n", " }\n", "\n", "\n", " ?case a :Case ;\n", " :hasDescendant ?mouse ;\n", " :hasDescendant ?node .\n", " ?mouse a :Biomouse ;\n", " :has_annotation ?ann .\n", " ?ann :has_reference ?ref .\n", " ?ref a :drug_response .\n", " ?node :has_annotation ?ann2 .\n", " ?ann2 :has_reference ?variant .\n", " ?gene :has_variant ?variant.\n", " OPTIONAL {?variant :alt_p ?alt_p }\n", " ?gene :symbol ?geneSymbol\n", " VALUES ?geneSymbol {'KRAS' 'EGFR' 'BRAF' 'ERBB2'}\n", " ?variant a ?annotation_Type.\n", " VALUES ?annotation_Type { :sequence_alteration :feature_amplification }\n", "}\n", "order by ?geneSymbol\n", "\"\"\"\n", "\n", "# get data\n", "result_table = utils.query(SEMALYTICS_ENDPOINT, my_query)\n", "\n", "# there you go\n", "result_table[['geneSymbol.value', 'variantLabel.value', 'treatmentLabel.value', 'diseaseLabel.value', 'referenceLabel.value']]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## Negative therapeutic predictors\n", "\n", "We can use the **variants occurrences** annotated in the local database for querying associated **negative response predictions** to drugs. Moreover, we retrieve also the scientific article from where the evidence comes and the relative medical condition treated." ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
geneSymbol.valuevariantLabel.valuetreatmentLabel.valuediseaseLabel.valuereferenceLabel.value
0BRAFBRAF V600EvemurafenibmelanomaLoss of NF1 in cutaneous melanoma is associated with RAS activation and MEK dependence.
1BRAFBRAF V600Epd-0325901melanomaLoss of NF1 in cutaneous melanoma is associated with RAS activation and MEK dependence.
2BRAFBRAF V600EtrametinibmelanomaLoss of NF1 in cutaneous melanoma is associated with RAS activation and MEK dependence.
3BRAFBRAF V600EPanitumumabcolorectal cancerMeta-analysis of BRAF mutation as a predictive biomarker of benefit from anti-EGFR monoclonal antibody therapy for RAS wild-type metastatic colorectal cancer
4BRAFBRAF V600ECetuximabcolorectal cancerMeta-analysis of BRAF mutation as a predictive biomarker of benefit from anti-EGFR monoclonal antibody therapy for RAS wild-type metastatic colorectal cancer
5BRAFBRAF V600EPanitumumabcolorectal cancerWild-type BRAF is required for response to panitumumab or cetuximab in metastatic colorectal cancer.
6BRAFBRAF V600ECetuximabcolorectal cancerWild-type BRAF is required for response to panitumumab or cetuximab in metastatic colorectal cancer.
7BRAFBRAF V600ECetuximabcolorectal cancerEffects of KRAS, BRAF, NRAS, and PIK3CA mutations on the efficacy of cetuximab plus chemotherapy in chemotherapy-refractory metastatic colorectal cancer: a retrospective consortium analysis.
8BRAFBRAF V600EOxaliplatincolorectal cancerPrognostic and predictive value of common mutations for treatment response and survival in patients with metastatic colorectal cancer.
9BRAFBRAF V600Eirinotecancolorectal cancerPrognostic and predictive value of common mutations for treatment response and survival in patients with metastatic colorectal cancer.
10BRAFBRAF V600Edabrafenibnon-small-cell lung carcinomaMolecular characterization of acquired resistance to the BRAF inhibitor dabrafenib in a patient with BRAF-mutant non-small-cell lung cancer.
11EGFREGFR G465RPanitumumabcolorectal cancerThe First-in-class Anti-EGFR Antibody Mixture Sym004 Overcomes Cetuximab Resistance Mediated by EGFR Extracellular Domain Mutations in Colorectal Cancer.
12EGFREGFR G465RCetuximabcolorectal cancerThe First-in-class Anti-EGFR Antibody Mixture Sym004 Overcomes Cetuximab Resistance Mediated by EGFR Extracellular Domain Mutations in Colorectal Cancer.
13EGFREGFR AMPLIFICATIONosimertinibnon-small-cell lung carcinomaAmplification of EGFR Wild-Type Alleles in Non-Small Cell Lung Cancer Cells Confers Acquired Resistance to Mutation-Selective EGFR Tyrosine Kinase Inhibitors.
14EGFREGFR AMPLIFICATIONrociletinibnon-small-cell lung carcinomaAmplification of EGFR Wild-Type Alleles in Non-Small Cell Lung Cancer Cells Confers Acquired Resistance to Mutation-Selective EGFR Tyrosine Kinase Inhibitors.
15ERBB2ERBB2 AMPLIFICATIONCetuximabcolorectal cancerA molecularly annotated platform of patient-derived xenografts (\"xenopatients\") identifies HER2 as an effective therapeutic target in cetuximab-resistant colorectal cancer.
16ERBB2ERBB2 AMPLIFICATIONPanitumumabcolorectal cancerHER2 gene copy number status may influence clinical efficacy to anti-EGFR monoclonal antibodies in metastatic colorectal cancer patients.
17ERBB2ERBB2 AMPLIFICATIONCetuximabcolorectal cancerHER2 gene copy number status may influence clinical efficacy to anti-EGFR monoclonal antibodies in metastatic colorectal cancer patients.
18ERBB2ERBB2 AMPLIFICATIONCetuximab / capecitabine / Oxaliplatin combination therapycolorectal cancerHER2 in high-risk rectal cancer patients treated in EXPERT-C, a randomized phase II trial of neoadjuvant capecitabine and oxaliplatin (CAPOX) and chemoradiotherapy (CRT) with or without cetuximab.
19ERBB2ERBB2 AMPLIFICATIONCetuximabcolorectal cancerHER2 Amplification and Cetuximab Efficacy in Patients With Metastatic Colorectal Cancer Harboring Wild-type RAS and BRAF.
20ERBB2ERBB2 AMPLIFICATIONgefitinibadenocarcinoma of the lungAnalysis of tumor specimens at the time of acquired resistance to EGFR-TKI therapy in 155 patients with EGFR-mutant lung cancers.
21ERBB2ERBB2 AMPLIFICATIONerlotinibadenocarcinoma of the lungAnalysis of tumor specimens at the time of acquired resistance to EGFR-TKI therapy in 155 patients with EGFR-mutant lung cancers.
22KRASKRAS A146TCetuximabcolorectal cancerGenomic and biological characterization of exon 4 KRAS mutations in human cancer
23KRASKRAS A146TFOLFOX-4 / Cetuximab combination therapycolorectal cancerFOLFOX4 Plus Cetuximab for Patients With Previously Untreated Metastatic Colorectal Cancer According to Tumor RAS and BRAF Mutation Status: Updated Analysis of the CECOG/CORE 1.2.002 Study.
24KRASKRAS G12APanitumumabcolorectal cancerPIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies.
25KRASKRAS G12ACetuximabcolorectal cancerPIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies.
26KRASKRAS G12Aregorafenibcolorectal cancerKRAS exon 2 mutations influence activity of regorafenib in an SW48-based disease model of colorectal cancer.
27KRASKRAS G12Amelphalanmultiple myelomaReduction of serum IGF-I levels in patients affected with Monoclonal Gammopathies of undetermined significance or Multiple Myeloma. Comparison with bFGF, VEGF and K-ras gene mutation.
28KRASKRAS G12Amelphalanmultiple myelomaOncogenic RAS mutations in myeloma cells selectively induce cox-2 expression, which participates in enhanced adhesion to fibronectin and chemoresistance.
29KRASKRAS G12Amelphalanmultiple myelomaActivation of N-ras and K-ras induced by interleukin-6 in a myeloma cell line: implications for disease progression and therapeutic response.
..................
33KRASKRAS G12Aerlotinibadenocarcinoma of the lungClinical implications of KRAS mutations in lung cancer patients treated with tyrosine kinase inhibitors: an important role for mutations in minor clones
34KRASKRAS G12Cgefitinibcolorectal cancerThe dominant role of G12C over other KRAS mutation types in the negative prediction of efficacy of epidermal growth factor receptor tyrosine kinase inhibitors in non-small cell lung cancer.
35KRASKRAS G12Cerlotinibcolorectal cancerThe dominant role of G12C over other KRAS mutation types in the negative prediction of efficacy of epidermal growth factor receptor tyrosine kinase inhibitors in non-small cell lung cancer.
36KRASKRAS G12Cmelphalanmultiple myelomaOncogenic RAS mutations in myeloma cells selectively induce cox-2 expression, which participates in enhanced adhesion to fibronectin and chemoresistance.
37KRASKRAS G12Cmelphalanmultiple myelomaHeterogeneity in therapeutic response of genetically altered myeloma cell lines to interleukin 6, dexamethasone, doxorubicin, and melphalan.
38KRASKRAS G12Cgefitiniblung cancerPTEN and PIK3CA expression is associated with prolonged survival after gefitinib treatment in EGFR-mutated lung cancer patients.
39KRASKRAS G12DvemurafenibmelanomaAcquired resistance and clonal evolution in melanoma during BRAF inhibitor therapy
40KRASKRAS G12DPanitumumabcolorectal cancerPIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies.
41KRASKRAS G12DCetuximabcolorectal cancerPIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies.
42KRASKRAS G12Dvemurafenibhairy cell leukemiaTargeting Mutant BRAF in Relapsed or Refractory Hairy-Cell Leukemia
43KRASKRAS G12Dmelphalanmultiple myelomaOncogenic RAS mutations in myeloma cells selectively induce cox-2 expression, which participates in enhanced adhesion to fibronectin and chemoresistance.
44KRASKRAS G12Dmelphalanmultiple myelomaHeterogeneity in therapeutic response of genetically altered myeloma cell lines to interleukin 6, dexamethasone, doxorubicin, and melphalan.
45KRASKRAS G12Dgefitiniblung cancerPTEN and PIK3CA expression is associated with prolonged survival after gefitinib treatment in EGFR-mutated lung cancer patients.
46KRASKRAS G12RCetuximabcolorectal cancerEmergence of KRAS mutations and acquired resistance to anti-EGFR therapy in colorectal cancer
47KRASKRAS G12SPanitumumabcolorectal cancerPIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies.
48KRASKRAS G12SCetuximabcolorectal cancerPIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies.
49KRASKRAS G12Smelphalanmultiple myelomaOncogenic RAS mutations in myeloma cells selectively induce cox-2 expression, which participates in enhanced adhesion to fibronectin and chemoresistance.
50KRASKRAS G12Smelphalanmultiple myelomaActivation of N-ras and K-ras induced by interleukin-6 in a myeloma cell line: implications for disease progression and therapeutic response.
51KRASKRAS G12Smelphalanmultiple myelomaHeterogeneity in therapeutic response of genetically altered myeloma cell lines to interleukin 6, dexamethasone, doxorubicin, and melphalan.
52KRASKRAS G12Sgefitiniblung cancerPTEN and PIK3CA expression is associated with prolonged survival after gefitinib treatment in EGFR-mutated lung cancer patients.
53KRASKRAS G12VcrizotinibcancerDurable Response to Crizotinib in a MET-Amplified, KRAS-Mutated Carcinoma of Unknown Primary.
54KRASKRAS G12VPanitumumabcolorectal cancerPIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies.
55KRASKRAS G12VCetuximabcolorectal cancerPIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies.
56KRASKRAS G12VCetuximabcolorectal cancerAssociation of KRAS p.G13D mutation with outcome in patients with chemotherapy-refractory metastatic colorectal cancer treated with cetuximab.
57KRASKRAS G12Vgefitiniblung cancerPTEN and PIK3CA expression is associated with prolonged survival after gefitinib treatment in EGFR-mutated lung cancer patients.
58KRASKRAS G13DPanitumumabcolorectal cancerPIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies.
59KRASKRAS G13DCetuximabcolorectal cancerPIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies.
60KRASKRAS G13DCetuximabcolorectal cancerPhase II study of single-agent cetuximab in KRAS G13D mutant metastatic colorectal cancer.
61KRASKRAS G13DCetuximabcolorectal cancerCetuximab treatment for metastatic colorectal cancer with KRAS p.G13D mutations improves progression-free survival.
62KRASKRAS G13DCetuximabcolorectal cancerMeta-analysis comparing the efficacy of anti-EGFR monoclonal antibody therapy between KRAS G13D and other KRAS mutant metastatic colorectal cancer tumours.
\n", "

63 rows × 5 columns

\n", "
" ], "text/plain": [ " geneSymbol.value variantLabel.value \\\n", "0 BRAF BRAF V600E \n", "1 BRAF BRAF V600E \n", "2 BRAF BRAF V600E \n", "3 BRAF BRAF V600E \n", "4 BRAF BRAF V600E \n", "5 BRAF BRAF V600E \n", "6 BRAF BRAF V600E \n", "7 BRAF BRAF V600E \n", "8 BRAF BRAF V600E \n", "9 BRAF BRAF V600E \n", "10 BRAF BRAF V600E \n", "11 EGFR EGFR G465R \n", "12 EGFR EGFR G465R \n", "13 EGFR EGFR AMPLIFICATION \n", "14 EGFR EGFR AMPLIFICATION \n", "15 ERBB2 ERBB2 AMPLIFICATION \n", "16 ERBB2 ERBB2 AMPLIFICATION \n", "17 ERBB2 ERBB2 AMPLIFICATION \n", "18 ERBB2 ERBB2 AMPLIFICATION \n", "19 ERBB2 ERBB2 AMPLIFICATION \n", "20 ERBB2 ERBB2 AMPLIFICATION \n", "21 ERBB2 ERBB2 AMPLIFICATION \n", "22 KRAS KRAS A146T \n", "23 KRAS KRAS A146T \n", "24 KRAS KRAS G12A \n", "25 KRAS KRAS G12A \n", "26 KRAS KRAS G12A \n", "27 KRAS KRAS G12A \n", "28 KRAS KRAS G12A \n", "29 KRAS KRAS G12A \n", ".. ... ... \n", "33 KRAS KRAS G12A \n", "34 KRAS KRAS G12C \n", "35 KRAS KRAS G12C \n", "36 KRAS KRAS G12C \n", "37 KRAS KRAS G12C \n", "38 KRAS KRAS G12C \n", "39 KRAS KRAS G12D \n", "40 KRAS KRAS G12D \n", "41 KRAS KRAS G12D \n", "42 KRAS KRAS G12D \n", "43 KRAS KRAS G12D \n", "44 KRAS KRAS G12D \n", "45 KRAS KRAS G12D \n", "46 KRAS KRAS G12R \n", "47 KRAS KRAS G12S \n", "48 KRAS KRAS G12S \n", "49 KRAS KRAS G12S \n", "50 KRAS KRAS G12S \n", "51 KRAS KRAS G12S \n", "52 KRAS KRAS G12S \n", "53 KRAS KRAS G12V \n", "54 KRAS KRAS G12V \n", "55 KRAS KRAS G12V \n", "56 KRAS KRAS G12V \n", "57 KRAS KRAS G12V \n", "58 KRAS KRAS G13D \n", "59 KRAS KRAS G13D \n", "60 KRAS KRAS G13D \n", "61 KRAS KRAS G13D \n", "62 KRAS KRAS G13D \n", "\n", " treatmentLabel.value \\\n", "0 vemurafenib \n", "1 pd-0325901 \n", "2 trametinib \n", "3 Panitumumab \n", "4 Cetuximab \n", "5 Panitumumab \n", "6 Cetuximab \n", "7 Cetuximab \n", "8 Oxaliplatin \n", "9 irinotecan \n", "10 dabrafenib \n", "11 Panitumumab \n", "12 Cetuximab \n", "13 osimertinib \n", "14 rociletinib \n", "15 Cetuximab \n", "16 Panitumumab \n", "17 Cetuximab \n", "18 Cetuximab / capecitabine / Oxaliplatin combination therapy \n", "19 Cetuximab \n", "20 gefitinib \n", "21 erlotinib \n", "22 Cetuximab \n", "23 FOLFOX-4 / Cetuximab combination therapy \n", "24 Panitumumab \n", "25 Cetuximab \n", "26 regorafenib \n", "27 melphalan \n", "28 melphalan \n", "29 melphalan \n", ".. ... \n", "33 erlotinib \n", "34 gefitinib \n", "35 erlotinib \n", "36 melphalan \n", "37 melphalan \n", "38 gefitinib \n", "39 vemurafenib \n", "40 Panitumumab \n", "41 Cetuximab \n", "42 vemurafenib \n", "43 melphalan \n", "44 melphalan \n", "45 gefitinib \n", "46 Cetuximab \n", "47 Panitumumab \n", "48 Cetuximab \n", "49 melphalan \n", "50 melphalan \n", "51 melphalan \n", "52 gefitinib \n", "53 crizotinib \n", "54 Panitumumab \n", "55 Cetuximab \n", "56 Cetuximab \n", "57 gefitinib \n", "58 Panitumumab \n", "59 Cetuximab \n", "60 Cetuximab \n", "61 Cetuximab \n", "62 Cetuximab \n", "\n", " diseaseLabel.value \\\n", "0 melanoma \n", "1 melanoma \n", "2 melanoma \n", "3 colorectal cancer \n", "4 colorectal cancer \n", "5 colorectal cancer \n", "6 colorectal cancer \n", "7 colorectal cancer \n", "8 colorectal cancer \n", "9 colorectal cancer \n", "10 non-small-cell lung carcinoma \n", "11 colorectal cancer \n", "12 colorectal cancer \n", "13 non-small-cell lung carcinoma \n", "14 non-small-cell lung carcinoma \n", "15 colorectal cancer \n", "16 colorectal cancer \n", "17 colorectal cancer \n", "18 colorectal cancer \n", "19 colorectal cancer \n", "20 adenocarcinoma of the lung \n", "21 adenocarcinoma of the lung \n", "22 colorectal cancer \n", "23 colorectal cancer \n", "24 colorectal cancer \n", "25 colorectal cancer \n", "26 colorectal cancer \n", "27 multiple myeloma \n", "28 multiple myeloma \n", "29 multiple myeloma \n", ".. ... \n", "33 adenocarcinoma of the lung \n", "34 colorectal cancer \n", "35 colorectal cancer \n", "36 multiple myeloma \n", "37 multiple myeloma \n", "38 lung cancer \n", "39 melanoma \n", "40 colorectal cancer \n", "41 colorectal cancer \n", "42 hairy cell leukemia \n", "43 multiple myeloma \n", "44 multiple myeloma \n", "45 lung cancer \n", "46 colorectal cancer \n", "47 colorectal cancer \n", "48 colorectal cancer \n", "49 multiple myeloma \n", "50 multiple myeloma \n", "51 multiple myeloma \n", "52 lung cancer \n", "53 cancer \n", "54 colorectal cancer \n", "55 colorectal cancer \n", "56 colorectal cancer \n", "57 lung cancer \n", "58 colorectal cancer \n", "59 colorectal cancer \n", "60 colorectal cancer \n", "61 colorectal cancer \n", "62 colorectal cancer \n", "\n", " referenceLabel.value \n", "0 Loss of NF1 in cutaneous melanoma is associated with RAS activation and MEK dependence. \n", "1 Loss of NF1 in cutaneous melanoma is associated with RAS activation and MEK dependence. \n", "2 Loss of NF1 in cutaneous melanoma is associated with RAS activation and MEK dependence. \n", "3 Meta-analysis of BRAF mutation as a predictive biomarker of benefit from anti-EGFR monoclonal antibody therapy for RAS wild-type metastatic colorectal cancer \n", "4 Meta-analysis of BRAF mutation as a predictive biomarker of benefit from anti-EGFR monoclonal antibody therapy for RAS wild-type metastatic colorectal cancer \n", "5 Wild-type BRAF is required for response to panitumumab or cetuximab in metastatic colorectal cancer. \n", "6 Wild-type BRAF is required for response to panitumumab or cetuximab in metastatic colorectal cancer. \n", "7 Effects of KRAS, BRAF, NRAS, and PIK3CA mutations on the efficacy of cetuximab plus chemotherapy in chemotherapy-refractory metastatic colorectal cancer: a retrospective consortium analysis. \n", "8 Prognostic and predictive value of common mutations for treatment response and survival in patients with metastatic colorectal cancer. \n", "9 Prognostic and predictive value of common mutations for treatment response and survival in patients with metastatic colorectal cancer. \n", "10 Molecular characterization of acquired resistance to the BRAF inhibitor dabrafenib in a patient with BRAF-mutant non-small-cell lung cancer. \n", "11 The First-in-class Anti-EGFR Antibody Mixture Sym004 Overcomes Cetuximab Resistance Mediated by EGFR Extracellular Domain Mutations in Colorectal Cancer. \n", "12 The First-in-class Anti-EGFR Antibody Mixture Sym004 Overcomes Cetuximab Resistance Mediated by EGFR Extracellular Domain Mutations in Colorectal Cancer. \n", "13 Amplification of EGFR Wild-Type Alleles in Non-Small Cell Lung Cancer Cells Confers Acquired Resistance to Mutation-Selective EGFR Tyrosine Kinase Inhibitors. \n", "14 Amplification of EGFR Wild-Type Alleles in Non-Small Cell Lung Cancer Cells Confers Acquired Resistance to Mutation-Selective EGFR Tyrosine Kinase Inhibitors. \n", "15 A molecularly annotated platform of patient-derived xenografts (\"xenopatients\") identifies HER2 as an effective therapeutic target in cetuximab-resistant colorectal cancer. \n", "16 HER2 gene copy number status may influence clinical efficacy to anti-EGFR monoclonal antibodies in metastatic colorectal cancer patients. \n", "17 HER2 gene copy number status may influence clinical efficacy to anti-EGFR monoclonal antibodies in metastatic colorectal cancer patients. \n", "18 HER2 in high-risk rectal cancer patients treated in EXPERT-C, a randomized phase II trial of neoadjuvant capecitabine and oxaliplatin (CAPOX) and chemoradiotherapy (CRT) with or without cetuximab. \n", "19 HER2 Amplification and Cetuximab Efficacy in Patients With Metastatic Colorectal Cancer Harboring Wild-type RAS and BRAF. \n", "20 Analysis of tumor specimens at the time of acquired resistance to EGFR-TKI therapy in 155 patients with EGFR-mutant lung cancers. \n", "21 Analysis of tumor specimens at the time of acquired resistance to EGFR-TKI therapy in 155 patients with EGFR-mutant lung cancers. \n", "22 Genomic and biological characterization of exon 4 KRAS mutations in human cancer \n", "23 FOLFOX4 Plus Cetuximab for Patients With Previously Untreated Metastatic Colorectal Cancer According to Tumor RAS and BRAF Mutation Status: Updated Analysis of the CECOG/CORE 1.2.002 Study. \n", "24 PIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies. \n", "25 PIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies. \n", "26 KRAS exon 2 mutations influence activity of regorafenib in an SW48-based disease model of colorectal cancer. \n", "27 Reduction of serum IGF-I levels in patients affected with Monoclonal Gammopathies of undetermined significance or Multiple Myeloma. Comparison with bFGF, VEGF and K-ras gene mutation. \n", "28 Oncogenic RAS mutations in myeloma cells selectively induce cox-2 expression, which participates in enhanced adhesion to fibronectin and chemoresistance. \n", "29 Activation of N-ras and K-ras induced by interleukin-6 in a myeloma cell line: implications for disease progression and therapeutic response. \n", ".. ... \n", "33 Clinical implications of KRAS mutations in lung cancer patients treated with tyrosine kinase inhibitors: an important role for mutations in minor clones \n", "34 The dominant role of G12C over other KRAS mutation types in the negative prediction of efficacy of epidermal growth factor receptor tyrosine kinase inhibitors in non-small cell lung cancer. \n", "35 The dominant role of G12C over other KRAS mutation types in the negative prediction of efficacy of epidermal growth factor receptor tyrosine kinase inhibitors in non-small cell lung cancer. \n", "36 Oncogenic RAS mutations in myeloma cells selectively induce cox-2 expression, which participates in enhanced adhesion to fibronectin and chemoresistance. \n", "37 Heterogeneity in therapeutic response of genetically altered myeloma cell lines to interleukin 6, dexamethasone, doxorubicin, and melphalan. \n", "38 PTEN and PIK3CA expression is associated with prolonged survival after gefitinib treatment in EGFR-mutated lung cancer patients. \n", "39 Acquired resistance and clonal evolution in melanoma during BRAF inhibitor therapy \n", "40 PIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies. \n", "41 PIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies. \n", "42 Targeting Mutant BRAF in Relapsed or Refractory Hairy-Cell Leukemia \n", "43 Oncogenic RAS mutations in myeloma cells selectively induce cox-2 expression, which participates in enhanced adhesion to fibronectin and chemoresistance. \n", "44 Heterogeneity in therapeutic response of genetically altered myeloma cell lines to interleukin 6, dexamethasone, doxorubicin, and melphalan. \n", "45 PTEN and PIK3CA expression is associated with prolonged survival after gefitinib treatment in EGFR-mutated lung cancer patients. \n", "46 Emergence of KRAS mutations and acquired resistance to anti-EGFR therapy in colorectal cancer \n", "47 PIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies. \n", "48 PIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies. \n", "49 Oncogenic RAS mutations in myeloma cells selectively induce cox-2 expression, which participates in enhanced adhesion to fibronectin and chemoresistance. \n", "50 Activation of N-ras and K-ras induced by interleukin-6 in a myeloma cell line: implications for disease progression and therapeutic response. \n", "51 Heterogeneity in therapeutic response of genetically altered myeloma cell lines to interleukin 6, dexamethasone, doxorubicin, and melphalan. \n", "52 PTEN and PIK3CA expression is associated with prolonged survival after gefitinib treatment in EGFR-mutated lung cancer patients. \n", "53 Durable Response to Crizotinib in a MET-Amplified, KRAS-Mutated Carcinoma of Unknown Primary. \n", "54 PIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies. \n", "55 PIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies. \n", "56 Association of KRAS p.G13D mutation with outcome in patients with chemotherapy-refractory metastatic colorectal cancer treated with cetuximab. \n", "57 PTEN and PIK3CA expression is associated with prolonged survival after gefitinib treatment in EGFR-mutated lung cancer patients. \n", "58 PIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies. \n", "59 PIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies. \n", "60 Phase II study of single-agent cetuximab in KRAS G13D mutant metastatic colorectal cancer. \n", "61 Cetuximab treatment for metastatic colorectal cancer with KRAS p.G13D mutations improves progression-free survival. \n", "62 Meta-analysis comparing the efficacy of anti-EGFR monoclonal antibody therapy between KRAS G13D and other KRAS mutant metastatic colorectal cancer tumours. \n", "\n", "[63 rows x 5 columns]" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "my_query = \"\"\"\n", "PREFIX : \n", "PREFIX wdt: \n", "PREFIX owl: \n", "PREFIX pq: \n", "PREFIX ps: \n", "PREFIX pr: \n", "PREFIX p: \n", "PREFIX prov: \n", "PREFIX wikibase: \n", "PREFIX bd: \n", "PREFIX rdfs: \n", "select distinct ?geneSymbol ?variantLabel ?treatmentLabel ?diseaseLabel ?referenceLabel\n", "\n", "where {\n", "\n", " SERVICE {\n", " ?variant wdt:P3329 ?id .\n", " ?variant p:P3355 [ ps:P3355 ?treatment ; \n", " pq:P2175 ?disease ;\n", " prov:wasDerivedFrom ?source ].\n", " ?source pr:P248 ?reference \n", "\n", " SERVICE wikibase:label { \n", " bd:serviceParam wikibase:language \"en\" . \n", " ?variant rdfs:label ?variantLabel .\n", " ?treatment rdfs:label ?treatmentLabel .\n", " ?disease rdfs:label ?diseaseLabel .\n", " ?reference rdfs:label ?referenceLabel\n", " }\n", " }\n", "\n", "\n", " ?case a :Case ;\n", " :hasDescendant ?mouse ;\n", " :hasDescendant ?node .\n", " ?mouse a :Biomouse ;\n", " :has_annotation ?ann .\n", " ?ann :has_reference ?ref .\n", " ?ref a :drug_response .\n", " ?node :has_annotation ?ann2 .\n", " ?ann2 :has_reference ?variant .\n", " ?gene :has_variant ?variant.\n", " OPTIONAL {?variant :alt_p ?alt_p }\n", " ?gene :symbol ?geneSymbol\n", " VALUES ?geneSymbol {'KRAS' 'EGFR' 'BRAF' 'ERBB2'}\n", " ?variant a ?annotation_Type.\n", " VALUES ?annotation_Type { :sequence_alteration :feature_amplification }\n", "}\n", "order by ?geneSymbol\n", "\"\"\"\n", "\n", "# get data\n", "result_table = utils.query(SEMALYTICS_ENDPOINT, my_query)\n", "\n", "# there you go\n", "result_table[['geneSymbol.value', 'variantLabel.value', 'treatmentLabel.value', 'diseaseLabel.value', 'referenceLabel.value']]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "### Drugs predictions for a specific case\n", "\n", "We can use the connection to Wikidata for querying evidences of drug responses predictions (i.e., positive or negative) associated with variants harbored by a specific case (i.e., _id=CRC0481_)\n", "\n", "**Positive responses predictions**" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
geneSymbol.valuevariantLabel.valuetreatmentLabel.valuediseaseLabel.valuereferenceLabel.value
0EGFREGFR AMPLIFICATIONCetuximab / platinum / fluorouracil combination therapyhead and neck squamous cell carcinomaEvaluation of EGFR gene copy number as a predictive biomarker for the efficacy of cetuximab in combination with chemotherapy in the first-line treatment of recurrent and/or metastatic squamous cell carcinoma of the head and neck: EXTREME study.
1EGFREGFR AMPLIFICATIONCetuximabcolorectal cancerClinical usefulness of EGFR gene copy number as a predictive marker in colorectal cancer patients treated with cetuximab: a fluorescent in situ hybridization study.
2EGFREGFR AMPLIFICATIONPanitumumabcolorectal cancerEGFR gene copy number as a predictive biomarker for resistance to anti-EGFR monoclonal antibodies in metastatic colorectal cancer treatment: a meta-analysis.
3EGFREGFR AMPLIFICATIONCetuximabcolorectal cancerEGFR gene copy number as a predictive biomarker for resistance to anti-EGFR monoclonal antibodies in metastatic colorectal cancer treatment: a meta-analysis.
4EGFREGFR AMPLIFICATIONEGFR inhibitornon-small-cell lung carcinomaEGFR gene copy number as a predictive biomarker for patients receiving tyrosine kinase inhibitor treatment: a systematic review and meta-analysis in non-small-cell lung cancer.
5EGFREGFR AMPLIFICATIONgefitinibnon-small-cell lung carcinomaEpidermal Growth Factor Receptor Gene Amplification in Patients with Advanced-stage NSCLC.
6EGFREGFR AMPLIFICATIONerlotinibnon-small-cell lung carcinomaEpidermal Growth Factor Receptor Gene Amplification in Patients with Advanced-stage NSCLC.
7KRASKRAS G13DCetuximabcolorectal cancerAssociation of KRAS p.G13D mutation with outcome in patients with chemotherapy-refractory metastatic colorectal cancer treated with cetuximab.
8KRASKRAS G13Dselumetinib / dactolisib combination therapycolorectal cancerInhibition of MEK and PI3K/mTOR suppresses tumor growth but does not cause tumor regression in patient-derived xenografts of RAS-mutant colorectal carcinomas.
\n", "
" ], "text/plain": [ " geneSymbol.value variantLabel.value \\\n", "0 EGFR EGFR AMPLIFICATION \n", "1 EGFR EGFR AMPLIFICATION \n", "2 EGFR EGFR AMPLIFICATION \n", "3 EGFR EGFR AMPLIFICATION \n", "4 EGFR EGFR AMPLIFICATION \n", "5 EGFR EGFR AMPLIFICATION \n", "6 EGFR EGFR AMPLIFICATION \n", "7 KRAS KRAS G13D \n", "8 KRAS KRAS G13D \n", "\n", " treatmentLabel.value \\\n", "0 Cetuximab / platinum / fluorouracil combination therapy \n", "1 Cetuximab \n", "2 Panitumumab \n", "3 Cetuximab \n", "4 EGFR inhibitor \n", "5 gefitinib \n", "6 erlotinib \n", "7 Cetuximab \n", "8 selumetinib / dactolisib combination therapy \n", "\n", " diseaseLabel.value \\\n", "0 head and neck squamous cell carcinoma \n", "1 colorectal cancer \n", "2 colorectal cancer \n", "3 colorectal cancer \n", "4 non-small-cell lung carcinoma \n", "5 non-small-cell lung carcinoma \n", "6 non-small-cell lung carcinoma \n", "7 colorectal cancer \n", "8 colorectal cancer \n", "\n", " referenceLabel.value \n", "0 Evaluation of EGFR gene copy number as a predictive biomarker for the efficacy of cetuximab in combination with chemotherapy in the first-line treatment of recurrent and/or metastatic squamous cell carcinoma of the head and neck: EXTREME study. \n", "1 Clinical usefulness of EGFR gene copy number as a predictive marker in colorectal cancer patients treated with cetuximab: a fluorescent in situ hybridization study. \n", "2 EGFR gene copy number as a predictive biomarker for resistance to anti-EGFR monoclonal antibodies in metastatic colorectal cancer treatment: a meta-analysis. \n", "3 EGFR gene copy number as a predictive biomarker for resistance to anti-EGFR monoclonal antibodies in metastatic colorectal cancer treatment: a meta-analysis. \n", "4 EGFR gene copy number as a predictive biomarker for patients receiving tyrosine kinase inhibitor treatment: a systematic review and meta-analysis in non-small-cell lung cancer. \n", "5 Epidermal Growth Factor Receptor Gene Amplification in Patients with Advanced-stage NSCLC. \n", "6 Epidermal Growth Factor Receptor Gene Amplification in Patients with Advanced-stage NSCLC. \n", "7 Association of KRAS p.G13D mutation with outcome in patients with chemotherapy-refractory metastatic colorectal cancer treated with cetuximab. \n", "8 Inhibition of MEK and PI3K/mTOR suppresses tumor growth but does not cause tumor regression in patient-derived xenografts of RAS-mutant colorectal carcinomas. " ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "my_query = \"\"\"\n", "PREFIX : \n", "PREFIX wdt: \n", "PREFIX owl: \n", "PREFIX pq: \n", "PREFIX ps: \n", "PREFIX pr: \n", "PREFIX p: \n", "PREFIX prov: \n", "PREFIX wikibase: \n", "PREFIX bd: \n", "PREFIX rdfs: \n", "select distinct ?geneSymbol ?variantLabel ?treatmentLabel ?diseaseLabel ?referenceLabel\n", "where {\n", " SERVICE {\n", " ?variant wdt:P3329 ?id .\n", " ?variant p:P3354 [ ps:P3354 ?treatment ; \n", " pq:P2175 ?disease ;\n", " prov:wasDerivedFrom ?source ].\n", " ?source pr:P248 ?reference\n", " \n", " SERVICE wikibase:label { \n", " bd:serviceParam wikibase:language \"en\" . \n", " ?variant rdfs:label ?variantLabel .\n", " ?treatment rdfs:label ?treatmentLabel .\n", " ?disease rdfs:label ?diseaseLabel .\n", " ?reference rdfs:label ?referenceLabel .\n", " }\n", " }\n", "\n", "\n", " :CRC0481 :hasDescendant ?node .\n", " ?node :has_annotation ?ann2 .\n", " ?ann2 :has_reference ?variant .\n", " ?gene :has_variant ?variant.\n", " OPTIONAL {?variant :alt_p ?alt_p }\n", " ?gene :symbol ?geneSymbol\n", " VALUES ?geneSymbol {'KRAS' 'EGFR' 'BRAF' 'ERBB2'}\n", " ?variant a ?annotation_Type.\n", " VALUES ?annotation_Type { :sequence_alteration :feature_amplification }\n", "}\n", "\n", "order by ?geneSymbol\n", "\n", "\"\"\"\n", "\n", "# get data\n", "result_table = utils.query(SEMALYTICS_ENDPOINT, my_query)\n", "\n", "# there you go\n", "result_table[['geneSymbol.value', 'variantLabel.value', 'treatmentLabel.value', 'diseaseLabel.value', 'referenceLabel.value']]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Negative responses predictions**" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
geneSymbol.valuevariantLabel.valuetreatmentLabel.valuediseaseLabel.valuereferenceLabel.value
0EGFREGFR AMPLIFICATIONosimertinibnon-small-cell lung carcinomaAmplification of EGFR Wild-Type Alleles in Non-Small Cell Lung Cancer Cells Confers Acquired Resistance to Mutation-Selective EGFR Tyrosine Kinase Inhibitors.
1EGFREGFR AMPLIFICATIONrociletinibnon-small-cell lung carcinomaAmplification of EGFR Wild-Type Alleles in Non-Small Cell Lung Cancer Cells Confers Acquired Resistance to Mutation-Selective EGFR Tyrosine Kinase Inhibitors.
2KRASKRAS G13DPanitumumabcolorectal cancerPIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies.
3KRASKRAS G13DCetuximabcolorectal cancerPIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies.
4KRASKRAS G13DCetuximabcolorectal cancerPhase II study of single-agent cetuximab in KRAS G13D mutant metastatic colorectal cancer.
5KRASKRAS G13DCetuximabcolorectal cancerCetuximab treatment for metastatic colorectal cancer with KRAS p.G13D mutations improves progression-free survival.
6KRASKRAS G13DCetuximabcolorectal cancerMeta-analysis comparing the efficacy of anti-EGFR monoclonal antibody therapy between KRAS G13D and other KRAS mutant metastatic colorectal cancer tumours.
\n", "
" ], "text/plain": [ " geneSymbol.value variantLabel.value treatmentLabel.value \\\n", "0 EGFR EGFR AMPLIFICATION osimertinib \n", "1 EGFR EGFR AMPLIFICATION rociletinib \n", "2 KRAS KRAS G13D Panitumumab \n", "3 KRAS KRAS G13D Cetuximab \n", "4 KRAS KRAS G13D Cetuximab \n", "5 KRAS KRAS G13D Cetuximab \n", "6 KRAS KRAS G13D Cetuximab \n", "\n", " diseaseLabel.value \\\n", "0 non-small-cell lung carcinoma \n", "1 non-small-cell lung carcinoma \n", "2 colorectal cancer \n", "3 colorectal cancer \n", "4 colorectal cancer \n", "5 colorectal cancer \n", "6 colorectal cancer \n", "\n", " referenceLabel.value \n", "0 Amplification of EGFR Wild-Type Alleles in Non-Small Cell Lung Cancer Cells Confers Acquired Resistance to Mutation-Selective EGFR Tyrosine Kinase Inhibitors. \n", "1 Amplification of EGFR Wild-Type Alleles in Non-Small Cell Lung Cancer Cells Confers Acquired Resistance to Mutation-Selective EGFR Tyrosine Kinase Inhibitors. \n", "2 PIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies. \n", "3 PIK3CA mutations in colorectal cancer are associated with clinical resistance to EGFR-targeted monoclonal antibodies. \n", "4 Phase II study of single-agent cetuximab in KRAS G13D mutant metastatic colorectal cancer. \n", "5 Cetuximab treatment for metastatic colorectal cancer with KRAS p.G13D mutations improves progression-free survival. \n", "6 Meta-analysis comparing the efficacy of anti-EGFR monoclonal antibody therapy between KRAS G13D and other KRAS mutant metastatic colorectal cancer tumours. " ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "my_query = \"\"\"\n", "PREFIX : \n", "PREFIX wdt: \n", "PREFIX owl: \n", "PREFIX pq: \n", "PREFIX ps: \n", "PREFIX pr: \n", "PREFIX p: \n", "PREFIX prov: \n", "PREFIX wikibase: \n", "PREFIX bd: \n", "PREFIX rdfs: \n", "select distinct ?geneSymbol ?variantLabel ?treatmentLabel ?diseaseLabel ?referenceLabel\n", "where {\n", " SERVICE {\n", " ?variant wdt:P3329 ?id .\n", " ?variant p:P3355 [ ps:P3355 ?treatment ; \n", " pq:P2175 ?disease ;\n", " prov:wasDerivedFrom ?source ].\n", " ?source pr:P248 ?reference\n", " \n", " SERVICE wikibase:label { \n", " bd:serviceParam wikibase:language \"en\" . \n", " ?variant rdfs:label ?variantLabel .\n", " ?treatment rdfs:label ?treatmentLabel .\n", " ?disease rdfs:label ?diseaseLabel .\n", " ?reference rdfs:label ?referenceLabel .\n", " }\n", " }\n", "\n", "\n", " :CRC0481 :hasDescendant ?node .\n", " ?node :has_annotation ?ann2 .\n", " ?ann2 :has_reference ?variant .\n", " ?gene :has_variant ?variant.\n", " OPTIONAL {?variant :alt_p ?alt_p }\n", " ?gene :symbol ?geneSymbol\n", " VALUES ?geneSymbol {'KRAS' 'EGFR' 'BRAF' 'ERBB2'}\n", " ?variant a ?annotation_Type.\n", " VALUES ?annotation_Type { :sequence_alteration :feature_amplification }\n", "}\n", "\n", "order by ?geneSymbol\n", "\n", "\"\"\"\n", "\n", "# get data\n", "result_table = utils.query(SEMALYTICS_ENDPOINT, my_query)\n", "\n", "# there you go\n", "result_table[['geneSymbol.value', 'variantLabel.value', 'treatmentLabel.value', 'diseaseLabel.value', 'referenceLabel.value']]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## Appendix - PoC figures\n", "\n", "In this final section we list links between figures in the paper and queries or computations in this notebook." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Figure 4b (left)\n", "\n", "The **pie chart on the left** (i.e., response fractions in trees with no variants) can be obtained with the following query:" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
type.valuecases.value
0http://las.ircc.it/ontology/annotationplatform#DRCl_PD38
1http://las.ircc.it/ontology/annotationplatform#DRCl_SD58
2http://las.ircc.it/ontology/annotationplatform#DRCl_OR29
\n", "
" ], "text/plain": [ " type.value cases.value\n", "0 http://las.ircc.it/ontology/annotationplatform#DRCl_PD 38 \n", "1 http://las.ircc.it/ontology/annotationplatform#DRCl_SD 58 \n", "2 http://las.ircc.it/ontology/annotationplatform#DRCl_OR 29 " ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# response fractions in trees with no variants\n", "my_query = \"\"\"\n", "PREFIX : \n", "PREFIX onto: \n", "PREFIX sesame: \n", "select (count(distinct ?case) as ?cases) ?type\n", "from onto:disable-sameAs\n", "where {\n", " ?case a :Case ;\n", " :hasDescendant ?mouse .\n", " ?mouse a :Biomouse ;\n", " :has_annotation ?ann .\n", " ?ann :has_reference ?ref .\n", " ?ref sesame:directType ?type .\n", " filter not exists { \n", " ?case :hasDescendant ?node .\n", " ?node :has_annotation ?ann2 .\n", " ?ann2 :has_reference ?ref2 .\n", " ?gene :has_variant ?ref2.\n", " ?gene :symbol ?geneSymbol\n", " VALUES ?geneSymbol {'KRAS' 'EGFR' 'BRAF' 'ERBB2'}\n", " ?ref2 a ?annotation_Type.\n", " VALUES ?annotation_Type { :sequence_alteration :feature_amplification }\n", " }\n", "}\n", "group by ?type\n", "\"\"\"\n", "\n", "# get data\n", "result_table_no_var = utils.query(SEMALYTICS_ENDPOINT, my_query)\n", "\n", "result_table_no_var[['type.value','cases.value']]" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "results = [\n", " int(result_table_no_var[result_table_no_var['type.value'].str.contains('_OR')]['cases.value']),\n", " int(result_table_no_var[result_table_no_var['type.value'].str.contains('_SD')]['cases.value']),\n", " int(result_table_no_var[result_table_no_var['type.value'].str.contains('_PD')]['cases.value'])\n", "]\n", "\n", "d = {'response_type': ['response', 'neutral', 'progression'], 'cases': results}\n", "df = pd.DataFrame(data=d)\n", "\n", "chart = df.plot.pie(y = 'cases',\n", " rot=0,\n", " #labels = df['response_type'], # labels\n", " labels = None,\n", " legend = False,\n", " figsize=(5, 5),\n", " colors=utils.response_colors(df['response_type']),\n", " title ='No variants' # title\n", " ).set_ylabel('')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Figure 4b (right)\n", "We computed the **pie chart on the right** (responses of cases with 1+ variant(s)) in this [cell](#fig4br)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Figure 5a - Data matrix\n", "\n", "The data matrix in Figure 5a cotains several charts.\n", "\n", "* Row *Mutations only*: the three charts of the first row are the ones computed in cells of section [Matching `sequence_alteration` only](#mseqsubset)\n", "\n", "* Row _Amplifications only_: charts of this row are computed in cells of section [Matching `feature_amplification` only](#mamplsubset)\n", "\n", "* Row _All cases_: these charts are generated in cells of section [Matching annotations in the investigation set](#mset)\n", "\n", "### Figure 5b - Variants occurences\n", "\n", "This figure shows the distribution of variants detected in cases that did not respond to Cetuximab. In particular, data coming from the query presented in section [Variants of non-responders](#variantsnonresp) are sliced and diced in a pivot table to present distributions about:\n", "\n", "* altered genes\n", "* alteration types per gene (mutations or amplifications)\n", "* mutations detected per gene\n", "\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.0" } }, "nbformat": 4, "nbformat_minor": 2 }