diff --git a/package-lock.json b/package-lock.json
index 88c8b1e8..ca36f1ca 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "mavedb-ui",
- "version": "2023.5.1",
+ "version": "2024.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "mavedb-ui",
- "version": "2023.5.1",
+ "version": "2024.1.0",
"dependencies": {
"@fontsource/raleway": "^5.0.16",
"axios": "^1.6.2",
@@ -41,7 +41,7 @@
"pluralize": "^8.0.0",
"primeflex": "^3.3.1",
"primeicons": "^6.0.1",
- "primevue": "3.32.2",
+ "primevue": "3.52.0",
"universal-base64url": "~1.1.0",
"uuid": "^9.0.1",
"vee-validate": "^4.12.2",
@@ -3545,9 +3545,9 @@
"integrity": "sha512-KDeO94CbWI4pKsPnYpA1FPjo79EsY9I+M8ywoPBSf9XMXoe/0crjbUK7jcQEDHuc0ZMRIZsxH3TYLv4TUtHmAA=="
},
"node_modules/primevue": {
- "version": "3.32.2",
- "resolved": "https://registry.npmjs.org/primevue/-/primevue-3.32.2.tgz",
- "integrity": "sha512-BEDhIb+VqfjjIF9+G+dCRsE542afz5Xl01XHbViYR13T7ZreBMWsPcJCCTyKzouwJHr6HTskJXJnrkTmOI1vKg==",
+ "version": "3.52.0",
+ "resolved": "https://registry.npmjs.org/primevue/-/primevue-3.52.0.tgz",
+ "integrity": "sha512-HLOVP5YI0ArFKUhIyfZsWmTNMaBYNCBWC/3DYvdd/Po4LY5/WXf7yIYvArE2q/3OuwSXJXvjlR8UNQeJYRSQog==",
"peerDependencies": {
"vue": "^3.0.0"
}
diff --git a/package.json b/package.json
index db994206..cbfb6f10 100644
--- a/package.json
+++ b/package.json
@@ -41,7 +41,7 @@
"pluralize": "^8.0.0",
"primeflex": "^3.3.1",
"primeicons": "^6.0.1",
- "primevue": "3.32.2",
+ "primevue": "3.52.0",
"universal-base64url": "~1.1.0",
"uuid": "^9.0.1",
"vee-validate": "^4.12.2",
diff --git a/src/assets/app.css b/src/assets/app.css
index aeecd9d1..6dd206b7 100644
--- a/src/assets/app.css
+++ b/src/assets/app.css
@@ -23,3 +23,7 @@ body .p-inputtext {
body .p-button {
min-width: 10px;
}
+
+.p-badge {
+ text-align: center;
+}
\ No newline at end of file
diff --git a/src/assets/forms.css b/src/assets/forms.css
index 86b98581..80686fde 100644
--- a/src/assets/forms.css
+++ b/src/assets/forms.css
@@ -1,7 +1,3 @@
-.field {
- margin: 10px 0;
-}
-
/* Field types */
.field:deep(.p-chips) {
diff --git a/src/components/common/EmailPrompt.vue b/src/components/common/EmailPrompt.vue
index 4cfc95b9..75796951 100644
--- a/src/components/common/EmailPrompt.vue
+++ b/src/components/common/EmailPrompt.vue
@@ -7,7 +7,7 @@
{{ emailValidationError }}
-
+
diff --git a/src/components/layout/Toolbar.vue b/src/components/layout/Toolbar.vue
index 551980f5..869e16f1 100644
--- a/src/components/layout/Toolbar.vue
+++ b/src/components/layout/Toolbar.vue
@@ -18,6 +18,19 @@
+
+
+
+
+
+
@@ -76,35 +89,35 @@ export default {
menuItems: function() {
return [{
label: 'Dashboard',
- to: '/dashboard',
+ route: '/dashboard',
available: ({authenticated}) => authenticated
}, {
label: 'Home',
- to: '/'
+ route: '/'
}, {
label: 'Search',
- to: '/search'
+ route: '/search',
}, {
label: 'Documentation',
- to: '/docs'
+ route: '/docs'
}, {
label: 'New experiment',
- to: '/create-experiment',
+ route: '/create-experiment',
available: ({authenticated}) => authenticated
}, {
label: 'New score set',
- to: '/create-score-set',
+ route: '/create-score-set',
available: ({authenticated}) => authenticated
}, {
label: 'Users',
- to: '/users',
+ route: '/users',
available: ({roles}) => roles.includes('admin')
}, {
label: this.userName,
icon:'pi pi-fw pi-user',
items:[{
label: 'Settings',
- to: '/settings',
+ route: '/settings',
available: ({authenticated}) => authenticated
}, {
label: 'Sign out',
@@ -127,7 +140,6 @@ export default {
},
filterAvailableMenuItems(menuItems) {
- const self = this
return menuItems.map((item) => {
if (item.items) {
let newSubitems = this.filterAvailableMenuItems(item.items)
diff --git a/src/components/screens/ExperimentEditor.vue b/src/components/screens/ExperimentEditor.vue
index 5d62b204..edbdeaa0 100644
--- a/src/components/screens/ExperimentEditor.vue
+++ b/src/components/screens/ExperimentEditor.vue
@@ -106,7 +106,7 @@
Title: {{ slotProps.item.title }}
-
DOI: {{ slotProps.item.publicationDoi || slotProps.item.preprintDoi }}
+
DOI: {{ slotProps.item.doi }}
Identifier: {{ slotProps.item.identifier }}
Database: {{ slotProps.item.dbName }}
@@ -130,7 +130,7 @@
Title: {{ slotProps.option.title }}
-
DOI: {{ slotProps.option.publicationDoi || slotProps.option.preprintDoi }}
+
DOI: {{ slotProps.option.doi }}
Identifier: {{ slotProps.option.identifier }}
Database: {{ slotProps.option.dbName }}
diff --git a/src/components/screens/ExperimentSetView.vue b/src/components/screens/ExperimentSetView.vue
index 4a89a0bb..20ff572b 100644
--- a/src/components/screens/ExperimentSetView.vue
+++ b/src/components/screens/ExperimentSetView.vue
@@ -46,6 +46,7 @@ import Button from 'primevue/button'
import DefaultLayout from '@/components/layout/DefaultLayout'
import PageLoading from '@/components/common/PageLoading'
import ItemNotFound from '@/components/common/ItemNotFound'
+import useAuth from '@/composition/auth'
import useItem from '@/composition/item'
import useFormatters from '@/composition/formatters'
@@ -54,9 +55,12 @@ export default {
components: {Button, DefaultLayout, PageLoading, ItemNotFound},
setup: () => {
+ const {userIsAuthenticated} = useAuth()
+
return {
...useFormatters(),
- ...useItem({itemTypeName: 'experimentSet'})
+ ...useItem({itemTypeName: 'experimentSet'}),
+ userIsAuthenticated
}
},
diff --git a/src/components/screens/PublicationIdentifierView.vue b/src/components/screens/PublicationIdentifierView.vue
index d11ae424..becae5fa 100644
--- a/src/components/screens/PublicationIdentifierView.vue
+++ b/src/components/screens/PublicationIdentifierView.vue
@@ -9,14 +9,9 @@
Created {{formatDate(item.creationDate)}}, updated {{ formatDate(item.modificationDate) }}
Published {{item.publicationYear}} in {{item.publicationJournal}}
-
DOI:
+
-
diff --git a/src/components/screens/ScoreSetCreator.vue b/src/components/screens/ScoreSetCreator.vue
new file mode 100644
index 00000000..e54ef84f
--- /dev/null
+++ b/src/components/screens/ScoreSetCreator.vue
@@ -0,0 +1,2096 @@
+
+
+
+
+
+
Edit score set {{ this.item.urn }}
+
+ Save changes
+ Clear
+ Cancel
+
+
+
+
Create a new score set
+
+ Save
+ Clear
+ Cancel
+
+
+
+
+
+
+
+ {{ index + 1 }}
+ Parent experiment and context
+
+
+
+
+
+
+
+
+
+
+ {{ index + 1 }}
+ Score set information
+
+
+
+
+
+
+
+
+
+
+ {{ index + 1 }}
+ Targets
+
+
+
+
+
+
+
+
+
+
+
+
Name: {{ slotProps.item.name }}
+
Category: {{ slotProps.item.category }}
+
+ {{ externalIdentifier.identifier.dbName }}: {{ externalIdentifier.identifier.identifier }}, Offset: {{ externalIdentifier.offset }}
+
+
+
+
+ Copy from an existing target gene
+
+
+
+
+
+ Target name
+
+
+
+
+
+ Target label (only required when providing
+ multiple targets)
+
+
+
+
+
+
+
+
+
+
+
+ {{ dbName }}
+ identifier
+
+
+
+
+
+ Offset
+
+
+
+
+
+
+
+ {{slotProps.item.taxId}} - {{slotProps.item.organismName}} / {{slotProps.item.commonName}}
+
+
+ Taxonomy
+
+
{{validationErrors['targetGene.targetSequence.taxonomy']}}
+
+
+
+
+
+ Drop a FASTA file here.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Target gene name
+
+
+
+
+
+
+ Assembly
+
+
+
+
+
+ HGNC Name
+
+
+
+
+
+ Autocomplete By:
+
+
+
+
+ Accession/Transcript Identifier
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gene Name {{ validationErrors[`targetGenes.${slotProps.data.index}.name`]
+ }}
+ Gene Category {{ validationErrors[`targetGenes.${slotProps.data.index}.category`]
+ }}
+
+
+ Genomic Sequence Data
+
+ Sequence Label: {{ slotProps.data.targetSequence.label }}
+ {{
+ validationErrors[`targetGenes.${slotProps.data.index}.targetSequence.label`] }}
+
+
+ Sequence Type: {{ slotProps.data.targetSequence.sequenceType }}
+ {{
+ validationErrors[`targetGenes.${slotProps.data.index}.targetSequence.sequenceType`]
+ }}
+ Taxonomy Organism Name: {{ slotProps.data.targetSequence.taxonomy.organismName }}
+ {{
+ validationErrors[`targetGenes.${slotProps.data.index}.taxonomy`] }}
+ Taxonomy Common Name: {{ slotProps.data.targetSequence.taxonomy.commonName
+ }}
+
+ {{
+ validationErrors[`targetGenes.${slotProps.data.index}.targetSequence.sequence`] }}
+
+
+
+
+ Accession Data
+
+ Assembly: {{ slotProps.data.targetAccession.assembly || 'N/A' }}
+ {{
+ validationErrors[`targetGenes.${slotProps.data.index}.targetAccession.assembly`]
+ }}
+ Gene: {{ slotProps.data.targetAccession.gene || 'N/A' }}
+ {{
+ validationErrors[`targetGenes.${slotProps.data.index}.targetAccession.gene`] }}
+ Accession: {{ slotProps.data.targetAccession.accession }}
+ {{
+ validationErrors[`targetGenes.${slotProps.data.index}.targetAccession.accession`] }}
+
+
+
+
+
+
+
+
+ {{ externalId.identifier.dbName }}: {{ externalId.identifier.identifier
+ }}, Offset: {{ externalId.offset }}
+
+
{{
+ validationErrors[`targetGenes.${slotProps.data.index}.externalIdentifiers.${externalId.identifier.dbName}.identifier`]
+ }}
+
{{
+ validationErrors[`targetGenes.${slotProps.data.index}.externalIdentifiers.${externalId.identifier.dbName}.offset`]
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{validationErrors['targetGenes']}}
+
+
+ When defining variants against multiple targets, uploaded variant coordinates should be fully
+ qualified with respect to target names or target accessions.
+
+
+
+
+
+
+
+
+ {{ index + 1 }}
+ Variant scores
+
+
+
+
+
{{ formatInt(item.numVariants) }} variants are included in this score set.
+
To replace the variants, choose a new scores file and optional counts file:
+
+
+ Load a scores file and an optional counts file:
+
+
+
+
+
+ Drop a file here.
+
+
+
+
{{ validationErrors.scoresFile
+ }}
+
+
+
+
+
+ Drop a file here.
+
+
+
+
{{ validationErrors.countsFile
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/screens/ScoreSetEditor.vue b/src/components/screens/ScoreSetEditor.vue
index e014e728..c03d7e2a 100644
--- a/src/components/screens/ScoreSetEditor.vue
+++ b/src/components/screens/ScoreSetEditor.vue
@@ -1,1675 +1,1686 @@
-
-
-
-
-
-
-
Edit score set {{ this.item.urn }}
-
-
Save changes
-
Clear
-
Cancel
+
+
+
+
+
+
+
Edit score set {{ this.item.urn }}
+
+ Save changes
+ Clear
+ Cancel
+
-
-
-
Create a new score set
-
-
Save
-
Clear
-
Cancel
+
+
Create a new score set
+
+ Save
+ Clear
+ Cancel
+
-
-
-
- Parent experiment and context
-
-
- Experiment:
- {{ item.experiment.title
- }}
-
-
-
-
-
- Experiment
-
- {{ validationErrors.experiment
- }}
-
-
-
- Supersedes:
- {{
- supersedesScoreSet.title }}
-
-
-
-
-
- {{ slotProps.item.urn }}: {{ slotProps.item.title }}
-
-
- Supersedes
-
-
{{
- validationErrors.supersededScoreSetUrn }}
-
-
- Meta-analysis for:
-
-
+
+
+ Parent experiment and context
+
+
+ Experiment:
+ {{ item.experiment.title
+ }}
-
-
-
-
-
- {{ slotProps.item.urn }}: {{ slotProps.item.title }}
-
-
- Meta-analysis for
-
-
{{
- validationErrors.metaAnalyzesScoreSetUrns }}
-
-
-
-
- Score set information
-
-
-
-
- Title
-
- {{ validationErrors.title }}
-
-
-
-
- Short description
-
- {{
- validationErrors.shortDescription }}
-
-
-
-
-
-
- Abstract
-
-
-
-
-
-
-
{{ validationErrors.abstractText
- }}
-
-
-
-
+
+
-
- Methods
+
+ Experiment
-
-
-
-
-
-
{{ validationErrors.methodText }}
-
-
-
-
-
- License
-
- {{validationErrors['targetSequence.taxonomy']}}
+ {{ validationErrors.experiment
+ }}
+
-
- Choosing a license with these restrictions may cause your dataset to be excluded from data federation
- and aggregation by MaveDB collaborators.
-
-
-
-
- Keywords
-
-
{{ validationErrors.keywords }}
+
+ Supersedes:
+ {{
+ supersedesScoreSet.title }}
-
+
-
-
-
- {{ slotProps.value.identifier }}
-
+
+
+ {{ slotProps.item.urn }}: {{ slotProps.item.title }}
-
- DOIs
+
+ Supersedes
-
{{validationErrors.doiIdentifiers}}
+
{{
+ validationErrors.supersededScoreSetUrn }}
-
+
+ Meta-analysis for:
+
+
+
+
+
-
-
-
-
{{ slotProps.value.identifier }}
-
-
+
-
-
Title: {{ slotProps.item.title }}
-
DOI: {{ slotProps.item.publicationDoi || slotProps.item.preprintDoi }}
-
Identifier: {{ slotProps.item.identifier }}
-
Database: {{ slotProps.item.dbName }}
-
+ {{ slotProps.item.urn }}: {{ slotProps.item.title }}
- Publication identifiers
+ Meta-analysis for
-
{{validationErrors.publicationIdentifiers}}
+
{{
+ validationErrors.metaAnalyzesScoreSetUrns }}
+
+
+
+ Score set information
+
-
-
-
-
Title: {{ slotProps.option.title }}
-
DOI: {{ slotProps.option.publicationDoi || slotProps.option.preprintDoi }}
-
Identifier: {{ slotProps.option.identifier }}
-
Database: {{ slotProps.option.dbName }}
-
-
-
- Primary publication
+
+ Title
-
{{
- validationErrors.primaryPublicationIdentifiers }}
+
{{ validationErrors.title }}
-
- Some fields were autopopulated based on the selected experiment and should be inspected to ensure they
- are still relevant to this score set.
-
-
-
- Drop a JSON file here.
-
-
+
+ Short description
-
{{ validationErrors.extraMetadata
+ {{
+ validationErrors.shortDescription }}
+
+
+
+
+
+
+ Abstract
+
+
+
+
+
+
+
{{ validationErrors.abstractText
}}
-
-
- Data usage policy
-
-
{{
- validationErrors.dataUsagePolicy }}
+
+
+
+
+ Methods
+
+
+
+
+
+
+
{{ validationErrors.methodText }}
-
-
-
-
-
-
-
- Targets
-
-
-
-
-
-
-
-
-
-
Name: {{ slotProps.item.name }}
-
Category: {{ slotProps.item.category }}
-
- {{ externalIdentifier.identifier.dbName }}: {{ externalIdentifier.identifier.identifier }}, Offset: {{ externalIdentifier.offset }}
-
-
-
-
- Copy from an existing target gene
-
-
-
-
-
- Target name
-
-
-
-
-
- Target label (only required when providing
- multiple targets)
-
-
-
-
-
-
-
-
-
+
+
+
+
+ License
+
+ {{validationErrors['targetSequence.taxonomy']}}
+
+
+ Choosing a license with these restrictions may cause your dataset to be excluded from data federation
+ and aggregation by MaveDB collaborators.
+
+
+
+
+ Keywords
+
+ {{ validationErrors.keywords }}
+
+
+
+
+
+
+ {{ slotProps.value.identifier }}
+
+
+
+ DOIs
+
+
{{validationErrors.doiIdentifiers}}
+
+
+
+
+
+
+
{{ slotProps.value.identifier }}
+
+
+
+
+
Title: {{ slotProps.item.title }}
+
DOI: {{ slotProps.item.doi }}
+
Identifier: {{ slotProps.item.identifier }}
+
Database: {{ slotProps.item.dbName }}
+
+
+
+ Publication identifiers
+
+
{{validationErrors.publicationIdentifiers}}
+
+
+
+
+
+
+
Title: {{ slotProps.option.title }}
+
DOI: {{ slotProps.option.doi }}
+
Identifier: {{ slotProps.option.identifier }}
+
Database: {{ slotProps.option.dbName }}
+
+
+
+ Primary publication
+
+
{{
+ validationErrors.primaryPublicationIdentifiers }}
+
+
+ Some fields were autopopulated based on the selected experiment and should be inspected to ensure they
+ are still relevant to this score set.
+
+
+
+
+
+ Drop a JSON file here.
+
+
+
+
{{ validationErrors.extraMetadata
+ }}
+
+
+
+
+ Data usage policy
+
+ {{
+ validationErrors.dataUsagePolicy }}
+
+
+
+
+
+
+
+
+ Targets
+
+
+
+
+
-
- {{ dbName }}
- identifier
+
+
+
+
Name: {{ slotProps.item.name }}
+
Category: {{ slotProps.item.category }}
+
+ {{ externalIdentifier.identifier.dbName }}: {{ externalIdentifier.identifier.identifier }}, Offset: {{ externalIdentifier.offset }}
+
+
+
+
+ Copy from an existing target gene
-
+
-
- Offset
+
+ Target name
-
-
-
-
-
- {{slotProps.item.taxId}} - {{slotProps.item.organismName}} / {{slotProps.item.commonName}}
-
-
- Taxonomy
-
-
{{validationErrors['targetGene.targetSequence.taxonomy']}}
-
-
-
-
-
- Drop a FASTA file here.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
- Target gene name
+
+ Target label (only required when providing
+ multiple targets)
-
+
-
-
- Assembly
+
-
+
+
+
+
+ {{ dbName }}
+ identifier
+
+
+
+
+
+ Offset
+
+
+
+
-
- HGNC Name
+
+
+ {{slotProps.item.taxId}} - {{slotProps.item.organismName}} / {{slotProps.item.commonName}}
+
+
+ Taxonomy
+
{{validationErrors['targetGene.targetSequence.taxonomy']}}
-
-
-
- Autocomplete By:
-
-
-
-
- Accession/Transcript Identifier
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Drop a FASTA file here.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Target gene name
+
+
+
+
+
+
+ Assembly
+
+
+
+
+
+ HGNC Name
+
+
+
+
+
+ Autocomplete By:
+
+
+
+
+ Accession/Transcript Identifier
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
- Gene Name {{ validationErrors[`targetGenes.${slotProps.data.index}.name`]
- }}
- Gene Category {{ validationErrors[`targetGenes.${slotProps.data.index}.category`]
- }}
-
-
- Genomic Sequence Data
-
- Sequence Label: {{ slotProps.data.targetSequence.label }}
- {{
- validationErrors[`targetGenes.${slotProps.data.index}.targetSequence.label`] }}
-
-
- Sequence Type: {{ slotProps.data.targetSequence.sequenceType }}
- {{
- validationErrors[`targetGenes.${slotProps.data.index}.targetSequence.sequenceType`]
- }}
- Taxonomy Organism Name: {{ slotProps.data.targetSequence.taxonomy.organismName }}
- {{
- validationErrors[`targetGenes.${slotProps.data.index}.taxonomy`] }}
- Taxonomy Common Name: {{ slotProps.data.targetSequence.taxonomy.commonName
- }}
-
- {{
- validationErrors[`targetGenes.${slotProps.data.index}.targetSequence.sequence`] }}
+
+
+
+
+
+
-
-
-
- Accession Data
-
- Assembly: {{ slotProps.data.targetAccession.assembly || 'N/A' }}
- {{
- validationErrors[`targetGenes.${slotProps.data.index}.targetAccession.assembly`]
- }}
- Gene: {{ slotProps.data.targetAccession.gene || 'N/A' }}
- {{
- validationErrors[`targetGenes.${slotProps.data.index}.targetAccession.gene`] }}
- Accession: {{ slotProps.data.targetAccession.accession }}
- {{
- validationErrors[`targetGenes.${slotProps.data.index}.targetAccession.accession`] }}
-
-
-
-
-
-
-
+
+
+ Gene Name {{ validationErrors[`targetGenes.${slotProps.data.index}.name`]
+ }}
+ Gene Category {{ validationErrors[`targetGenes.${slotProps.data.index}.category`]
+ }}
+
+
+ Genomic Sequence Data
+
+ Sequence Label: {{ slotProps.data.targetSequence.label }}
+ {{
+ validationErrors[`targetGenes.${slotProps.data.index}.targetSequence.label`] }}
+
- {{ externalId.identifier.dbName }}: {{ externalId.identifier.identifier
- }}, Offset: {{ externalId.offset }}
+ Sequence Type: {{ slotProps.data.targetSequence.sequenceType }}
+ {{
+ validationErrors[`targetGenes.${slotProps.data.index}.targetSequence.sequenceType`]
+ }}
+ Taxonomy Organism Name: {{ slotProps.data.targetSequence.taxonomy.organismName }}
+ {{
+ validationErrors[`targetGenes.${slotProps.data.index}.taxonomy`] }}
+ Taxonomy Common Name: {{ slotProps.data.targetSequence.taxonomy.commonName
+ }}
- {{
- validationErrors[`targetGenes.${slotProps.data.index}.externalIdentifiers.${externalId.identifier.dbName}.identifier`]
- }}
- {{
- validationErrors[`targetGenes.${slotProps.data.index}.externalIdentifiers.${externalId.identifier.dbName}.offset`]
- }}
-
-
-
-
-
-
-
-
-
-
-
-
- {{validationErrors['targetGenes']}}
-
-
- When defining variants against multiple targets, uploaded variant coordinates should be fully
- qualified with respect to target names or target accessions.
-
-
-
-
-
- Variant scores
-
-
-
{{ formatInt(item.numVariants) }} variants are included in this score set.
-
To replace the variants, choose a new scores file and optional counts file:
-
-
- Load a scores file and an optional counts file:
-
-
-
-
-
- Drop a file here.
-
-
-
-
{{ validationErrors.scoresFile
- }}
-
-
-
-
-
- Drop a file here.
-
-
-
-
{{ validationErrors.countsFile
- }}
-
-
-
+ validationErrors[`targetGenes.${slotProps.data.index}.targetSequence.sequence`] }}
+
+
+
+
+ Accession Data
+
+ Assembly: {{ slotProps.data.targetAccession.assembly || 'N/A' }}
+ {{
+ validationErrors[`targetGenes.${slotProps.data.index}.targetAccession.assembly`]
+ }}
+ Gene: {{ slotProps.data.targetAccession.gene || 'N/A' }}
+ {{
+ validationErrors[`targetGenes.${slotProps.data.index}.targetAccession.gene`] }}
+ Accession: {{ slotProps.data.targetAccession.accession }}
+ {{
+ validationErrors[`targetGenes.${slotProps.data.index}.targetAccession.accession`] }}
+
+
+
+
+
+
+
+
+ {{ externalId.identifier.dbName }}: {{ externalId.identifier.identifier
+ }}, Offset: {{ externalId.offset }}
+
+
{{
+ validationErrors[`targetGenes.${slotProps.data.index}.externalIdentifiers.${externalId.identifier.dbName}.identifier`]
+ }}
+
{{
+ validationErrors[`targetGenes.${slotProps.data.index}.externalIdentifiers.${externalId.identifier.dbName}.offset`]
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
{{validationErrors['targetGenes']}}
+
+
+ When defining variants against multiple targets, uploaded variant coordinates should be fully
+ qualified with respect to target names or target accessions.
+
+
+
+
+
+ Variant scores
+
+
+
{{ formatInt(item.numVariants) }} variants are included in this score set.
+
To replace the variants, choose a new scores file and optional counts file:
+
+
+ Load a scores file and an optional counts file:
+
+
+
+
+
+ Drop a file here.
+
+
+
+
{{ validationErrors.scoresFile
+ }}
+
+
+
+
+
+ Drop a file here.
+
+
+
+
{{ validationErrors.countsFile
+ }}
+
+
+
+
-
-
-
-
-
-
- markdownToHtml: function (markdown) {
- return marked(markdown || '')
- },
+
- get(...args) {
- return _.get(...args)
- }
+
-
-
+
diff --git a/src/components/screens/ScoreSetView.vue b/src/components/screens/ScoreSetView.vue
index 474f1133..e212a008 100644
--- a/src/components/screens/ScoreSetView.vue
+++ b/src/components/screens/ScoreSetView.vue
@@ -94,8 +94,11 @@
Data usage policy: {{ item.dataUsagePolicy }}
Member of {{ item.experiment.urn }}
- Current version {{ this.currentScoreSet.urn }}
+ Current version {{ item.supersedingScoreSet.urn }}
+
+ Current version {{ item.urn }}
Meta-analyzes
@@ -417,7 +420,6 @@ export default {
},
data: () => ({
scores: null,
- currentScoreSet: null,
scoresTable: [],
countsTable: [],
readMore: true,
@@ -441,8 +443,7 @@ export default {
immediate: true
},
item: {
- handler: function() {
- this.currentVersion()
+ handler: function () {
this.loadTableScores()
this.loadTableCounts()
}
@@ -455,17 +456,6 @@ export default {
},
methods: {
variantNotNullOrNA,
- currentVersion: async function() {
- if (this.item) {
- try {
- const response = await axios.get(`${config.apiBaseUrl}/score-sets/current-version/${this.item.urn}`)
- this.currentScoreSet = response.data
- } catch (error) {
- console.error("Error fetching current version:", error)
- }
- }
- return this.currentScoreSet // Return currentScoreSet inside the async function
- },
editItem: function() {
if (this.item) {
this.$router.replace({ path: `/score-sets/${this.item.urn}/edit` })
diff --git a/src/components/screens/SearchView.vue b/src/components/screens/SearchView.vue
index a199341c..b04bd38c 100644
--- a/src/components/screens/SearchView.vue
+++ b/src/components/screens/SearchView.vue
@@ -5,11 +5,13 @@
Search MaveDB Experiments and Score Sets