codonPos = codonPositions;
baseCodon = new char[3];
int cdsStart = fromSeq.getStart();
- baseCodon[0] = fromSeq.getCharAt(codonPos[0] - cdsStart);
- baseCodon[1] = fromSeq.getCharAt(codonPos[1] - cdsStart);
- baseCodon[2] = fromSeq.getCharAt(codonPos[2] - cdsStart);
+ baseCodon[0] = Character
+ .toUpperCase(fromSeq.getCharAt(codonPos[0] - cdsStart));
+ baseCodon[1] = Character
+ .toUpperCase(fromSeq.getCharAt(codonPos[1] - cdsStart));
+ baseCodon[2] = Character
+ .toUpperCase(fromSeq.getCharAt(codonPos[2] - cdsStart));
}
else
{
public class MappedFeaturesTest
{
- @Test
+ @Test(groups = "Functional")
public void testFindProteinVariants()
{
/*
* dna/10-20 aCGTaGctGAa (codons CGT=R, GGA = G)
* mapping: 3:1 from [11-13,15,18-19] to peptide/1-2 RG
*/
- SequenceI from = new Sequence("dna/10-20", "ACGTAGCTGAA");
+ SequenceI from = new Sequence("dna/10-20", "acgTAGCTGAA");
SequenceI to = new Sequence("peptide", "RG");
MapList map = new MapList(new int[] { 11, 13, 15, 15, 18, 19 },
new int[]
assertEquals(variant, "c.13T>C(p.=)");
/*
- * CSQ:HGVSp value is used if present
+ * CSQ:HGVSp value is used if present
+ * _and_ it contains "p." following a colon
*/
Map<String, String> csq = new HashMap<>();
csq.put("HGVSp", "hello:world");
sf2.setValue("CSQ", csq);
variant = mf.findProteinVariants(sf2);
- assertEquals(variant, "world");
+ assertEquals(variant, "c.13T>C(p.=)");
+ csq.put("HGVSp", "p.HelloWorld");
+ variant = mf.findProteinVariants(sf2);
+ assertEquals(variant, "c.13T>C(p.=)");
+ csq.put("HGVSp", "try this:hellop.world");
+ variant = mf.findProteinVariants(sf2);
+ assertEquals(variant, "hellop.world");
/*
* missense and indel variants in second codon