1 package jalview.datamodel.xdb.embl;
3 import java.io.StringReader;
5 public class EmblTestHelper
7 // adapted from http://www.ebi.ac.uk/ena/data/view/X07547&display=xml
8 // dna and translations truncated for convenience
9 private static final String TESTDATA = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"
11 + "<entry accession=\"X07547\" version=\"1\" entryVersion=\"8\""
12 + " dataClass=\"STD\" taxonomicDivision=\"PRO\""
13 + " moleculeType=\"genomic DNA\" sequenceLength=\"7499\" topology=\"linear\""
14 + " firstPublic=\"1988-11-10\" firstPublicRelease=\"18\""
15 + " lastUpdated=\"1999-02-10\" lastUpdatedRelease=\"58\">"
16 + "<secondaryAccession>X07574</secondaryAccession>"
17 + "<description>C. trachomatis plasmid</description>"
18 + "<keyword>plasmid</keyword><keyword>unidentified reading frame</keyword>"
19 + "<xref db=\"EuropePMC\" id=\"PMC107176\" secondaryId=\"9573186\" />"
20 + "<xref db=\"MD5\" id=\"ac73317\" />"
22 * first CDS (range and translation changed to keep test data manageable)
24 + "<feature name=\"CDS\" location=\"complement(46..57)\">"
25 // test the case of >1 cross-ref to the same database (JAL-2029)
26 + "<xref db=\"UniProtKB/Swiss-Prot\" id=\"B0BCM4\" secondaryId=\"2.1\" />"
27 + "<xref db=\"UniProtKB/Swiss-Prot\" id=\"P0CE20\" />"
28 + "<qualifier name=\"note\"><value>ORF 8 (AA 1-330)</value><value>pickle</value></qualifier>"
29 + "<qualifier name=\"protein_id\"><value>CAA30420.1</value></qualifier>"
30 + "<qualifier name=\"translation\"><value>MLCF</value><evidence>Keith</evidence></qualifier>"
33 * second CDS (range and translation changed to keep test data manageable)
35 + "<feature name=\"CDS\" location=\"4..15\">"
36 + "<xref db=\"UniProtKB/Swiss-Prot\" id=\"B0BCM3\" />"
37 + "<qualifier name=\"protein_id\"><value>CAA30421.1</value></qualifier>"
38 + "<qualifier name=\"translation\"><value>MSSS</value></qualifier>"
41 * third CDS is made up - has no xref - code should synthesize
42 * one to an assumed EMBLCDSPROTEIN accession
44 + "<feature name=\"CDS\" location=\"join(4..6,10..15)\">"
45 + "<qualifier name=\"protein_id\"><value>CAA12345.6</value></qualifier>"
46 + "<qualifier name=\"translation\"><value>MSS</value></qualifier>"
49 * sequence (modified for test purposes)
50 * emulates EMBL XML 1.2 which splits sequence data every 60 characters
51 * see EmblSequence.setSequence
53 + "<sequence>GGTATGTCCTCTAGTACAAAC\n"
54 + "ACCCCCAATATTGTGATATAATTAAAAACATAGCAT"
55 + "</sequence></entry></ROOT>";
57 static EmblFile getEmblFile()
59 return EmblFile.getEmblFile(new StringReader(TESTDATA));