null));
dna2.addSequenceFeature(new SequenceFeature("CDS", "cds5", 13, 15, 0f,
null));
+ AlignmentI dna = new Alignment(new SequenceI[] { dna1, dna2 });
+ dna.setDataset(null);
List<AlignedCodonFrame> mappings = new ArrayList<AlignedCodonFrame>();
MapList map = new MapList(new int[] { 4, 6, 10, 12 },
mappings.add(acf);
AlignmentI cds = AlignmentUtils.makeCdsAlignment(new SequenceI[] {
- dna1, dna2 }, mappings, '-');
+ dna1, dna2 }, mappings, dna);
assertEquals(2, cds.getSequences().size());
assertEquals("---GGG---TTT---", cds.getSequenceAt(0)
.getSequenceAsString());
.getSequenceAsString());
/*
+ * verify shared, extended alignment dataset
+ */
+ assertSame(dna.getDataset(), cds.getDataset());
+ assertTrue(dna.getDataset().getSequences()
+ .contains(cds.getSequenceAt(0).getDatasetSequence()));
+ assertTrue(dna.getDataset().getSequences()
+ .contains(cds.getSequenceAt(1).getDatasetSequence()));
+
+ /*
* Verify updated mappings
*/
assertEquals(2, mappings.size());
* Create the Exon alignment; also replaces the dna-to-protein mappings with
* exon-to-protein and exon-to-dna mappings
*/
+ AlignmentI dna = new Alignment(new SequenceI[] { dna1 });
+ dna.setDataset(null);
AlignmentI exal = AlignmentUtils.makeCdsAlignment(
- new SequenceI[] { dna1 }, mappings, '-');
+ new SequenceI[] { dna1 }, mappings, dna);
/*
* Verify we have 3 cds sequences, mapped to pep1/2/3 respectively
List<SequenceI> cds = exal.getSequences();
assertEquals(3, cds.size());
+ /*
+ * verify shared, extended alignment dataset
+ */
+ assertSame(exal.getDataset(), dna.getDataset());
+ assertTrue(dna.getDataset().getSequences()
+ .contains(cds.get(0).getDatasetSequence()));
+ assertTrue(dna.getDataset().getSequences()
+ .contains(cds.get(1).getDatasetSequence()));
+ assertTrue(dna.getDataset().getSequences()
+ .contains(cds.get(2).getDatasetSequence()));
+
+ /*
+ * verify aligned cds sequences and their xrefs
+ */
SequenceI cdsSeq = cds.get(0);
assertEquals("---GGG---TTT", cdsSeq.getSequenceAsString());
assertEquals("dna1|A12345", cdsSeq.getName());
acf.addMap(dna2.getDatasetSequence(), pep2.getDatasetSequence(), map);
mappings.add(acf);
+ AlignmentI dna = new Alignment(new SequenceI[] { dna1, dna2, dna3 });
+ dna.setDataset(null);
AlignmentI cds = AlignmentUtils.makeCdsAlignment(new SequenceI[] {
- dna1, dna2, dna3 }, mappings, '-');
- assertEquals(2, cds.getSequences().size());
- assertEquals("GGGCCCTTTGGG", cds.getSequenceAt(0).getSequenceAsString());
- assertEquals("GGGCC---TGGG", cds.getSequenceAt(1).getSequenceAsString());
+ dna1, dna2, dna3 }, mappings, dna);
+ List<SequenceI> cdsSeqs = cds.getSequences();
+ assertEquals(2, cdsSeqs.size());
+ assertEquals("GGGCCCTTTGGG", cdsSeqs.get(0).getSequenceAsString());
+ assertEquals("GGGCC---TGGG", cdsSeqs.get(1).getSequenceAsString());
/*
+ * verify shared, extended alignment dataset
+ */
+ assertSame(dna.getDataset(), cds.getDataset());
+ assertTrue(dna.getDataset().getSequences()
+ .contains(cdsSeqs.get(0).getDatasetSequence()));
+ assertTrue(dna.getDataset().getSequences()
+ .contains(cdsSeqs.get(1).getDatasetSequence()));
+
+ /*
* Verify updated mappings
*/
assertEquals(2, mappings.size());