diff --git a/varfish/vueapp/src/components/SubmissionList.vue b/varfish/vueapp/src/components/SubmissionList.vue
index df45f87a8..ca607c71e 100644
--- a/varfish/vueapp/src/components/SubmissionList.vue
+++ b/varfish/vueapp/src/components/SubmissionList.vue
@@ -17,9 +17,9 @@
v-for="item in submissionList"
:key="item.sodar_uuid"
:class="{ active: (item === currentSubmission) }"
- @click="onListItemClicked(item.sodar_uuid)"
>
{{ getSubmissionLabel(item) }}
+ ({{ getSubmissionIndividualsLabel(item) }})
@@ -41,60 +41,75 @@
- Create a new submission by selecting one of the variants below or
-
-
- create empty.
-
+ Create new submissions by selecting from the variants below and clicking .
+ If you select no variant, a blank submission will be created.
-
- Filters:
-
-
- all:
-
-
- comments
-
-
- candidates
-
-
- causative
-
-
- VUCS3
-
-
- LP4
-
-
- P5
-
+
-
- {{ getVariantLabel(item) }}
-
- {{ getVariantExtraLabel(item) }}
-
+
+ {{ getVariantLabel(item) }}
+
+ {{ getVariantExtraLabel(item) }}
+
+
- There is no user annotation for variants in this project.
+ There is no matching user annotation for variants in this project.
@@ -177,12 +194,15 @@ export default {
modalIncludeFinalCausatives: true,
modalIncludeAcmg3: false,
modalIncludeAcmg4: true,
- modalIncludeAcmg5: true
+ modalIncludeAcmg5: true,
+ individualFilter: '',
+ onlyAddAffected: true
}
},
computed: {
...mapState({
individuals: state => state.clinvarExport.individuals,
+ submissionIndividuals: state => state.clinvarExport.submissionIndividuals,
submissions: state => state.clinvarExport.submissions,
currentSubmissionSet: state => state.clinvarExport.currentSubmissionSet,
currentSubmission: state => state.clinvarExport.currentSubmission,
@@ -216,6 +236,11 @@ export default {
return { ...smallVar, flags, rating, comments }
})
.filter(smallVar => {
+ if (this.individualFilter) {
+ if (!smallVar.caseNames.some(s => s.includes(this.individualFilter))) {
+ return false
+ }
+ }
if (this.modalIncludeAll) {
return true
} else if (this.modalIncludeComments && smallVar.comments.length > 0) {
@@ -252,6 +277,20 @@ export default {
getSubmissionLabel,
validConfirmed,
+ getSubmissionIndividualsCount (item) {
+ return item.submission_individuals.length
+ },
+ getSubmissionIndividualsLabel (item) {
+ console.log(item.submission_individuals)
+ console.log(this.submissionIndividuals)
+ let names = item.submission_individuals.map(
+ uuid => this.individuals[this.submissionIndividuals[uuid].individual].name.replace(/-N.-DNA.-....$/, '')
+ )
+ if (names.length > 2) {
+ names = names.slice(0, 2) + ['...']
+ }
+ return names.join(', ')
+ },
getVariantLabel (item) {
return `${item.refseq_gene_symbol}:${item.refseq_hgvs_p || '
'}`
},
@@ -274,11 +313,13 @@ export default {
}
},
+ // XXX
onListItemClicked (item) {
this.validConfirmed(() => {
this.selectCurrentSubmission(item)
})
},
+ // XXX
onCreateEmptySubmissionClicked () {
this.createSubmissionInCurrentSubmissionSet({
smallVariant: null,
diff --git a/varfish/vueapp/src/store/modules/clinvarExport.js b/varfish/vueapp/src/store/modules/clinvarExport.js
index 529eec05d..0231cafd0 100644
--- a/varfish/vueapp/src/store/modules/clinvarExport.js
+++ b/varfish/vueapp/src/store/modules/clinvarExport.js
@@ -103,10 +103,17 @@ const actions = {
* Changes will be committed through `wizardSave`.
*/
createNewSubmissionSet ({ state, commit }) {
+ const titles = Object.values(state.submissionSets).map(submissionSet => submissionSet.title)
+ let title = 'New Submission Set'
+ let i = 2
+ while (titles.includes(title)) {
+ title = 'New Submission Set #' + i
+ i += 1
+ }
const submissionSet = {
sodar_uuid: uuidv4(),
date_modified: new Date().toLocaleString(),
- title: 'New Submission',
+ title: title,
state: 'draft',
sort_order: Object.keys(state.submissionSets).length,
submitter: null,
@@ -117,6 +124,7 @@ const actions = {
commit('ADD_SUBMISSION_SET', submissionSet)
commit('SET_CURRENT_SUBMISSION_SET', submissionSet.sodar_uuid)
+ commit('SET_WIZARD_STATE', WizardState.submissionSet)
commit('SET_APP_STATE', AppState.add)
},
/**
@@ -867,8 +875,8 @@ const mutations = {
phenotypes: JSON.parse(JSON.stringify(state.individuals[individual.sodar_uuid].phenotype_terms)),
variant_zygosity: variantZygosity,
variant_allele_count: variantAlleleCount,
- variant_origin: 'not provided',
- source: 'not provided',
+ variant_origin: 'germline',
+ source: 'clinical testing',
tissue: 'Blood',
citations: []
}
@@ -898,8 +906,8 @@ const mutations = {
phenotypes: JSON.parse(JSON.stringify(individual.phenotype_terms || [])),
variant_allele_count: variantAlleleCount,
variant_zygosity: variantZygosity,
- variant_origin: 'not provided',
- source: 'not provided',
+ variant_origin: 'germline',
+ source: 'clinical testing',
tissue: 'Blood',
citations: []
}