X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fanalysis%2FAAFrequencyTest.java;fp=test%2Fjalview%2Fanalysis%2FAAFrequencyTest.java;h=58601a9e86a7099459c3d4602fc1488c366b6c5e;hb=2fe4506613e52647dd9374151898ded61ea275df;hp=1c04b8e936fe84a802a4d4e767e602ee3fbe50f8;hpb=fc75b80aa07137161c63456c0b69999e80f164d1;p=jalview.git diff --git a/test/jalview/analysis/AAFrequencyTest.java b/test/jalview/analysis/AAFrequencyTest.java index 1c04b8e..58601a9 100644 --- a/test/jalview/analysis/AAFrequencyTest.java +++ b/test/jalview/analysis/AAFrequencyTest.java @@ -26,6 +26,7 @@ import static org.testng.AssertJUnit.assertNull; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.Annotation; import jalview.datamodel.ProfileI; +import jalview.datamodel.ProfilesI; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceI; @@ -41,12 +42,12 @@ public class AAFrequencyTest SequenceI seq3 = new Sequence("Seq3", "C---G"); SequenceI seq4 = new Sequence("Seq4", "CA--t"); SequenceI[] seqs = new SequenceI[] { seq1, seq2, seq3, seq4 }; - ProfileI[] result = new ProfileI[seq1.getLength()]; - - AAFrequency.calculate(seqs, 0, seq1.getLength(), result, false); + int width = seq1.getLength(); + ProfilesI result = AAFrequency.calculate(seqs, width, 0, width, + false); // col 0 is 100% C - ProfileI col = result[0]; + ProfileI col = result.get(0); assertEquals(100f, col.getPercentageIdentity(false)); assertEquals(100f, col.getPercentageIdentity(true)); assertEquals(4, col.getMaxCount()); @@ -54,28 +55,28 @@ public class AAFrequencyTest assertNull(col.getCounts()); // col 1 is 75% A - col = result[1]; + col = result.get(1); assertEquals(75f, col.getPercentageIdentity(false)); assertEquals(100f, col.getPercentageIdentity(true)); assertEquals(3, col.getMaxCount()); assertEquals("A", col.getModalResidue()); // col 2 is 50% G 50% C or 25/25 counting gaps - col = result[2]; + col = result.get(2); assertEquals(25f, col.getPercentageIdentity(false)); assertEquals(50f, col.getPercentageIdentity(true)); assertEquals(1, col.getMaxCount()); assertEquals("CG", col.getModalResidue()); // col 3 is all gaps - col = result[3]; + col = result.get(3); assertEquals(0f, col.getPercentageIdentity(false)); assertEquals(0f, col.getPercentageIdentity(true)); assertEquals(0, col.getMaxCount()); assertEquals("", col.getModalResidue()); // col 4 is 75% T 25% G - col = result[4]; + col = result.get(4); assertEquals(75f, col.getPercentageIdentity(false)); assertEquals(75f, col.getPercentageIdentity(true)); assertEquals(3, col.getMaxCount()); @@ -90,26 +91,27 @@ public class AAFrequencyTest SequenceI seq3 = new Sequence("Seq3", "C--G"); SequenceI seq4 = new Sequence("Seq4", "CA-t"); SequenceI[] seqs = new SequenceI[] { seq1, seq2, seq3, seq4 }; - ProfileI[] result = new ProfileI[seq1.getLength()]; + int width = seq1.getLength(); + ProfilesI result = AAFrequency.calculate(seqs, width, 0, width, + true); - AAFrequency.calculate(seqs, 0, seq1.getLength(), result, true); - ProfileI profile = result[0]; + ProfileI profile = result.get(0); assertEquals(4, profile.getCounts().getCount('C')); assertEquals(4, profile.getHeight()); assertEquals(4, profile.getNonGapped()); - profile = result[1]; + profile = result.get(1); assertEquals(3, profile.getCounts().getCount('A')); assertEquals(4, profile.getHeight()); assertEquals(3, profile.getNonGapped()); - profile = result[2]; + profile = result.get(2); assertEquals(1, profile.getCounts().getCount('C')); assertEquals(1, profile.getCounts().getCount('G')); assertEquals(4, profile.getHeight()); assertEquals(2, profile.getNonGapped()); - profile = result[3]; + profile = result.get(3); assertEquals(3, profile.getCounts().getCount('T')); assertEquals(1, profile.getCounts().getCount('G')); assertEquals(4, profile.getHeight()); @@ -124,15 +126,16 @@ public class AAFrequencyTest SequenceI seq3 = new Sequence("Seq3", "C--G"); SequenceI seq4 = new Sequence("Seq4", "CA-t"); SequenceI[] seqs = new SequenceI[] { seq1, seq2, seq3, seq4 }; - ProfileI[] result = new ProfileI[seq1.getLength()]; - // ensure class loaded and initialized - AAFrequency.calculate(seqs, 0, seq1.getLength(), result, true); + // ensure class loaded and initialised + int width = seq1.getLength(); + AAFrequency.calculate(seqs, width, 0, width, true); + int reps = 100000; long start = System.currentTimeMillis(); for (int i = 0; i < reps; i++) { - AAFrequency.calculate(seqs, 0, seq1.getLength(), result, true); + AAFrequency.calculate(seqs, width, 0, width, true); } System.out.println(System.currentTimeMillis() - start); } @@ -154,11 +157,11 @@ public class AAFrequencyTest SequenceI seq3 = new Sequence("Seq3", "C---G"); SequenceI seq4 = new Sequence("Seq4", "CA--t"); SequenceI[] seqs = new SequenceI[] { seq1, seq2, seq3, seq4 }; - ProfileI[] profiles = new ProfileI[seq1.getLength()]; - AAFrequency.calculate(seqs, 0, seq1.getLength(), profiles, true); + int width = seq1.getLength(); + ProfilesI profiles = AAFrequency.calculate(seqs, width, 0, width, true); AlignmentAnnotation consensus = new AlignmentAnnotation("Consensus", - "PID", new Annotation[seq1.getLength()]); + "PID", new Annotation[width]); AAFrequency .completeConsensus(consensus, profiles, 0, 5, false, true, 4); @@ -195,11 +198,11 @@ public class AAFrequencyTest SequenceI seq3 = new Sequence("Seq3", "C---G"); SequenceI seq4 = new Sequence("Seq4", "CA--t"); SequenceI[] seqs = new SequenceI[] { seq1, seq2, seq3, seq4 }; - ProfileI[] profiles = new ProfileI[seq1.getLength()]; - AAFrequency.calculate(seqs, 0, seq1.getLength(), profiles, true); + int width = seq1.getLength(); + ProfilesI profiles = AAFrequency.calculate(seqs, width, 0, width, true); AlignmentAnnotation consensus = new AlignmentAnnotation("Consensus", - "PID", new Annotation[seq1.getLength()]); + "PID", new Annotation[width]); AAFrequency .completeConsensus(consensus, profiles, 0, 5, true, false, 4);