@@ -44,6 +44,7 @@ class CompressionService(
4444
4545 private fun decompressNucleotideSequence (
4646 compressedSequence : CompressedSequence ,
47+ segmentName : String ,
4748 organism : Organism ,
4849 ): GeneticSequence = decompress(
4950 compressedSequence,
@@ -75,7 +76,7 @@ class CompressionService(
7576 .unalignedNucleotideSequences.mapValues {
7677 when (val compressedSequence = it.value) {
7778 null -> null
78- else -> decompressNucleotideSequence(compressedSequence, organism)
79+ else -> decompressNucleotideSequence(compressedSequence, it.key, organism)
7980 }
8081 },
8182 originalData.files,
@@ -100,13 +101,13 @@ class CompressionService(
100101 .unalignedNucleotideSequences.mapValues { (segmentName, sequenceData) ->
101102 when (sequenceData) {
102103 null -> null
103- else -> decompressNucleotideSequence(sequenceData, organism)
104+ else -> decompressNucleotideSequence(sequenceData, segmentName, organism)
104105 }
105106 },
106107 processedData.alignedNucleotideSequences.mapValues { (segmentName, sequenceData) ->
107108 when (sequenceData) {
108109 null -> null
109- else -> decompressNucleotideSequence(sequenceData, organism)
110+ else -> decompressNucleotideSequence(sequenceData, segmentName, organism)
110111 }
111112 },
112113 processedData.nucleotideInsertions,
@@ -126,13 +127,13 @@ class CompressionService(
126127 .unalignedNucleotideSequences.mapValues { (segmentName, sequenceData) ->
127128 when (sequenceData) {
128129 null -> null
129- else -> compressNucleotideSequence(sequenceData, organism)
130+ else -> compressNucleotideSequence(sequenceData, segmentName, organism)
130131 }
131132 },
132133 processedData.alignedNucleotideSequences.mapValues { (segmentName, sequenceData) ->
133134 when (sequenceData) {
134135 null -> null
135- else -> compressNucleotideSequence(sequenceData, organism)
136+ else -> compressNucleotideSequence(sequenceData, segmentName, organism)
136137 }
137138 },
138139 processedData.nucleotideInsertions,
@@ -191,10 +192,14 @@ class CompressionService(
191192 return String (decompressedBuffer, 0 , decompressionReturnCode.toInt(), StandardCharsets .UTF_8 )
192193 }
193194
194- private fun getDictionaryForNucleotideSequences (organism : Organism ): ByteArray? = backendConfig
195- .getInstanceConfig(organism)
196- .referenceGenome.allSegmentsConcatenated()
197- ?.toByteArray()
195+ private fun getDictionaryForNucleotideSequenceSegment (segmentName : String , organism : Organism ): ByteArray? =
196+ backendConfig
197+ .getInstanceConfig(organism)
198+ .referenceGenome
199+ .getNucleotideSegmentReference(
200+ segmentName,
201+ )
202+ ?.toByteArray()
198203
199204 private fun getDictionaryForAminoAcidSequence (geneName : String , organism : Organism ): ByteArray? = backendConfig
200205 .getInstanceConfig(organism)
0 commit comments