+++ /dev/null
-/*
- * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
- * Copyright (C) $$Year-Rel$$ The Jalview Authors
- *
- * This file is part of Jalview.
- *
- * Jalview is free software: you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 3
- * of the License, or (at your option) any later version.
- *
- * Jalview is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
- * The Jalview Authors are detailed in the 'AUTHORS' file.
- */
-package jalview.datamodel.xdb.embl;
-
-import static org.testng.AssertJUnit.assertEquals;
-import static org.testng.AssertJUnit.assertNull;
-
-import jalview.datamodel.DBRefEntry;
-import jalview.gui.JvOptionPane;
-
-import java.util.Vector;
-
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-public class EmblFileTest
-{
-
- @BeforeClass(alwaysRun = true)
- public void setUpJvOptionPane()
- {
- JvOptionPane.setInteractiveMode(false);
- JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
- }
-
- @Test(groups = { "Functional" })
- public void testGetEmblFile()
- {
- Vector<EmblEntry> entries = EmblTestHelper.getEmblFile().getEntries();
- assertEquals(1, entries.size());
- EmblEntry entry = entries.get(0);
-
- assertEquals("X07547", entry.getAccession());
- assertEquals("C. trachomatis plasmid", entry.getDescription());
- assertEquals("STD", entry.getDataClass());
- assertEquals("PRO", entry.getTaxonomicDivision());
- assertEquals("1999-02-10", entry.getLastUpdatedDate());
- assertEquals("58", entry.getLastUpdatedRelease());
- assertEquals("1988-11-10", entry.getFirstPublicDate());
- assertEquals("18", entry.getFirstPublicRelease());
- assertEquals("genomic DNA", entry.getMoleculeType());
- assertEquals("1", entry.getSequenceVersion());
- assertEquals("8", entry.getEntryVersion());
- assertEquals("linear", entry.getTopology());
- assertEquals("7499", entry.getSequenceLength());
-
- /*
- * FIXME these assertions fail - values are null - why?? Adding or removing
- * attributes in the test XML modifies behaviour. eg. inserting an attribute
- * _before_ lastUpdated results in a null value in this field.
- */
- assertEquals("1988-11-10", entry.getFirstPublicDate());
- assertEquals("18", entry.getFirstPublicRelease());
-
- assertEquals(2, entry.getKeywords().size());
- assertEquals("plasmid", entry.getKeywords().get(0));
- assertEquals("unidentified reading frame", entry.getKeywords().get(1));
-
- /*
- * dbrefs
- */
- assertEquals(2, entry.getDbRefs().size());
- DBRefEntry dbref = entry.getDbRefs().get(0);
- assertEquals("EuropePMC", dbref.getSource());
- assertEquals("PMC107176", dbref.getAccessionId());
- assertEquals("9573186", dbref.getVersion());
- dbref = entry.getDbRefs().get(1);
- assertEquals("MD5", dbref.getSource());
- assertEquals("ac73317", dbref.getAccessionId());
- // blank version has been converted to "0"
- assertEquals("0", dbref.getVersion());
-
- /*
- * three sequence features for CDS
- */
- assertEquals(3, entry.getFeatures().size());
- /*
- * first CDS
- */
- EmblFeature ef = entry.getFeatures().get(0);
- assertEquals("CDS", ef.getName());
- assertEquals("complement(46..57)", ef.getLocation());
- assertEquals(2, ef.getDbRefs().size());
- dbref = ef.getDbRefs().get(0);
- assertEquals("UniProtKB/Swiss-Prot", dbref.getSource());
- assertEquals("B0BCM4", dbref.getAccessionId());
- assertEquals("2.1", dbref.getVersion());
- dbref = ef.getDbRefs().get(1);
- assertEquals("UniProtKB/Swiss-Prot", dbref.getSource());
- assertEquals("P0CE20", dbref.getAccessionId());
- // blank version gets converted to "0":
- assertEquals("0", dbref.getVersion());
- // CDS feature qualifiers
- assertEquals(3, ef.getQualifiers().size());
- Qualifier q = ef.getQualifiers().get(0);
- assertEquals("note", q.getName());
- assertEquals(2, q.getValues().length);
- assertEquals("ORF 8 (AA 1-330)", q.getValues()[0]);
- assertEquals("pickle", q.getValues()[1]);
- assertNull(q.getEvidence());
- q = ef.getQualifiers().get(1);
- assertEquals("protein_id", q.getName());
- assertEquals(1, q.getValues().length);
- assertEquals("CAA30420.1", q.getValues()[0]);
- q = ef.getQualifiers().get(2);
- assertEquals("translation", q.getName());
- assertEquals(1, q.getValues().length);
- assertEquals("MLCF", q.getValues()[0]);
- assertEquals(1, q.getEvidence().length);
- assertEquals("Keith", q.getEvidence()[0]);
-
- /*
- * second CDS
- */
- ef = entry.getFeatures().get(1);
- assertEquals("CDS", ef.getName());
- assertEquals("4..15", ef.getLocation());
- assertEquals(1, ef.getDbRefs().size());
- dbref = ef.getDbRefs().get(0);
- assertEquals("UniProtKB/Swiss-Prot", dbref.getSource());
- assertEquals("B0BCM3", dbref.getAccessionId());
- assertEquals("0", dbref.getVersion());
- assertEquals(2, ef.getQualifiers().size());
- q = ef.getQualifiers().get(0);
- assertEquals("protein_id", q.getName());
- assertEquals(1, q.getValues().length);
- assertEquals("CAA30421.1", q.getValues()[0]);
- q = ef.getQualifiers().get(1);
- assertEquals("translation", q.getName());
- assertEquals(1, q.getValues().length);
- assertEquals("MSSS", q.getValues()[0]);
-
- /*
- * third CDS
- */
- ef = entry.getFeatures().get(2);
- assertEquals("CDS", ef.getName());
- assertEquals("join(4..6,10..15)", ef.getLocation());
- assertNull(ef.getDbRefs());
- assertEquals(2, ef.getQualifiers().size());
- q = ef.getQualifiers().get(0);
- assertEquals("protein_id", q.getName());
- assertEquals(1, q.getValues().length);
- assertEquals("CAA12345.6", q.getValues()[0]);
- q = ef.getQualifiers().get(1);
- assertEquals("translation", q.getName());
- assertEquals(1, q.getValues().length);
- assertEquals("MSS", q.getValues()[0]);
-
- /*
- * Sequence - verify newline not converted to space (JAL-2029)
- */
- EmblSequence seq = entry.getSequence();
- assertEquals(
- "GGTATGTCCTCTAGTACAAACACCCCCAATATTGTGATATAATTAAAAACATAGCAT",
- seq.getSequence());
-
- /*
- * getSequence() converts empty DBRefEntry.version to "0"
- */
- assertEquals("0", entry.getDbRefs().get(1).getVersion());
- assertEquals("0", entry.getFeatures().get(0).getDbRefs().get(1)
- .getVersion());
- }
-}