import static org.testng.AssertJUnit.assertEquals;
+import jalview.datamodel.Sequence;
+import jalview.datamodel.SequenceI;
+
+import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Vector;
+import java.util.List;
import org.testng.annotations.Test;
* Make a (CDS) Feature with 4 locations
*/
EmblFeature cds = new EmblFeature();
- cds.setLocation("join(10..20,complement(30..40),50..60,70..80,complement(join(90..100,110..120)))");
+ cds.setLocation("join(10..20,complement(30..40),50..60,70..80,complement(110..120))");
int[] exons = testee.getCdsRanges(cds);
- assertEquals("[10, 20, 40, 30, 50, 60, 70, 80, 120, 110, 100, 90]",
+ assertEquals("[10, 20, 40, 30, 50, 60, 70, 80, 120, 110]",
Arrays.toString(exons));
}
+
+ @Test(groups = "Functional")
+ public void testParseCodingFeature()
+ {
+ // not the whole sequence but enough for this test...
+ SequenceI dna = new Sequence("J03321", "GGATCCGTAAGTTAGACGAAATT");
+ List<SequenceI> peptides = new ArrayList<SequenceI>();
+ EmblFile ef = EmblTestHelper.getEmblFile();
+ EmblFeature feature = null;
+ for (EmblFeature feat : ef.getEntries().get(0).getFeatures())
+ {
+ if ("CDS".equals(feat.getName()))
+ {
+ feature = feat;
+ break;
+ }
+ }
+
+ EmblEntry testee = new EmblEntry();
+ testee.parseCodingFeature(feature, "EMBL", dna, peptides);
+ }
}