Skip to content

Commit bb3358e

Browse files
author
Jonas Kellerer
committed
feat: add aminoAcidInsertions endpoint returning json,csv and tsv
1 parent 829b8e9 commit bb3358e

File tree

14 files changed

+750
-218
lines changed

14 files changed

+750
-218
lines changed

lapis2/src/main/kotlin/org/genspectrum/lapis/OpenApiDocs.kt

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import org.genspectrum.lapis.controller.AGGREGATED_GROUP_BY_FIELDS_DESCRIPTION
1212
import org.genspectrum.lapis.controller.AGGREGATED_REQUEST_SCHEMA
1313
import org.genspectrum.lapis.controller.AGGREGATED_RESPONSE_SCHEMA
1414
import org.genspectrum.lapis.controller.AMINO_ACID_INSERTIONS_PROPERTY
15+
import org.genspectrum.lapis.controller.AMINO_ACID_INSERTIONS_RESPONSE_SCHEMA
1516
import org.genspectrum.lapis.controller.AMINO_ACID_INSERTIONS_SCHEMA
1617
import org.genspectrum.lapis.controller.AMINO_ACID_MUTATIONS_PROPERTY
1718
import org.genspectrum.lapis.controller.AMINO_ACID_MUTATIONS_RESPONSE_SCHEMA
@@ -23,14 +24,14 @@ import org.genspectrum.lapis.controller.FIELDS_PROPERTY
2324
import org.genspectrum.lapis.controller.FORMAT_DESCRIPTION
2425
import org.genspectrum.lapis.controller.FORMAT_PROPERTY
2526
import org.genspectrum.lapis.controller.FORMAT_SCHEMA
27+
import org.genspectrum.lapis.controller.INSERTIONS_REQUEST_SCHEMA
2628
import org.genspectrum.lapis.controller.LIMIT_DESCRIPTION
2729
import org.genspectrum.lapis.controller.LIMIT_PROPERTY
2830
import org.genspectrum.lapis.controller.LIMIT_SCHEMA
2931
import org.genspectrum.lapis.controller.MIN_PROPORTION_PROPERTY
3032
import org.genspectrum.lapis.controller.NUCLEOTIDE_INSERTIONS_PROPERTY
31-
import org.genspectrum.lapis.controller.NUCLEOTIDE_INSERTIONS_REQUEST_SCHEMA
32-
import org.genspectrum.lapis.controller.NUCLEOTIDE_INSERTIONS_SCHEMA
3333
import org.genspectrum.lapis.controller.NUCLEOTIDE_INSERTIONS_RESPONSE_SCHEMA
34+
import org.genspectrum.lapis.controller.NUCLEOTIDE_INSERTIONS_SCHEMA
3435
import org.genspectrum.lapis.controller.NUCLEOTIDE_MUTATIONS_PROPERTY
3536
import org.genspectrum.lapis.controller.NUCLEOTIDE_MUTATIONS_RESPONSE_SCHEMA
3637
import org.genspectrum.lapis.controller.NUCLEOTIDE_MUTATIONS_SCHEMA
@@ -92,9 +93,9 @@ fun buildOpenApiSchema(sequenceFilterFields: SequenceFilterFields, databaseConfi
9293
requestSchemaWithFields(sequenceFilters, DETAILS_FIELDS_DESCRIPTION),
9394
)
9495
.addSchemas(
95-
NUCLEOTIDE_INSERTIONS_REQUEST_SCHEMA,
96-
requestSchemaForCommonSequencenFilters(sequenceFilters),
97-
)
96+
INSERTIONS_REQUEST_SCHEMA,
97+
requestSchemaForCommonSequenceFilters(sequenceFilters),
98+
)
9899
.addSchemas(
99100
AGGREGATED_RESPONSE_SCHEMA,
100101
lapisResponseSchema(
@@ -152,6 +153,15 @@ fun buildOpenApiSchema(sequenceFilterFields: SequenceFilterFields, databaseConfi
152153
.properties(nucleotideInsertionSchema()),
153154
),
154155
)
156+
.addSchemas(
157+
AMINO_ACID_INSERTIONS_RESPONSE_SCHEMA,
158+
lapisResponseSchema(
159+
Schema<String>()
160+
.type("object")
161+
.description("Amino Acid Insertion data.")
162+
.properties(aminoAcidInsertionSchema()),
163+
),
164+
)
155165
.addSchemas(AMINO_ACID_MUTATIONS_SCHEMA, aminoAcidMutations())
156166
.addSchemas(NUCLEOTIDE_INSERTIONS_SCHEMA, nucleotideInsertions())
157167
.addSchemas(AMINO_ACID_INSERTIONS_SCHEMA, aminoAcidInsertions())
@@ -194,7 +204,7 @@ private fun primitiveSequenceFilterFieldSchemas(sequenceFilterFields: SequenceFi
194204
.map { (fieldName, fieldType) -> fieldName to Schema<String>().type(fieldType.openApiType) }
195205
.toMap()
196206

197-
private fun requestSchemaForCommonSequencenFilters(
207+
private fun requestSchemaForCommonSequenceFilters(
198208
requestProperties: Map<SequenceFilterFieldName, Schema<out Any>>,
199209
): Schema<*> =
200210
Schema<String>()
@@ -254,6 +264,15 @@ private fun nucleotideInsertionSchema() =
254264
.description("The number of sequences matching having the insertion."),
255265
)
256266

267+
private fun aminoAcidInsertionSchema() =
268+
mapOf(
269+
"insertion" to Schema<String>().type("string")
270+
.example("ins_gene:123:AAT")
271+
.description("The insertion that was found."),
272+
"count" to Schema<String>().type("number")
273+
.description("The number of sequences matching having the insertion."),
274+
)
275+
257276
private fun nucleotideMutations() =
258277
Schema<List<NucleotideMutation>>()
259278
.type("array")

0 commit comments

Comments
 (0)