Newer
Older
<div id="appWindow" (window:resize)="onResize($event)">
<div class="is-hidden-mobile fullheight" id="appContainer">
<app-fa-icons></app-fa-icons>
<app-network-empty-warning></app-network-empty-warning>
<app-group-warning></app-group-warning>
<app-parser-warning></app-parser-warning>
<app-privacy-banner></app-privacy-banner>
<app-launch-analysis
[(show)]="showAnalysisDialog"
[target]="analysisDialogTarget"
<app-add-expressed-proteins
[(show)]="showThresholdDialog"
[selectedTissue]="networkHandler.activeNetwork.currentViewSelectedTissue"
[visibleNodes]="networkHandler.activeNetwork.currentViewNodes"
[currentViewProteins]="networkHandler.activeNetwork.currentViewProteins"
[expressionMap]="networkHandler.activeNetwork.expressionMap"
>
</app-add-expressed-proteins>
<!-- Start explorer -->
<div
class="drugstone explorer columns is-gapless"
[ngClass]="{
'is-flex-direction-row-reverse':
drugstoneConfig.config.showSidebar === 'right'
}"
>

Hartung, Michael
committed
<div
class="drugstone sidebar column"
*ngIf="drugstoneConfig.config.showSidebar"
>
<app-summary-node *ngIf="drugstoneConfig.config.showItemSelector"></app-summary-node>
<app-network-overview *ngIf="drugstoneConfig.config.showOverview"></app-network-overview>
*ngIf="drugstoneConfig.config.showQuery"
[ngClass]="{ 'b-text-small': drugstoneConfig.smallStyle }"
<header class="card-header">
<p class="card-header-title">
<app-fa-solid-icon icon="search"></app-fa-solid-icon>
<a
(click)="collapseQuery = !collapseQuery"
data-action="collapse"
class="card-header-icon is-hidden-fullscreen"
aria-label="more options"
>
<app-fa-solid-icon
*ngIf="collapseQuery"
icon="angle-down"
></app-fa-solid-icon>
<app-fa-solid-icon
*ngIf="!collapseQuery"
icon="angle-left"
></app-fa-solid-icon>
</a>
</header>
<div *ngIf="collapseQuery">
<div class="card-content">
<div class="field">
<div class="control">
<app-query-tile-component
(selectItem)="queryAction($event)"
[queryItems]="networkHandler.activeNetwork.queryItems"
<app-quick-drug-target
*ngIf="drugstoneConfig.config.showConnectGenes"
(taskEvent)="emitTaskEvent($event)"
></app-quick-drug-target>
<app-quick-drug
*ngIf="drugstoneConfig.config.showSimpleAnalysis"
(taskEvent)="emitTaskEvent($event)"
></app-quick-drug>
<div
*ngIf="drugstoneConfig.config.showAdvAnalysis"
class="card bar-large"
>
[ngClass]="{ 'b-text-small': drugstoneConfig.smallStyle }"
<app-fa-solid-icon icon="flask"></app-fa-solid-icon>
<a
(click)="collapseAnalysis = !collapseAnalysis"
data-action="collapse"
class="card-header-icon is-hidden-fullscreen"
aria-label="more options"
>
<app-fa-solid-icon
*ngIf="collapseAnalysis"
icon="angle-down"
></app-fa-solid-icon>
<app-fa-solid-icon
*ngIf="!collapseAnalysis"
icon="angle-left"
></app-fa-solid-icon>
</a>
</header>
<div *ngIf="collapseAnalysis">
<div class="card-content">
<div class="field" *ngIf="!drugstoneConfig.config.showAdvAnalysisContent || drugstoneConfig.config.showAdvAnalysisContent.includes('drug-target-search')">
<div
class="control"
pTooltip="Find drug targets for the selected proteins."

Hartung, Michael
committed
[tooltipStyleClass]="
'drgstn drgstn-tooltip drgstn-tooltip-top'
"
tooltipPosition="top"
>
<button
(click)="
analysisDialogTarget = 'drug-target';
showAnalysisDialog = true
"
class="button is-primary is-fullwidth is-rounded has-tooltip"
[disabled]="analysis.getCount() === 0"
[ngClass]="{ 'text-small': drugstoneConfig.smallStyle }"
<app-fa-solid-icon icon="crosshairs" classString="first-item-in-button"></app-fa-solid-icon>
<span>{{ drugstoneConfig.config.taskTargetName }}</span>
<div class="field" *ngIf="!drugstoneConfig.config.showAdvAnalysisContent || drugstoneConfig.config.showAdvAnalysisContent.includes('drug-search')">
<div
class="control"
pTooltip="Find drugs for the selected proteins."

Hartung, Michael
committed
[tooltipStyleClass]="
'drgstn drgstn-tooltip drgstn-tooltip-top'
"
tooltipPosition="top"
>
<button
(click)="
analysisDialogTarget = 'drug'; showAnalysisDialog = true
"
class="button is-primary is-fullwidth is-rounded has-tooltip"
[disabled]="analysis.getCount() === 0"
[ngClass]="{ 'text-small': drugstoneConfig.smallStyle }"
AndiMajore
committed
<app-fa-solid-icon icon="capsules" classString="first-item-in-button"></app-fa-solid-icon>
{{ drugstoneConfig.config.taskDrugName }}
AndiMajore
committed
<div class="field" *ngIf="!drugstoneConfig.config.showAdvAnalysisContent || drugstoneConfig.config.showAdvAnalysisContent.includes('enrichment-gprofiler')">
<a
*ngIf="analysis.getCount() > 0"
(click)="openExternal(gProfilerLink())"
[ngClass]="{ 'text-small': drugstoneConfig.smallStyle }"
class="button is-primary is-fullwidth is-rounded has-tooltip"
pTooltip="Use enrichment analysis via g:Profiler (external)."

Hartung, Michael
committed
[tooltipStyleClass]="
'drgstn drgstn-tooltip drgstn-tooltip-top'
"
<app-fa-solid-icon
classString="first-item-in-button"
icon="external-link-alt"
></app-fa-solid-icon>
<span
[ngClass]="{ 'text-small': drugstoneConfig.smallStyle }"
>
g:Profiler Enrichment Analysis
<a
*ngIf="analysis.getCount() === 0"
disabled
[ngClass]="{ 'text-small': drugstoneConfig.smallStyle }"
class="button is-primary is-fullwidth is-rounded has-tooltip"
pTooltip="Use enrichment analysis via g:Profiler (external)."

Hartung, Michael
committed
[tooltipStyleClass]="
'drgstn drgstn-tooltip drgstn-tooltip-top'
"
<app-fa-solid-icon
icon="external-link-alt"
classString="first-item-in-button"
></app-fa-solid-icon>
<span
[ngClass]="{ 'text-small': drugstoneConfig.smallStyle }"
>
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
g:Profiler Enrichment Analysis
</span>
</a>
</div>
</div>
<div class="field" *ngIf="!drugstoneConfig.config.showAdvAnalysisContent || drugstoneConfig.config.showAdvAnalysisContent.includes('enrichment-digest')">
<div class="control">
<a
*ngIf="analysis.getCount() > 0"
(click)="openDigest()"
target="_blank"
[ngClass]="{ 'text-small': drugstoneConfig.smallStyle }"
class="button is-primary is-fullwidth is-rounded has-tooltip"
pTooltip="Use enrichment analysis via DIGEST (external)."
[tooltipStyleClass]="
'drgstn drgstn-tooltip drgstn-tooltip-top'
"
tooltipPosition="top"
>
<app-fa-solid-icon
classString="first-item-in-button"
icon="external-link-alt"
></app-fa-solid-icon>
<span
[ngClass]="{ 'text-small': drugstoneConfig.smallStyle }"
>
DIGEST Enrichment Analysis
</span>
</a>
<a
*ngIf="analysis.getCount() === 0"
disabled
[ngClass]="{ 'text-small': drugstoneConfig.smallStyle }"
class="button is-primary is-fullwidth is-rounded has-tooltip"
pTooltip="Use enrichment analysis via DIGEST (external)."
[tooltipStyleClass]="
'drgstn drgstn-tooltip drgstn-tooltip-top'
"
tooltipPosition="top"
>
<app-fa-solid-icon
icon="external-link-alt"
classString="first-item-in-button"
></app-fa-solid-icon>
<span
[ngClass]="{ 'text-small': drugstoneConfig.smallStyle }"
>
DIGEST Enrichment Analysis
<div *ngIf="drugstoneConfig.config.showTasks" class="card bar-large">
[ngClass]="{ 'b-text-small': drugstoneConfig.smallStyle }"
<app-fa-solid-icon icon="tasks"></app-fa-solid-icon>
Tasks ({{ analysis.tasks != null ? analysis.tasks.length : 0 }})
<a
(click)="collapseTask = !collapseTask"
data-action="collapse"
class="card-header-icon is-hidden-fullscreen"
aria-label="more options"
>
<app-fa-solid-icon
*ngIf="collapseTask"
icon="angle-down"
></app-fa-solid-icon>
<app-fa-solid-icon
*ngIf="!collapseTask"
icon="angle-left"
></app-fa-solid-icon>
</a>
</header>
<div *ngIf="collapseTask">
<div
class="card-content overflow task-list-container"
*ngIf="analysis.tasks && analysis.tasks.length > 0"
>
<app-task-list [(token)]="selectedAnalysisToken"></app-task-list>
<a
*ngIf="analysis.tasks && analysis.tasks.length > 0"
(click)="
analysis.removeAllTasks(); selectedAnalysisToken = null
"
class="card-footer-item has-text-danger"
[tooltipStyleClass]="'drgstn drgstn-tooltip drgstn-tooltip-top'"
<app-fa-solid-icon icon="trash"></app-fa-solid-icon>
<div
*ngIf="drugstoneConfig.config.showSelection"
class="card bar-large"
>
[ngClass]="{ 'b-text-small': drugstoneConfig.smallStyle }"
<app-fa-solid-icon icon="filter"></app-fa-solid-icon>
<a
(click)="collapseSelection = !collapseSelection"
data-action="collapse"
class="card-header-icon is-hidden-fullscreen"
aria-label="more options"
>
<app-fa-solid-icon
*ngIf="collapseSelection"
icon="angle-down"
></app-fa-solid-icon>
<app-fa-solid-icon
*ngIf="!collapseSelection"
icon="angle-left"
></app-fa-solid-icon>
</a>
</header>
<div
*ngIf="collapseSelection"
class="seed-selection"
[ngClass]="{ 'text-normal': 'drugstoneConfig.smallStyle' }"
<div class="card-content">
<table
class="table selection-table"
*ngIf="analysis.getCount() > 0"
>
<thead>
AndiMajore
committed
<tr>
<td>Label</td>
<td>Group</td>
<td *ngIf="drugstoneConfig.currentConfig().identifier !== 'symbol'">
AndiMajore
committed
Symbol
</td>
<td *ngIf="drugstoneConfig.currentConfig().identifier !== 'uniprot'">
AndiMajore
committed
Uniprot
</td>
<td>Actions</td>
</tr>
<tbody class="overflow">
AndiMajore
committed
<tr *ngFor="let p of analysis.getSelection()">
<td>
<p class="is-capitalized">{{ p.data.label }}</p>
</td>
<td>
<p>
{{
drugstoneConfig.currentConfig().nodeGroups[p.data['_group']][
AndiMajore
committed
"groupName"
]
}}
</p>
</td>
<td *ngIf="drugstoneConfig.currentConfig().identifier !== 'symbol'">
AndiMajore
committed
<p>{{ p.data.symbol }}</p>
</td>
<td
*ngIf="drugstoneConfig.currentConfig().identifier !== 'uniprot'"
AndiMajore
committed
class="uniprot"
AndiMajore
committed
>
AndiMajore
committed
</td>
<td style="text-align: center">
AndiMajore
committed
<button
(click)="analysis.removeItems([p])"
class="button is-small is-danger is-outlined has-tooltip"
[tooltipStyleClass]="'drgstn drgstn-tooltip drgstn-tooltip-top'"
AndiMajore
committed
tooltipPosition="top"
pTooltip="Remove from selection."
AndiMajore
committed
<app-fa-solid-icon icon="trash"></app-fa-solid-icon>
</button>
</td>
</tr>
</tbody>
</table>
<i *ngIf="analysis.getCount() === 0">
Double-click on a node to select it for the analysis.
</i>
(click)="analysis.addAllToSelection()"
class="card-footer-item text-primary"
tooltipPosition="top"
pTooltip="Add all proteins to the selection."
>
<app-fa-solid-icon icon="plus"></app-fa-solid-icon>
<span> Add all </span>
</a>
</footer>
<footer class="card-footer">
<a
class="card-footer-item text-primary"
tooltipPosition="top"
pTooltip="Add all proteins to the selection."
>
<app-fa-solid-icon icon="plus"></app-fa-solid-icon>
<span class="is-fullwidth">
<app-group-selection
(selectGroupEmitter)="analysis.addGroupToSelection($event)"
[nodeGroups]="drugstoneConfig.currentConfig().nodeGroups"
></app-group-selection>
</span>
</a>
</footer>
<footer class="card-footer">
<a
(click)="
analysis.invertSelection(
networkHandler.activeNetwork.currentViewNodes
)
"
class="card-footer-item text-primary"
tooltipPosition="top"
pTooltip="Invert the current selection."
>
<app-fa-solid-icon icon="sync"></app-fa-solid-icon>
<a
*ngIf="analysis.getSelection().length"
(click)="analysis.resetSelection()"
class="card-footer-item has-text-danger"
tooltipPosition="top"
pTooltip="Remove all entries from the selection."
>
<app-fa-solid-icon icon="broom"></app-fa-solid-icon>
<!-- Start network block -->
<!-- analysis panel with analysis network -->
<div *ngIf="selectedAnalysisToken">
<app-analysis-panel
[(token)]="selectedAnalysisToken"
(showDetailsChange)="
networkHandler.activeNetwork.selectedWrapper = $event
"
(visibleItems)="analysisWindowChanged($event)"
></app-analysis-panel>
</div>
<app-network networkType="explorer" [nodeData]="nodeData"></app-network>
</div>
<!-- End network block -->
<div class="is-hidden-tablet mobile-fallback">
Sorry, drugstone is not available for mobile phones. To find information
about drugstone, please check the <a routerLink="/about">About</a> page
or visit this page with another device with a larger screen.