X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fdatamodel%2FSequenceFeatureTest.java;h=f8479a35123f4c4c6b9cb1b6d18f57a652d9a076;hb=d603dfa09e451bde0b376798f68d60c2708dd2b8;hp=2774a16c031e5fe0087c55c63223da3610f06e54;hpb=4eb8d7a0f14e5dd1dc5ad5ad0960bae9b25fa043;p=jalview.git diff --git a/test/jalview/datamodel/SequenceFeatureTest.java b/test/jalview/datamodel/SequenceFeatureTest.java index 2774a16..f8479a3 100644 --- a/test/jalview/datamodel/SequenceFeatureTest.java +++ b/test/jalview/datamodel/SequenceFeatureTest.java @@ -26,11 +26,15 @@ import static org.testng.AssertJUnit.assertNull; import static org.testng.AssertJUnit.assertSame; import static org.testng.AssertJUnit.assertTrue; -import jalview.gui.JvOptionPane; +import java.util.ArrayList; +import java.util.List; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; +import jalview.gui.JvOptionPane; +import jalview.util.MapList; + public class SequenceFeatureTest { @@ -278,13 +282,14 @@ public class SequenceFeatureTest public void testGetDetailsReport() { SequenceI seq = new Sequence("TestSeq", "PLRFQMD"); + String seqName = seq.getName(); // single locus, no group, no score SequenceFeature sf = new SequenceFeature("variant", "G,C", 22, 22, null); String expected = "
" + "" + "
LocationTestSeq22
Typevariant
DescriptionG,C
"; - assertEquals(expected, sf.getDetailsReport(seq)); + assertEquals(expected, sf.getDetailsReport(seqName, null)); // contact feature sf = new SequenceFeature("Disulphide Bond", "a description", 28, 31, @@ -292,7 +297,7 @@ public class SequenceFeatureTest expected = "
" + "" + "
LocationTestSeq28:31
TypeDisulphide Bond
Descriptiona description
"; - assertEquals(expected, sf.getDetailsReport(seq)); + assertEquals(expected, sf.getDetailsReport(seqName, null)); sf = new SequenceFeature("variant", "G,C", 22, 33, 12.5f, "group"); @@ -305,7 +310,7 @@ public class SequenceFeatureTest + "Groupgroup" + "ChildENSP002" + "ParentENSG001"; - assertEquals(expected, sf.getDetailsReport(seq)); + assertEquals(expected, sf.getDetailsReport(seqName, null)); /* * feature with embedded html link in description @@ -316,6 +321,39 @@ public class SequenceFeatureTest + "TypePfam" + "DescriptionFer2 Status: True Positive Pfam 8_8" + "GroupUniprot"; - assertEquals(expected, sf.getDetailsReport(seq)); + assertEquals(expected, sf.getDetailsReport(seqName, null)); + } + + /** + * Feature details report for a virtual feature should include original and + * mapped locations, and also derived peptide consequence if it can be + * determined + */ + @Test(groups = { "Functional" }) + public void testGetDetailsReport_virtualFeature() + { + SequenceI cds = new Sequence("Cds/101-121", "CCTttgAGAtttCAAatgGAT"); + SequenceI seq = new Sequence("TestSeq/8-14", "PLRFQMD"); + MapList map = new MapList(new int[] { 101, 118 }, new int[] { 8, 13 }, + 3, 1); + Mapping mapping = new Mapping(seq, map); + List features = new ArrayList<>(); + // vary ttg (Leu) to ttc (Phe) + SequenceFeature sf = new SequenceFeature("variant", "G,C", 106, 106, + null); + sf.setValue("alleles", "G,C"); // needed to compute peptide consequence! + features.add(sf); + + MappedFeatures mf = new MappedFeatures(mapping, cds, 9, 'L', features); + + String expected = "
" + + "" + + "" + + "" + + "" + + "" + + "
LocationCds106
Peptide LocationTestSeq9
Typevariant
DescriptionG,C
ConsequenceTranslated by Jalviewp.Leu9Phe
allelesG,C
"; + + assertEquals(expected, sf.getDetailsReport(seq.getName(), mf)); } }