package org.nextprot.api.commons.bio.variation.prot.impl.format;
import org.junit.Assert;
import org.junit.Test;
import org.nextprot.api.commons.bio.AminoAcidCode;
import org.nextprot.api.commons.bio.variation.prot.ParsingMode;
import org.nextprot.api.commons.bio.variation.prot.SequenceVariation;
import org.nextprot.api.commons.bio.variation.prot.seqchange.SequenceChange;
public class SequenceVariantHGVSParseDeletionTest {
SequenceVariantHGVSFormat format = new SequenceVariantHGVSFormat();
@Test
public void testParseAADeletion() throws Exception {
SequenceVariation pm = format.parse("p.K73del");
Assert.assertEquals(AminoAcidCode.LYSINE, pm.getVaryingSequence().getFirstAminoAcid());
Assert.assertEquals(73, pm.getVaryingSequence().getFirstAminoAcidPos());
Assert.assertEquals(SequenceChange.Type.DELETION, pm.getSequenceChange().getType());
}
@Test
public void testParseRangeDeletion() throws Exception {
SequenceVariation pm = format.parse("p.K487_L498del");
Assert.assertEquals(AminoAcidCode.LYSINE, pm.getVaryingSequence().getFirstAminoAcid());
Assert.assertEquals(AminoAcidCode.LEUCINE, pm.getVaryingSequence().getLastAminoAcid());
Assert.assertEquals(487, pm.getVaryingSequence().getFirstAminoAcidPos());
Assert.assertEquals(498, pm.getVaryingSequence().getLastAminoAcidPos());
Assert.assertEquals(SequenceChange.Type.DELETION, pm.getSequenceChange().getType());
}
@Test
public void testParseAADeletionCode3() throws Exception {
SequenceVariation pm = format.parse("p.Lys73del");
Assert.assertEquals(AminoAcidCode.LYSINE, pm.getVaryingSequence().getFirstAminoAcid());
Assert.assertEquals(73, pm.getVaryingSequence().getFirstAminoAcidPos());
Assert.assertEquals(SequenceChange.Type.DELETION, pm.getSequenceChange().getType());
}
@Test
public void testParseRangeDeletionCode3() throws Exception {
SequenceVariation pm = format.parse("p.Lys487_Leu498del");
Assert.assertEquals(AminoAcidCode.LYSINE, pm.getVaryingSequence().getFirstAminoAcid());
Assert.assertEquals(AminoAcidCode.LEUCINE, pm.getVaryingSequence().getLastAminoAcid());
Assert.assertEquals(487, pm.getVaryingSequence().getFirstAminoAcidPos());
Assert.assertEquals(498, pm.getVaryingSequence().getLastAminoAcidPos());
Assert.assertEquals(SequenceChange.Type.DELETION, pm.getSequenceChange().getType());
}
@Test
public void testParseAANonStandardDeletion1() throws Exception {
format = new SequenceVariantHGVSFormat(ParsingMode.PERMISSIVE);
SequenceVariation pm = format.parse("p.K487_L498del12");
Assert.assertEquals(AminoAcidCode.LYSINE, pm.getVaryingSequence().getFirstAminoAcid());
Assert.assertEquals(487, pm.getVaryingSequence().getFirstAminoAcidPos());
Assert.assertEquals(AminoAcidCode.LEUCINE, pm.getVaryingSequence().getLastAminoAcid());
Assert.assertEquals(498, pm.getVaryingSequence().getLastAminoAcidPos());
Assert.assertEquals(SequenceChange.Type.DELETION, pm.getSequenceChange().getType());
}
@Test
public void testParseAANonStandardDeletion2() throws Exception {
format = new SequenceVariantHGVSFormat(ParsingMode.PERMISSIVE);
SequenceVariation pm = format.parse("p.K487_L498delPRAL");
Assert.assertEquals(AminoAcidCode.LYSINE, pm.getVaryingSequence().getFirstAminoAcid());
Assert.assertEquals(487, pm.getVaryingSequence().getFirstAminoAcidPos());
Assert.assertEquals(AminoAcidCode.LEUCINE, pm.getVaryingSequence().getLastAminoAcid());
Assert.assertEquals(498, pm.getVaryingSequence().getLastAminoAcidPos());
Assert.assertEquals(SequenceChange.Type.DELETION, pm.getSequenceChange().getType());
}
}