Skip to content
Snippets Groups Projects
Commit b4f4aa8d authored by David Mendez's avatar David Mendez
Browse files

Eubopen report cards: show pref names for report card titles

parent 664638b5
No related branches found
No related tags found
1 merge request!24Improve report cards layout and remove some properties for now
...@@ -32,7 +32,9 @@ export default { ...@@ -32,7 +32,9 @@ export default {
} }
}, },
computed: mapState({ computed: mapState({
reportCardStructure: (state) => state.probeReportCard.reportCardStructure, reportCardStructure(state) {
return state[this.storeModuleName].reportCardStructure
},
}), }),
mounted() { mounted() {
const docSource = ['pref_name'] const docSource = ['pref_name']
...@@ -54,11 +56,11 @@ export default { ...@@ -54,11 +56,11 @@ export default {
prefName prefName
) )
this.$store.dispatch( this.$store.dispatch(
'probeReportCard/setReportCardStructure', `${this.storeModuleName}/setReportCardStructure`,
reportCardStructure reportCardStructure
) )
this.$store.dispatch('probeReportCard/setStructureReady', true) this.$store.dispatch(`${this.storeModuleName}/setStructureReady`, true)
}) })
.catch((error) => { .catch((error) => {
RequestNotifications.dispatchRequestErrorNotification( RequestNotifications.dispatchRequestErrorNotification(
......
...@@ -6,40 +6,27 @@ ...@@ -6,40 +6,27 @@
<template v-else> <template v-else>
<v-row dense> <v-row dense>
<v-col cols="12" md="7" lg="8"> <v-col cols="12" md="7" lg="8">
<v-card-subtitle>Overview</v-card-subtitle>
<v-divider />
<v-card-text>
<p class="yellow lighten-4">
The small YEATS protein domain is found in four human proteins,
including MLLT1 and MLLT3, and is an epigenetic reader of
acetyl-lysine histone marks. MLLT1 has been found to be a driver
of acute myeloid leukaemia. A collaboration between Pfizer and the
SGC has resulted in the discovery of PFI-6, a potent disrupter of
protein:protein interactions involving the YEATS domains of
MLLT1/3.
</p>
</v-card-text>
<template v-if="!showStructureImgLaterally"> <template v-if="!showStructureImgLaterally">
<v-divider /> <v-divider />
<v-card-subtitle>Structure</v-card-subtitle> <v-card-subtitle>Structure</v-card-subtitle>
<v-divider /> <v-divider />
<MoleculeImage :molecule-chembl-id="itemID" /> <MoleculeImage :molecule-chembl-id="itemID" />
</template> </template>
<v-divider />
<v-card-subtitle>Details</v-card-subtitle> <v-card-subtitle>Details</v-card-subtitle>
<v-divider /> <v-divider />
<v-card-text> <v-card-text>
<v-row class="details-row" dense> <v-row class="details-row yellow lighten-4" dense>
<v-col cols="12"> <v-col cols="12">
<b>Chemical Probe Name:</b> <b>CIDX ID:</b>
{{ getPropertyPalue(probeSummaryData, 'pref_name', '---') }} someID
</v-col> </v-col>
</v-row> </v-row>
<v-divider /> <v-divider />
<v-row class="details-row" dense> <v-row class="details-row" dense>
<v-col cols="12" class="yellow lighten-4"> <v-col cols="12">
<b>Negative control compound:</b> <b>Chemical Probe Name:</b>
PFI-6N {{ getPropertyPalue(probeSummaryData, 'pref_name', '---') }}
</v-col> </v-col>
</v-row> </v-row>
<v-divider /> <v-divider />
...@@ -53,62 +40,9 @@ ...@@ -53,62 +40,9 @@
</v-col> </v-col>
</v-row> </v-row>
<v-divider /> <v-divider />
<v-row class="details-row yellow lighten-4" dense>
<v-col cols="12">
<b>Recommended in vitro assay concentration:</b>
<p>
10 µM for PFI-6 and PFI-6N; use with negative control and
orthogonal probe for best interpretation of data
</p>
</v-col>
</v-row>
<v-divider />
<v-row class="details-row yellow lighten-4" dense>
<v-col cols="12">
<b>Web link for more details:</b>
<a
href="https://www.thesgc.org/chemical-probes/PFI-6"
target="_blank"
>https://www.thesgc.org/chemical-probes/PFI-6</a
>
</v-col>
</v-row>
<v-divider />
<v-row class="details-row yellow lighten-4" dense>
<v-col cols="12">
<b>Publications:</b>
None at the time of writing
</v-col>
</v-row>
<v-divider />
<v-row class="details-row yellow lighten-4" dense>
<v-col cols="12">
<b>Orthogonal chemical probes:</b>
NVS-MLLT-1
</v-col>
</v-row>
<v-divider />
<v-row class="details-row yellow lighten-4" dense>
<v-col cols="12">
<b>Cellular assay(s) for target-engagement:</b>
NanoBRET FRAP
</v-col>
</v-row>
<v-divider />
<v-row class="details-row yellow lighten-4" dense>
<v-col cols="12">
<b>Suitable for in vivo use:</b>
no
</v-col>
</v-row>
<v-divider />
</v-card-text> </v-card-text>
<v-card-actions> <v-card-actions class="d-flex justify-center">
<v-btn <v-btn
href="https://drive.google.com/file/d/1FQOGQxTdcIfTeM1Vq73vbHOEJ0ZptkHV/view?usp=sharing" href="https://drive.google.com/file/d/1FQOGQxTdcIfTeM1Vq73vbHOEJ0ZptkHV/view?usp=sharing"
color="primary" color="primary"
......
...@@ -8,8 +8,13 @@ ...@@ -8,8 +8,13 @@
<script> <script>
import { mapState } from 'vuex' import { mapState } from 'vuex'
import RequestNotifications from '@/web-components-submodule/utils/RequestNotifications.js'
import EntityReportCard from '~/web-components-submodule/components/common/ReportCards/EntityReportCard.vue' import EntityReportCard from '~/web-components-submodule/components/common/ReportCards/EntityReportCard.vue'
import TargetReportCardGenerator from '~/report_cards_structure/TargetReportCardGenerator.js' import TargetReportCardGenerator from '~/report_cards_structure/TargetReportCardGenerator.js'
import EntityNames from '~/web-components-submodule/standardisation/EntityNames.js'
import IndexNames from '~/web-components-submodule/standardisation/IndexNames.js'
import ESProxyService from '~/web-components-submodule/services/ESProxyService.js'
import ObjectPropertyAccess from '~/web-components-submodule/utils/ObjectPropertyAccess.js'
export default { export default {
components: { components: {
...@@ -27,16 +32,44 @@ export default { ...@@ -27,16 +32,44 @@ export default {
} }
}, },
computed: mapState({ computed: mapState({
reportCardStructure: (state) => state.targetReportCard.reportCardStructure, reportCardStructure(state) {
return state[this.storeModuleName].reportCardStructure
},
}), }),
mounted() { mounted() {
const reportCardStructure = TargetReportCardGenerator.generateReportCardStructure( const docSource = ['pref_name']
this.itemID const entityID = EntityNames.EubopenTarget.entityID
) const indexName = IndexNames.getIndexNameFromEntityID(entityID)
this.$store.dispatch(
'targetReportCard/setReportCardStructure', ESProxyService.getESDocument(indexName, this.itemID, docSource)
reportCardStructure .then((response) => {
) const sourceObtained = response.data._source
const prefName = ObjectPropertyAccess.getPropertyPalue(
sourceObtained,
'pref_name',
'',
false
)
const reportCardStructure = TargetReportCardGenerator.generateReportCardStructure(
this.itemID,
prefName
)
this.$store.dispatch(
`${this.storeModuleName}/setReportCardStructure`,
reportCardStructure
)
this.$store.dispatch(`${this.storeModuleName}/setStructureReady`, true)
})
.catch((error) => {
RequestNotifications.dispatchRequestErrorNotification(
error,
this.$store.dispatch,
`There was an error while loading the page structure`
)
})
}, },
} }
</script> </script>
......
...@@ -5,11 +5,12 @@ import ProbeProfile from '~/components/report_cards/chemical_probe/ProbeProfile. ...@@ -5,11 +5,12 @@ import ProbeProfile from '~/components/report_cards/chemical_probe/ProbeProfile.
import ProbeMechanism from '~/components/report_cards/chemical_probe/ProbeMechanism.vue' import ProbeMechanism from '~/components/report_cards/chemical_probe/ProbeMechanism.vue'
import CompoundCrystalStructures from '~/components/report_cards/chemical_probe/CompoundCrystalStructures.vue' import CompoundCrystalStructures from '~/components/report_cards/chemical_probe/CompoundCrystalStructures.vue'
import CalculatedProperties from '~/components/report_cards/chemical_probe/CalculatedProperties.vue' import CalculatedProperties from '~/components/report_cards/chemical_probe/CalculatedProperties.vue'
import EntityNames from '~/web-components-submodule/standardisation/EntityNames.js'
const methods = { const methods = {
generateReportCardStructure(itemID, title) { generateReportCardStructure(itemID, prefName) {
return { return {
title, title: `${EntityNames.EubopenCompound.singularEntityName} ${prefName}`,
sections: [ sections: [
{ {
id: 'Summary', id: 'Summary',
......
...@@ -4,9 +4,9 @@ import EntityNames from '~/web-components-submodule/standardisation/EntityNames. ...@@ -4,9 +4,9 @@ import EntityNames from '~/web-components-submodule/standardisation/EntityNames.
import TargetCrystalStructures from '~/components/report_cards/target/TargetCrystalStructures.vue' import TargetCrystalStructures from '~/components/report_cards/target/TargetCrystalStructures.vue'
const methods = { const methods = {
generateReportCardStructure(itemID) { generateReportCardStructure(itemID, prefName) {
return { return {
title: `${EntityNames.EubopenTarget.singularEntityName} ${itemID}`, title: `${EntityNames.EubopenTarget.singularEntityName} ${prefName}`,
sections: [ sections: [
{ {
id: 'NameAndClassification', id: 'NameAndClassification',
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment