package jalview.datamodel.xdb.embl;
import static org.testng.AssertJUnit.assertEquals;
-import static org.testng.AssertJUnit.assertFalse;
import static org.testng.AssertJUnit.assertNull;
-import static org.testng.AssertJUnit.assertTrue;
import jalview.datamodel.DBRefEntry;
public class EmblFileTest
{
- // adapted from http://www.ebi.ac.uk/Tools/dbfetch/dbfetch/embl/x53828/emblxml
+ // adapted from http://www.ebi.ac.uk/ena/data/view/x53828&display=xml
private static final String TESTDATA = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"
- + "<EMBL_Services>"
- + "<entry accession=\"X53828\" version=\"3\" lastUpdated=\"2005-04-18\" releaseCreated=\"25\" releaseLastUpdated=\"83\">"
+ + "<ROOT>"
+ + "<entry accession=\"X53828\" entryVersion=\"3\" lastUpdated=\"2005-04-18\" releaseCreated=\"25\" releaseLastUpdated=\"83\""
+ + " version=\"1\" moleculeType=\"mRNA\" topology=\"linear\" sequenceLength=\"1575\">"
+ "<description>Chicken LDH-A mRNA for lactate dehydrogenase A chain (EC 1.1.1.27)</description>"
+ "<keyword>L-lactate dehydrogenase</keyword><keyword>chutney</keyword>"
- + "<dbreference db=\"EuropePMC\" primary=\"PMC1460223\" secondary=\"9649548\" />"
- + "<dbreference db=\"MD5\" primary=\"d3b68\" />"
- + "<feature name=\"CDS\"><dbreference db=\"GOA\" primary=\"P00340\" secondary=\"2.1\" /><dbreference db=\"InterPro\" primary=\"IPR001236\" />"
+ + "<xref db=\"EuropePMC\" id=\"PMC1460223\" secondaryId=\"9649548\" />"
+ + "<xref db=\"MD5\" id=\"d3b68\" />"
+ + "<feature name=\"CDS\" location=\"60..1058\">"
+ + "<xref db=\"GOA\" id=\"P00340\" secondaryId=\"2.1\" /><xref db=\"InterPro\" id=\"IPR001236\" />"
+ "<qualifier name=\"note\"><value>L-lactate dehydrogenase A-chain</value><value>pickle</value></qualifier>"
+ "<qualifier name=\"translation\"><value>MSLKDHLIHN</value><evidence>Keith</evidence></qualifier>"
- + "<location type=\"single\" complement=\"true\">"
- + "<locationElement type=\"range\" accession=\"X53828\" version=\"1\" complement=\"false\">"
- + "<basePosition type=\"simple\">60</basePosition><basePosition type=\"join\">1058</basePosition>"
- + "</locationElement></location></feature>"
- + "<sequence type=\"mRNA\" version=\"2\">GTGACG</sequence></entry></EMBL_Services>";
+ + "</feature>"
+ + "<sequence>GTGACG</sequence></entry></ROOT>";
@Test(groups = { "Functional" })
public void testGetEmblFile()
"Chicken LDH-A mRNA for lactate dehydrogenase A chain (EC 1.1.1.27)",
entry.getDesc());
assertEquals("2005-04-18", entry.getLastUpdated());
+ assertEquals("mRNA", entry.getMoleculeType());
+ assertEquals("1", entry.getSequenceVersion());
+ assertEquals("3", entry.getEntryVersion());
+ assertEquals("linear", entry.getTopology());
+ assertEquals("1575", entry.getSequenceLength());
/*
* FIXME these assertions fail - values are null - why?? Adding or removing
assertEquals("0", dbref.getVersion());
/*
- * sequence features
+ * sequence feature for CDS
*/
assertEquals(1, entry.getFeatures().size());
EmblFeature ef = entry.getFeatures().get(0);
assertEquals("CDS", ef.getName());
+ assertEquals("60..1058", ef.getLocation());
assertEquals(2, ef.getDbRefs().size());
dbref = ef.getDbRefs().get(0);
assertEquals("GOA", dbref.getSource());
assertEquals(1, q.getEvidence().length);
assertEquals("Keith", q.getEvidence()[0]);
- // feature locations
- assertEquals(1, ef.getLocations().size());
- EmblFeatureLocations fl = ef.getLocations().get(0);
- assertEquals("single", fl.getLocationType());
- assertTrue(fl.isLocationComplement());
- assertEquals(1, fl.getLocElements().size());
- EmblFeatureLocElement le = fl.getLocElements().get(0);
- assertEquals("range", le.getType());
- assertEquals("X53828", le.getAccession());
- assertEquals("1", le.getVersion());
- assertFalse(le.isComplement());
- assertEquals(2, le.getBasePositions().length);
- BasePosition bp = le.getBasePositions()[0];
- assertEquals("simple", bp.getType());
- assertEquals("60", bp.getPos());
- bp = le.getBasePositions()[1];
- assertEquals("join", bp.getType());
- assertEquals("1058", bp.getPos());
-
/*
* Sequence
*/
EmblSequence seq = entry.getSequence();
- assertEquals("mRNA", seq.getType());
- assertEquals("2", seq.getVersion());
assertEquals("GTGACG", seq.getSequence());
/*