diff --git a/src/app/components/network/network.component.ts b/src/app/components/network/network.component.ts index 0a80a890974969c86802b27fa0f21b49768c05dc..7d06d5502a9db370b9104092ff2c2780a94dc497 100644 --- a/src/app/components/network/network.component.ts +++ b/src/app/components/network/network.component.ts @@ -84,14 +84,14 @@ export class NetworkComponent implements OnInit { public loading = false constructor( - public configService: DrugstoneConfigService, - public legendService: LegendService, - public networkHandler: NetworkHandlerService, - public analysis: AnalysisService, - public drugstoneConfig: DrugstoneConfigService, - public netex: NetexControllerService, - public omnipath: OmnipathControllerService, - public loadingScreen: LoadingScreenService) + public configService: DrugstoneConfigService, + public legendService: LegendService, + public networkHandler: NetworkHandlerService, + public analysis: AnalysisService, + public drugstoneConfig: DrugstoneConfigService, + public netex: NetexControllerService, + public omnipath: OmnipathControllerService, + public loadingScreen: LoadingScreenService) {} ngOnInit(): void { diff --git a/src/index_local_static.html b/src/index_local_static.html new file mode 100644 index 0000000000000000000000000000000000000000..b7e3ce069c8e3093f1bcbe12b9a01da553897061 --- /dev/null +++ b/src/index_local_static.html @@ -0,0 +1,209 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>Network Expander</title> +<!-- <base href="/">--> +<!-- <meta name="viewport" content="width=device-width, initial-scale=1.0">--> +<!-- <script type="text/javascript" src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>--> + <script src="../drugsTone-build/drugstone.js"></script> + <link rel="stylesheet" href="../drugsTone-build/styles.css"> +<!-- <link rel="stylesheet" type="text/css" href="./stylesheets/default-theme.css">--> +</head> +<body> + +<input type="checkbox" onclick=changeConfigStr('{"showOverview":'+this.checked+'}') checked /> Show overview<br> +<input type="checkbox" onclick=changeConfigStr('{"showQuery":'+this.checked+'}') /> Show query<br> +<!-- <input type="checkbox" onclick=changeConfigStr('{"showSidebar":'+this.checked+'}') checked /> Show sidebar<br> --> +<input type="checkbox" onclick=changeConfigStr('{"showItemSelector":'+this.checked+'}') checked /> Show ItemSelector<br> +<input type="checkbox" onclick=changeConfigStr('{"showSimpleAnalysis":'+this.checked+'}') /> Show SimpleAnalysis<br> +<input type="checkbox" onclick=changeConfigStr('{"showAdvAnalysis":'+this.checked+'}') checked /> Show Advanced Analysis<br> +<input type="checkbox" onclick=changeConfigStr('{"showTasks":'+this.checked+'}') checked /> Show Tasks<br> +<input type="checkbox" onclick=changeConfigStr('{"showSelection":'+this.checked+'}') checked /> Show Selection<br> +<input type="checkbox" onclick=changeConfigStr('{"showNetworkMenu":'+this.checked+'}') checked /> Show Footer<br> +<input type="checkbox" onclick=changeConfigStr('{"showLegend":'+this.checked+'}') checked /> Show Legend<br> +<input type="checkbox" onclick=changeConfigStr('{"showNetworkMenuButtonScreenshot":'+this.checked+'}') checked /> Show Screenshot button<br> +<input type="checkbox" onclick=changeConfigStr('{"showNetworkMenuButtonExportGraphml":'+this.checked+'}') checked /> Show Export As Graphml Button<br> + + +<input id="new_color" type="text" /> <button onclick=changeColor(document.getElementById("new_color").value) >Set Color </button> <br> +<button onclick=changeConfigStr('{"legendPos":"left"}') > Legend to Left </button> <br> +<button onclick=changeConfigStr('{"legendPos":"right"}') > Legend to Right </button> <br> +<button onclick=changeConfigStr('{"interactions":"omnipath"}') >Get Omnipath Interactions </button> <br> +<button onclick=changeConfigStr('{"showSidebar":false}') > Hide sidebar</button><br> +<button onclick=changeConfigStr('{"showSidebar":"left"}') > Mode sidebar to left</button><br> +<button onclick=changeConfigStr('{"showSidebar":"right"}') > Move sidebar to right</button><br> +<button onclick=changeConfigStr('{"showNetworkMenu":false}') > Hide networkMenu</button><br> +<button onclick=changeConfigStr('{"showNetworkMenu":"left"}') > Mode networkMenu to left</button><br> +<button onclick=changeConfigStr('{"showNetworkMenu":"right"}') > Move networkMenu to right</button><br> +<button onclick="initTaskEventListener()">Init Task-Eventlistener</button> <br> + +<input id="taskID" type="text" /> <button onclick=loadTaskID(document.getElementById("taskID").value) class="button is-primary" >Load TaskID</button> <br> + +<br> +<br> +<b>Datasets</b> +<div> + <i>Protein-Protein Interactions</i> + <select name="Protein-Protein Interactions" onchange="applyDataset()" id="ppi-dataset"> + <option value="NeDRex">NeDRex</option> + <option value="BioGRID">BioGRID</option> + <option value="IID">IID</option> + <option value="IntAct">IntAct</option> + <option value="STRING">STRING</option> + <option value="APID">APID</option> + </select> +</div> +<div> + <i>Drug-Protein Targets</i> + <select name="Drug-Protein Targets" onchange="applyDataset()" id="drpi-dataset"> + <option value="NeDRex">NeDRex</option> + <option value="DrugBank">DrugBank</option> + <option value="Drug Central">Drug Central</option> + <option value="ChEMBL">ChEMBL</option> + <option value="DGIdb">DGIdb</option> + </select> +</div> + +<div> + <i>Drug-Disorder Indications</i> + <select name="Drug-Disorder Indications" onchange="applyDataset()" id="drdi-dataset"> + <option value="NeDRex">NeDRex</option> + <option value="CTD">CTD</option> + <option value="Drug Central">Drug Central</option> + <option value="DrugBank">DrugBank</option> + </select> +</div> +<div> + <i>Protein-Disorder Associations</i> + <select name="Protein-Disorder Associations" onchange="applyDataset()" id="pdis-dataset"> + <option value="NeDRex">NeDRex</option> + <option value="DisGeNET">DisGeNET</option> + <option value="omim">OMIM</option> + </select> +</div> + +<!--<input type="checkbox" onclick=changeConfigStr('{"showSimpleAnalysis":'+this.checked+'}') checked /> Show SimpleAnalysis<br>--> + +<br> + +<button onclick="setNetwork('netexp1')">Add nodes</button> + +<div style="max-width: 80vw"> + + <drugst-one id="netexp1" + pluginId="2" + config='{"interactionDrugProtein":"NeDRex", "physicsOn":true, "showLeftSidebar": true, "showSimpleAnalysis":true, "nodeGroups":{"patient":{"type":"patient","color":"black","font":{"color":"#ffffff"},"groupName":"Patient","shape":"image","image":"https://static.thenounproject.com/png/22780-200.png"},"condition":{"type":"condition","color":"black","font":{"color":"black"},"groupName":"Condition","shape":"text"},"important":{"type":"gene","color":"#ff881f","font":{"color":"#000000"},"groupName":"Important Gene","shape":"star"},"gene":{"type":"gene","color":"#4da300","font":{"color":"#ffffff"},"groupName":"Gene","shape":"circle"},"foundDrug":{"type":"drug","color":{"border":"#F12590","background":"#F12590"},"font":{"color":"#f0f0f0"},"groupName":"Drug","shape":"diamond"}},"edgeGroups":{"genotype":{"color":"black","groupName":"Relevant Gene"},"has-condition":{"color":"#000000","groupName":"Has Condition","dashes":[2,2]},"default":{"color":"#000000","groupName":"default edge"},"ggi":{"color":"#000000","groupName":"Interaction","dashes":[3,2]}},"identifier":"symbol","title":"Breast cancer example network","nodeShadow":true,"edgeShadow":false,"autofillEdges":true,"showLegend":true}' + network='{"nodes":[{"id":"patient-1","group":"patient","x":592,"y":446},{"id":"patient-2","group":"patient","x":235,"y":87},{"id":"patient-3","group":"patient","x":105,"y":369},{"id":"ATM","label":"ATM","group":"gene","x":289,"y":242},{"id":"BARD1","label":"BARD1","group":"gene","x":44,"y":250},{"id":"BRCA1","label":"BRCA1","group":"gene","x":466,"y":576},{"id":"BRCA2","label":"BRCA2","group":"gene","x":507,"y":285},{"id":"BRIP1","label":"BRIP1","group":"gene","x":54,"y":474},{"id":"CHEK2","label":"CHEK2","group":"gene","x":216,"y":590},{"id":"CDH1","label":"CDH1","group":"gene","x":320,"y":-57},{"id":"NF1","label":"NF1","group":"gene","x":481,"y":111},{"id":"NBN","label":"NBN","group":"gene","x":-57,"y":314},{"id":"PALB2","label":"PALB2","group":"gene","x":450,"y":190},{"id":"PTEN","label":"PTEN","group":"important","x":305,"y":494},{"id":"RAD51C","label":"RAD51C","group":"gene","x":182,"y":-90},{"id":"RAD51D","label":"RAD51D","group":"gene","x":368,"y":73},{"id":"STK11","label":"STK11","group":"gene","x":686,"y":330},{"id":"TP53","label":"TP53","group":"important","x":333,"y":316},{"id":"subtype-1","label":"Subtype 1","group":"condition","x":556,"y":171},{"id":"subtype-2","label":"Subtype 2","group":"condition","x":-87,"y":221}],"edges":[{"from":"BRCA1","to":"BRCA2","group":"ggi"},{"from":"ATM","to":"BARD1","group":"ggi"},{"from":"BRCA1","to":"CHEK2","group":"ggi"},{"from":"RAD51C","to":"RAD51D","group":"ggi"},{"from":"STK11","to":"TP53","group":"ggi"},{"from":"TP53","to":"PALB2","group":"ggi"},{"from":"TP53","to":"RAD51D","group":"ggi"},{"from":"TP53","to":"NF1","group":"ggi"},{"from":"TP53","to":"BRCA1","group":"ggi"},{"from":"TP53","to":"BRCA2","group":"ggi"},{"from":"PTEN","to":"BRCA1","group":"ggi"},{"from":"PTEN","to":"BRCA2","group":"ggi"},{"from":"TP53","to":"PTEN","group":"ggi"},{"from":"ATM","to":"PTEN","group":"ggi"},{"from":"CDH1","to":"RAD51D","group":"ggi"},{"from":"CDH1","to":"PALB2","group":"ggi"},{"from":"NBN","to":"BRIP1","group":"ggi"},{"from":"BRIP1","to":"PTEN","group":"ggi"},{"from":"patient-1","to":"BRCA1","group":"genotype"},{"from":"patient-1","to":"TP53","group":"genotype"},{"from":"patient-1","to":"BRCA2","group":"genotype"},{"from":"patient-1","to":"PTEN","group":"genotype"},{"from":"patient-2","to":"TP53","group":"genotype"},{"from":"patient-2","to":"NF1","group":"genotype"},{"from":"patient-2","to":"BARD1","group":"genotype"},{"from":"patient-3","to":"TP53","group":"genotype"},{"from":"patient-3","to":"PTEN","group":"genotype"},{"from":"patient-3","to":"NBN","group":"genotype"},{"from":"patient-1","to":"subtype-1","group":"has-condition"},{"from":"patient-2","to":"subtype-1","group":"has-condition"},{"from":"patient-3","to":"subtype-2","group":"has-condition"}]}'> + </drugst-one> +</div> + +<!--<div >--> + +<!-- <network-expander id="netexp2"--> +<!-- pluginId="2"--> +<!-- config='{}' network='{"nodes":[], "edges":[]}'></network-expander>--> +<!--</div>--> + +<br> +<br> +<br> +<br> +<br> +<br> +<br> +<br> +<br> +<br> +<br> +<br> +<br> +<br> +<br> +<br> +<br> +<br> +<br> +<br> +<br> + + +<script> + + + function changeConfig() { + const netexp = document.getElementById('netexp1'); + netexp.setAttribute('config', '{"showLeftSidebar": false}'); + } + + function changeConfigStr(config) { + console.log(config); + const netexp = document.getElementById('netexp1'); + netexp.setAttribute('config', config); + } + + function initTaskEventListener(){ + document.getElementsByTagName("drugst-one")[0].addEventListener("taskEvent",(event)=>{console.log(event.detail)}) + } + + function applyDataset(){ + let ppi = document.getElementById('ppi-dataset') + setDataset('interactionProteinProtein',ppi.options[ppi.selectedIndex].value) + let drpi = document.getElementById('drpi-dataset') + setDataset('interactionDrugProtein', drpi.options[drpi.selectedIndex].value) + let drdi = document.getElementById('drdi-dataset') + setDataset('indicationDrugDisorder', drdi.options[drdi.selectedIndex].value) + let pdis = document.getElementById('pdis-dataset') + setDataset('associatedProteinDisorder', pdis.options[pdis.selectedIndex].value) + } + + function setDataset(name, dataset){ + // console.log(event) + console.log("Dataset "+name+" -> "+dataset) + const netexp = document.getElementById('netexp1'); + config = JSON.parse(netexp.getAttribute('config')) + console.log(config) + config[name]=dataset + changeConfigStr(JSON.stringify(config)) + } + + + function setNetwork(nw) { + const netexp = document.getElementById(nw); + + netexp.setAttribute('network', JSON.stringify({ + nodes: [ + { + name: "ENSG00000171862", + id: "ENSG00000171862", + group: "genes" + } + ], + edges: [ + + ] + })); + } + + function changeColor(hexacode) { + console.log(hexacode) + const elements_background_color = document.getElementsByClassName('is-primary'); + for(var i = 0; i < elements_background_color.length; i++){ + elements_background_color[i].setAttribute('style', `background-color: ${hexacode} !important; color: white !important; border-color: ${hexacode} !important`); + } + const elements_text = document.getElementsByClassName('text-primary'); + for(var i = 0; i < elements_text.length; i++){ + elements_text[i].setAttribute('style', `color: ${hexacode} !important`); + } + } + + function loadTaskID(token){ + console.log("Trying to load "+token) + const netexp = document.getElementById('netexp1'); + netexp.setAttribute('task-id', token); + + } + +</script> +</body> +</html> diff --git a/src/index_static.html b/src/index_static.html index 0c6ca0ba73903b5867d4b73f7d932f980dfb164b..d24bebea62ee4b66138ef4999837605a5d93dac3 100644 --- a/src/index_static.html +++ b/src/index_static.html @@ -6,8 +6,8 @@ <!-- <base href="/">--> <!-- <meta name="viewport" content="width=device-width, initial-scale=1.0">--> <!-- <script type="text/javascript" src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>--> - <script src="https://cdn.drugst.one/v1.0.6-rc3/prod/drugstone.js"></script> - <link rel="stylesheet" href="https://cdn.drugst.one/v1.0.6-rc3/prod/styles.css"> + <script src="https://cdn.drugst.one/v1.0.9-rc6/prod/drugstone.js"></script> + <link rel="stylesheet" href="https://cdn.drugst.one/v1.0.9-rc6/prod/styles.css"> <!-- <link rel="stylesheet" type="text/css" href="./stylesheets/default-theme.css">--> </head> <body>