X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fanalysis%2FAlignmentUtilsTests.java;h=810ef5f60cb94fbff154c4be494e6bc79fe78673;hb=7ac2996be1e7428d1651793c4a1b7e4091f221b9;hp=7ccbf971658c8df07dc3ad2b39c569f1ce2bba27;hpb=49476fb0fa050653e9124a916a0d61f487a2b79f;p=jalview.git diff --git a/test/jalview/analysis/AlignmentUtilsTests.java b/test/jalview/analysis/AlignmentUtilsTests.java index 7ccbf97..810ef5f 100644 --- a/test/jalview/analysis/AlignmentUtilsTests.java +++ b/test/jalview/analysis/AlignmentUtilsTests.java @@ -1733,52 +1733,97 @@ public class AlignmentUtilsTests /* * first with no variants on dna */ - LinkedHashMap variantsMap = AlignmentUtils + LinkedHashMap> variantsMap = AlignmentUtils .buildDnaVariantsMap(dna, map); assertTrue(variantsMap.isEmpty()); - // single allele codon 1, on base 1 + /* + * single allele codon 1, on base 1 + */ SequenceFeature sf = new SequenceFeature("sequence_variant", "", 1, 1, 0f, null); sf.setValue("alleles", "T"); + sf.setValue("ID", "sequence_variant:rs758803211"); dna.addSequenceFeature(sf); - // two alleles codon 2, on bases 2 and 3 + /* + * two alleles codon 2, on bases 2 and 3 (distinct variants) + */ sf = new SequenceFeature("sequence_variant", "", 5, 5, 0f, null); sf.setValue("alleles", "T"); + sf.setValue("ID", "sequence_variant:rs758803212"); dna.addSequenceFeature(sf); sf = new SequenceFeature("sequence_variant", "", 6, 6, 0f, null); sf.setValue("alleles", "G"); + sf.setValue("ID", "sequence_variant:rs758803213"); dna.addSequenceFeature(sf); - // two alleles codon 3, both on base 2 + /* + * two alleles codon 3, both on base 2 (one variant) + */ sf = new SequenceFeature("sequence_variant", "", 8, 8, 0f, null); sf.setValue("alleles", "C, G"); + sf.setValue("ID", "sequence_variant:rs758803214"); dna.addSequenceFeature(sf); // no alleles on codon 4 - // alleles on codon 5 on all 3 bases + + /* + * alleles on codon 5 on all 3 bases (distinct variants) + */ sf = new SequenceFeature("sequence_variant", "", 13, 13, 0f, null); sf.setValue("alleles", "C, G"); // (C duplicates given base value) + sf.setValue("ID", "sequence_variant:rs758803215"); dna.addSequenceFeature(sf); sf = new SequenceFeature("sequence_variant", "", 14, 14, 0f, null); sf.setValue("alleles", "g, a"); // should force to upper-case + sf.setValue("ID", "sequence_variant:rs758803216"); dna.addSequenceFeature(sf); sf = new SequenceFeature("sequence_variant", "", 15, 15, 0f, null); sf.setValue("alleles", "A, T"); + sf.setValue("ID", "sequence_variant:rs758803217"); dna.addSequenceFeature(sf); + /* + * build map - expect variants on positions 1, 2, 3, 5 + */ variantsMap = AlignmentUtils.buildDnaVariantsMap(dna, map); assertEquals(4, variantsMap.size()); + + /* + * one variant on protein position 1 + */ + assertEquals(1, variantsMap.get(1).size()); assertTrue(Arrays.deepEquals(new String[][] { { "A", "T" }, { "T" }, - { "G" } }, variantsMap.get(1))); + { "G" } }, variantsMap.get(1).get(0))); + + /* + * two variants on protein position 2 + */ + assertEquals(2, variantsMap.get(2).size()); assertTrue(Arrays.deepEquals(new String[][] { { "A" }, { "A", "T" }, - { "A", "G" } }, variantsMap.get(2))); + { "A" } }, variantsMap.get(2).get(0))); + assertTrue(Arrays.deepEquals(new String[][] { { "A" }, { "A" }, + { "A", "G" } }, variantsMap.get(2).get(1))); + + /* + * one variant on protein position 3 + */ + assertEquals(1, variantsMap.get(3).size()); assertTrue(Arrays.deepEquals(new String[][] { { "T" }, - { "T", "C", "G" }, { "T" } }, variantsMap.get(3))); - // duplicated bases are not removed here, handled in computePeptideVariants + { "T", "C", "G" }, { "T" } }, variantsMap.get(3).get(0))); + + /* + * three variants on protein position 5 + * duplicated bases are not removed here, handled in computePeptideVariants + */ + assertEquals(3, variantsMap.get(5).size()); assertTrue(Arrays.deepEquals(new String[][] { { "C", "C", "G" }, - { "C", "G", "A" }, { "C", "A", "T" } }, variantsMap.get(5))); + { "C" }, { "C" } }, variantsMap.get(5).get(0))); + assertTrue(Arrays.deepEquals(new String[][] { { "C" }, + { "C", "G", "A" }, { "C" } }, variantsMap.get(5).get(1))); + assertTrue(Arrays.deepEquals(new String[][] { { "C" }, { "C" }, + { "C", "A", "T" } }, variantsMap.get(5).get(2))); } /**