Clover icon

jalviewX

  1. Project Clover database Wed Oct 31 2018 15:13:58 GMT
  2. Package jalview.datamodel.xdb.embl

File EmblFileTest.java

 

Code metrics

0
96
2
1
183
118
2
0.02
48
2
1

Classes

Class Line # Actions
EmblFileTest 34 96 2 0
1.0100%
 

Contributing tests

This file is covered by 1 test. .

Source view

1    /*
2    * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3    * Copyright (C) $$Year-Rel$$ The Jalview Authors
4    *
5    * This file is part of Jalview.
6    *
7    * Jalview is free software: you can redistribute it and/or
8    * modify it under the terms of the GNU General Public License
9    * as published by the Free Software Foundation, either version 3
10    * of the License, or (at your option) any later version.
11    *
12    * Jalview is distributed in the hope that it will be useful, but
13    * WITHOUT ANY WARRANTY; without even the implied warranty
14    * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15    * PURPOSE. See the GNU General Public License for more details.
16    *
17    * You should have received a copy of the GNU General Public License
18    * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19    * The Jalview Authors are detailed in the 'AUTHORS' file.
20    */
21    package jalview.datamodel.xdb.embl;
22   
23    import static org.testng.AssertJUnit.assertEquals;
24    import static org.testng.AssertJUnit.assertNull;
25   
26    import jalview.datamodel.DBRefEntry;
27    import jalview.gui.JvOptionPane;
28   
29    import java.util.Vector;
30   
31    import org.testng.annotations.BeforeClass;
32    import org.testng.annotations.Test;
33   
 
34    public class EmblFileTest
35    {
36   
 
37  1 toggle @BeforeClass(alwaysRun = true)
38    public void setUpJvOptionPane()
39    {
40  1 JvOptionPane.setInteractiveMode(false);
41  1 JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
42    }
43   
 
44  1 toggle @Test(groups = { "Functional" })
45    public void testGetEmblFile()
46    {
47  1 Vector<EmblEntry> entries = EmblTestHelper.getEmblFile().getEntries();
48  1 assertEquals(1, entries.size());
49  1 EmblEntry entry = entries.get(0);
50   
51  1 assertEquals("X07547", entry.getAccession());
52  1 assertEquals("C. trachomatis plasmid", entry.getDescription());
53  1 assertEquals("STD", entry.getDataClass());
54  1 assertEquals("PRO", entry.getTaxonomicDivision());
55  1 assertEquals("1999-02-10", entry.getLastUpdatedDate());
56  1 assertEquals("58", entry.getLastUpdatedRelease());
57  1 assertEquals("1988-11-10", entry.getFirstPublicDate());
58  1 assertEquals("18", entry.getFirstPublicRelease());
59  1 assertEquals("genomic DNA", entry.getMoleculeType());
60  1 assertEquals("1", entry.getSequenceVersion());
61  1 assertEquals("8", entry.getEntryVersion());
62  1 assertEquals("linear", entry.getTopology());
63  1 assertEquals("7499", entry.getSequenceLength());
64   
65    /*
66    * FIXME these assertions fail - values are null - why?? Adding or removing
67    * attributes in the test XML modifies behaviour. eg. inserting an attribute
68    * _before_ lastUpdated results in a null value in this field.
69    */
70  1 assertEquals("1988-11-10", entry.getFirstPublicDate());
71  1 assertEquals("18", entry.getFirstPublicRelease());
72   
73  1 assertEquals(2, entry.getKeywords().size());
74  1 assertEquals("plasmid", entry.getKeywords().get(0));
75  1 assertEquals("unidentified reading frame", entry.getKeywords().get(1));
76   
77    /*
78    * dbrefs
79    */
80  1 assertEquals(2, entry.getDbRefs().size());
81  1 DBRefEntry dbref = entry.getDbRefs().get(0);
82  1 assertEquals("EuropePMC", dbref.getSource());
83  1 assertEquals("PMC107176", dbref.getAccessionId());
84  1 assertEquals("9573186", dbref.getVersion());
85  1 dbref = entry.getDbRefs().get(1);
86  1 assertEquals("MD5", dbref.getSource());
87  1 assertEquals("ac73317", dbref.getAccessionId());
88    // blank version has been converted to "0"
89  1 assertEquals("0", dbref.getVersion());
90   
91    /*
92    * three sequence features for CDS
93    */
94  1 assertEquals(3, entry.getFeatures().size());
95    /*
96    * first CDS
97    */
98  1 EmblFeature ef = entry.getFeatures().get(0);
99  1 assertEquals("CDS", ef.getName());
100  1 assertEquals("complement(46..57)", ef.getLocation());
101  1 assertEquals(2, ef.getDbRefs().size());
102  1 dbref = ef.getDbRefs().get(0);
103  1 assertEquals("UniProtKB/Swiss-Prot", dbref.getSource());
104  1 assertEquals("B0BCM4", dbref.getAccessionId());
105  1 assertEquals("2.1", dbref.getVersion());
106  1 dbref = ef.getDbRefs().get(1);
107  1 assertEquals("UniProtKB/Swiss-Prot", dbref.getSource());
108  1 assertEquals("P0CE20", dbref.getAccessionId());
109    // blank version gets converted to "0":
110  1 assertEquals("0", dbref.getVersion());
111    // CDS feature qualifiers
112  1 assertEquals(3, ef.getQualifiers().size());
113  1 Qualifier q = ef.getQualifiers().get(0);
114  1 assertEquals("note", q.getName());
115  1 assertEquals(2, q.getValues().length);
116  1 assertEquals("ORF 8 (AA 1-330)", q.getValues()[0]);
117  1 assertEquals("pickle", q.getValues()[1]);
118  1 assertNull(q.getEvidence());
119  1 q = ef.getQualifiers().get(1);
120  1 assertEquals("protein_id", q.getName());
121  1 assertEquals(1, q.getValues().length);
122  1 assertEquals("CAA30420.1", q.getValues()[0]);
123  1 q = ef.getQualifiers().get(2);
124  1 assertEquals("translation", q.getName());
125  1 assertEquals(1, q.getValues().length);
126  1 assertEquals("MLCF", q.getValues()[0]);
127  1 assertEquals(1, q.getEvidence().length);
128  1 assertEquals("Keith", q.getEvidence()[0]);
129   
130    /*
131    * second CDS
132    */
133  1 ef = entry.getFeatures().get(1);
134  1 assertEquals("CDS", ef.getName());
135  1 assertEquals("4..15", ef.getLocation());
136  1 assertEquals(1, ef.getDbRefs().size());
137  1 dbref = ef.getDbRefs().get(0);
138  1 assertEquals("UniProtKB/Swiss-Prot", dbref.getSource());
139  1 assertEquals("B0BCM3", dbref.getAccessionId());
140  1 assertEquals("0", dbref.getVersion());
141  1 assertEquals(2, ef.getQualifiers().size());
142  1 q = ef.getQualifiers().get(0);
143  1 assertEquals("protein_id", q.getName());
144  1 assertEquals(1, q.getValues().length);
145  1 assertEquals("CAA30421.1", q.getValues()[0]);
146  1 q = ef.getQualifiers().get(1);
147  1 assertEquals("translation", q.getName());
148  1 assertEquals(1, q.getValues().length);
149  1 assertEquals("MSSS", q.getValues()[0]);
150   
151    /*
152    * third CDS
153    */
154  1 ef = entry.getFeatures().get(2);
155  1 assertEquals("CDS", ef.getName());
156  1 assertEquals("join(4..6,10..15)", ef.getLocation());
157  1 assertNull(ef.getDbRefs());
158  1 assertEquals(2, ef.getQualifiers().size());
159  1 q = ef.getQualifiers().get(0);
160  1 assertEquals("protein_id", q.getName());
161  1 assertEquals(1, q.getValues().length);
162  1 assertEquals("CAA12345.6", q.getValues()[0]);
163  1 q = ef.getQualifiers().get(1);
164  1 assertEquals("translation", q.getName());
165  1 assertEquals(1, q.getValues().length);
166  1 assertEquals("MSS", q.getValues()[0]);
167   
168    /*
169    * Sequence - verify newline not converted to space (JAL-2029)
170    */
171  1 EmblSequence seq = entry.getSequence();
172  1 assertEquals(
173    "GGTATGTCCTCTAGTACAAACACCCCCAATATTGTGATATAATTAAAAACATAGCAT",
174    seq.getSequence());
175   
176    /*
177    * getSequence() converts empty DBRefEntry.version to "0"
178    */
179  1 assertEquals("0", entry.getDbRefs().get(1).getVersion());
180  1 assertEquals("0", entry.getFeatures().get(0).getDbRefs().get(1)
181    .getVersion());
182    }
183    }