Skip to content

Commit 59b018e

Browse files
authored
Merge pull request #761 from overture-stack/rc/4.10.0
Release Candidate 4.10.0
2 parents ea623c3 + 2abfd74 commit 59b018e

File tree

12 files changed

+175
-18
lines changed

12 files changed

+175
-18
lines changed

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<groupId>bio.overture</groupId>
2222
<artifactId>song</artifactId>
2323
<packaging>pom</packaging>
24-
<version>4.9.0</version>
24+
<version>4.10.0</version>
2525
<modules>
2626
<module>song-core</module>
2727
<module>song-java-sdk</module>

song-client/pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<parent>
1919
<artifactId>song</artifactId>
2020
<groupId>bio.overture</groupId>
21-
<version>4.9.0</version>
21+
<version>4.10.0</version>
2222
</parent>
2323
<modelVersion>4.0.0</modelVersion>
2424

@@ -35,12 +35,12 @@
3535
<dependency>
3636
<groupId>bio.overture</groupId>
3737
<artifactId>song-java-sdk</artifactId>
38-
<version>4.9.0</version>
38+
<version>4.10.0</version>
3939
</dependency>
4040
<dependency>
4141
<groupId>bio.overture</groupId>
4242
<artifactId>song-core</artifactId>
43-
<version>4.9.0</version>
43+
<version>4.10.0</version>
4444
</dependency>
4545

4646
<!-- CLI -->

song-core/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<parent>
2020
<artifactId>song</artifactId>
2121
<groupId>bio.overture</groupId>
22-
<version>4.9.0</version>
22+
<version>4.10.0</version>
2323
</parent>
2424
<modelVersion>4.0.0</modelVersion>
2525

song-java-sdk/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<parent>
1919
<artifactId>song</artifactId>
2020
<groupId>bio.overture</groupId>
21-
<version>4.9.0</version>
21+
<version>4.10.0</version>
2222
</parent>
2323
<modelVersion>4.0.0</modelVersion>
2424

song-server/pom.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<parent>
2020
<artifactId>song</artifactId>
2121
<groupId>bio.overture</groupId>
22-
<version>4.9.0</version>
22+
<version>4.10.0</version>
2323
</parent>
2424
<modelVersion>4.0.0</modelVersion>
2525

@@ -37,7 +37,7 @@
3737
<dependency>
3838
<groupId>bio.overture</groupId>
3939
<artifactId>song-core</artifactId>
40-
<version>4.9.0</version>
40+
<version>4.10.0</version>
4141
</dependency>
4242

4343
<!-- Spring -->

song-server/src/main/java/bio/overture/song/server/service/analysis/AnalysisServiceImpl.java

-1
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@ public Analysis create(@NonNull String studyId, @NonNull Payload payload) {
128128

129129
analysisData.setAnalysis(a);
130130

131-
132131
saveCompositeEntities(studyId, analysisId, a.getSamples());
133132
saveFiles(analysisId, studyId, a.getFiles());
134133

song-server/src/main/resources/schemas/analysis/analysisBase.json

+28-4
Original file line numberDiff line numberDiff line change
@@ -234,12 +234,36 @@
234234
}
235235
},
236236
"then": {
237-
"properties": {
238-
"matchedNormalSubmitterSampleId": {
239-
"$ref": "#/definitions/common/submitterId"
237+
"if": {
238+
"properties": {
239+
"sampleType": {
240+
"pattern": "\\b(RNA)\\b"
241+
}
240242
}
241243
},
242-
"required": ["matchedNormalSubmitterSampleId"]
244+
"then": {
245+
"properties": {
246+
"matchedNormalSubmitterSampleId": {
247+
"oneOf": [
248+
{
249+
"const": null
250+
},
251+
{
252+
"$ref": "#/definitions/common/submitterId"
253+
}
254+
]
255+
}
256+
},
257+
"required": ["matchedNormalSubmitterSampleId"]
258+
},
259+
"else": {
260+
"properties": {
261+
"matchedNormalSubmitterSampleId": {
262+
"$ref": "#/definitions/common/submitterId"
263+
}
264+
},
265+
"required": ["matchedNormalSubmitterSampleId"]
266+
}
243267
},
244268
"else": {
245269
"properties": {

song-server/src/test/java/bio/overture/song/server/controller/EnforcedSubmitControllerTest.java

+12
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,18 @@ public void matchedNormalFieldInclusionValidation_NormalAndNull_Success() {
162162
runMatchedNormalTest("variantcall-normal-valid.json");
163163
}
164164

165+
// Test for RNA payload:
166+
@Test
167+
public void matchedNormalFieldInclusionValidation_RNATumourNull_Success() {
168+
runMatchedNormalTest("seq-exp-RNA-tumour-null-valid.json");
169+
}
170+
171+
@Test
172+
public void matchedNormalFieldInclusionValidation_RNATumour_NonNull_Success() {
173+
runMatchedNormalTest("seq-exp-RNA-tumour-empty-id.json",
174+
"#/samples/0/matchedNormalSubmitterSampleId: ,#/samples/0/matchedNormalSubmitterSampleId: string [] does not match pattern");
175+
}
176+
165177
@Test
166178
@SneakyThrows
167179
public void testInvalidSample() {

song-server/src/test/resources/documents/validation/dynamic-analysis-type/rendered-schema.json

+28-4
Original file line numberDiff line numberDiff line change
@@ -241,12 +241,36 @@
241241
}
242242
},
243243
"then": {
244-
"properties": {
245-
"matchedNormalSubmitterSampleId": {
246-
"$ref": "#/definitions/common/submitterId"
244+
"if": {
245+
"properties": {
246+
"sampleType": {
247+
"pattern": "\\b(RNA)\\b"
248+
}
247249
}
248250
},
249-
"required": ["matchedNormalSubmitterSampleId"]
251+
"then": {
252+
"properties": {
253+
"matchedNormalSubmitterSampleId": {
254+
"oneOf": [
255+
{
256+
"const": null
257+
},
258+
{
259+
"$ref": "#/definitions/common/submitterId"
260+
}
261+
]
262+
}
263+
},
264+
"required": ["matchedNormalSubmitterSampleId"]
265+
},
266+
"else": {
267+
"properties": {
268+
"matchedNormalSubmitterSampleId": {
269+
"$ref": "#/definitions/common/submitterId"
270+
}
271+
},
272+
"required": ["matchedNormalSubmitterSampleId"]
273+
}
250274
},
251275
"else": {
252276
"properties": {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{
2+
"studyId": "ABC123",
3+
"analysisType": {
4+
"name": "variantCall",
5+
"version": 1
6+
},
7+
"experiment": {
8+
"variantCallingTool": "silver bullet",
9+
"matchedNormalSampleSubmitterId": "sample-x24-11a"
10+
},
11+
"samples": [
12+
{
13+
"submitterSampleId": "internal_sample_98024759826836",
14+
"sampleType": "Total RNA",
15+
"matchedNormalSubmitterSampleId": "",
16+
"specimen": {
17+
"submitterSpecimenId": "internal_specimen_9b73gk8s02dk",
18+
"tumourNormalDesignation": "Tumour",
19+
"specimenTissueSource": "Solid tissue",
20+
"specimenType": "Primary tumour"
21+
},
22+
"donor": {
23+
"submitterDonorId": "internal_donor_123456789-00",
24+
"gender": "Female"
25+
}
26+
}
27+
],
28+
"files": [
29+
{
30+
"fileName": "a3bc0998a-3521-43fd-fa10-a834f3874e46.MUSE_1-0rc-vcf.20170711.somatic.snv_mnv.vcf.gz",
31+
"dataType": "SOME_DATA_TYPE",
32+
"fileSize": 376953,
33+
"fileMd5sum": "61a91c4bf04ac2bd3795254104f75ad3",
34+
"fileAccess": "open",
35+
"fileType": "VCF"
36+
},
37+
{
38+
"fileName": "a3bc0998a-3521-43fd-fa10-a834f3874e46.MUSE_1-0rc-vcf.20170711.somatic.snv_mnv.vcf.gz.idx",
39+
"dataType": "SOME_DATA_TYPE",
40+
"fileSize": 4840,
41+
"fileMd5sum": "61a91c4bf04bb54d3795254104f75ad3",
42+
"fileAccess": "open",
43+
"fileType": "IDX"
44+
}
45+
],
46+
"info": {
47+
"description": "This is extra info in a JSON format"
48+
}
49+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{
2+
"studyId": "ABC123",
3+
"analysisType": {
4+
"name": "variantCall",
5+
"version": 1
6+
},
7+
"experiment": {
8+
"variantCallingTool": "silver bullet",
9+
"matchedNormalSampleSubmitterId": "sample-x24-11a"
10+
},
11+
"samples": [
12+
{
13+
"submitterSampleId": "internal_sample_98024759826836",
14+
"sampleType": "Total RNA",
15+
"matchedNormalSubmitterSampleId": null,
16+
"specimen": {
17+
"submitterSpecimenId": "internal_specimen_9b73gk8s02dk",
18+
"tumourNormalDesignation": "Tumour",
19+
"specimenTissueSource": "Solid tissue",
20+
"specimenType": "Primary tumour"
21+
},
22+
"donor": {
23+
"submitterDonorId": "internal_donor_123456789-00",
24+
"gender": "Female"
25+
}
26+
}
27+
],
28+
"files": [
29+
{
30+
"fileName": "a3bc0998a-3521-43fd-fa10-a834f3874e46.MUSE_1-0rc-vcf.20170711.somatic.snv_mnv.vcf.gz",
31+
"dataType": "SOME_DATA_TYPE",
32+
"fileSize": 376953,
33+
"fileMd5sum": "61a91c4bf04ac2bd3795254104f75ad3",
34+
"fileAccess": "open",
35+
"fileType": "VCF"
36+
},
37+
{
38+
"fileName": "a3bc0998a-3521-43fd-fa10-a834f3874e46.MUSE_1-0rc-vcf.20170711.somatic.snv_mnv.vcf.gz.idx",
39+
"dataType": "SOME_DATA_TYPE",
40+
"fileSize": 4840,
41+
"fileMd5sum": "61a91c4bf04bb54d3795254104f75ad3",
42+
"fileAccess": "open",
43+
"fileType": "IDX"
44+
}
45+
],
46+
"info": {
47+
"description": "This is extra info in a JSON format"
48+
}
49+
}

song-server/src/test/resources/documents/validation/variantcall-tumour-null-invalid.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"samples": [
1212
{
1313
"submitterSampleId": "internal_sample_98024759826836",
14-
"sampleType": "Total RNA",
14+
"sampleType": "Total DNA",
1515
"matchedNormalSubmitterSampleId": null,
1616
"specimen": {
1717
"submitterSpecimenId": "internal_specimen_9b73gk8s02dk",

0 commit comments

Comments
 (0)