From 436b19020693f85d8c7f0c17da1fcc701ebe061c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Andres=20Ram=C3=ADrez?= Date: Mon, 27 Nov 2023 17:50:37 -0300 Subject: [PATCH] Removed * aa from dna translation at the end of sequence --- .../src/getAminoAcidStringFromSequenceString.js | 6 +++++- .../src/getAminoAcidStringFromSequenceString.test.js | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/sequence-utils/src/getAminoAcidStringFromSequenceString.js b/packages/sequence-utils/src/getAminoAcidStringFromSequenceString.js index d11276a3..cc286fbd 100644 --- a/packages/sequence-utils/src/getAminoAcidStringFromSequenceString.js +++ b/packages/sequence-utils/src/getAminoAcidStringFromSequenceString.js @@ -7,10 +7,14 @@ export default function getAminoAcidStringFromSequenceString(sequenceString) { ); const aaArray = []; let aaString = ""; - aminoAcidsPerBase.forEach(aa => { + aminoAcidsPerBase.forEach((aa, index) => { if (!aa.fullCodon) { return; } + // Check if the current amino acid is the last in the sequence and is a stop codon + if (index === aminoAcidsPerBase.length - 1 && aa.aminoAcid.value === '*') { + return; + } aaArray[aa.aminoAcidIndex] = aa.aminoAcid.value; }); aaString = aaArray.join(""); diff --git a/packages/sequence-utils/src/getAminoAcidStringFromSequenceString.test.js b/packages/sequence-utils/src/getAminoAcidStringFromSequenceString.test.js index f608461c..98b4edaa 100644 --- a/packages/sequence-utils/src/getAminoAcidStringFromSequenceString.test.js +++ b/packages/sequence-utils/src/getAminoAcidStringFromSequenceString.test.js @@ -14,5 +14,6 @@ describe("getAminoAcidStringFromSequenceString", () => { assert.equal("MM", getAminoAcidStringFromSequenceString("atgatg")); assert.equal("M--", getAminoAcidStringFromSequenceString("atg------")); assert.equal("", getAminoAcidStringFromSequenceString("at")); + assert.equal("MTNYNQKNEN", getAminoAcidStringFromSequenceString("atgactaattataatcaaaaaaatgaaaattaa")); }); });