X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fws%2Fdbsources%2FUniprotTest.java;h=2df8be69fb71d97168519ec0a04cb68661d9c8ab;hb=refs%2Fheads%2Freleases%2FRelease_2_10_0_Branch;hp=60a111130afbad500c555ccf8f88f03ebff88d44;hpb=3412b273e964fb1a9d22564b04a5f0c827ec2461;p=jalview.git
diff --git a/test/jalview/ws/dbsources/UniprotTest.java b/test/jalview/ws/dbsources/UniprotTest.java
index 60a1111..2df8be6 100644
--- a/test/jalview/ws/dbsources/UniprotTest.java
+++ b/test/jalview/ws/dbsources/UniprotTest.java
@@ -1,16 +1,41 @@
+/*
+ * 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 .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.ws.dbsources;
import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertNotNull;
import static org.testng.AssertJUnit.assertNull;
-import org.testng.annotations.Test;
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.Vector;
import jalview.datamodel.PDBEntry;
import jalview.datamodel.SequenceFeature;
+import jalview.datamodel.SequenceI;
import jalview.datamodel.UniprotEntry;
+import java.io.Reader;
+import java.io.StringReader;
+import java.util.Vector;
+
+import org.testng.annotations.Test;
+
public class UniprotTest
{
// adapted from http://www.uniprot.org/uniprot/A9CKP4.xml
@@ -24,6 +49,7 @@ public class UniprotTest
+ "Mitogen-activated protein kinase 13Henry"
+ ""
+ ""
+ + ""
+ ""
+ ""
+ ""
@@ -33,7 +59,7 @@ public class UniprotTest
/**
* Test the method that unmarshals XML to a Uniprot model
*/
- @Test
+ @Test(groups = { "Functional" })
public void testGetUniprotEntries()
{
Uniprot u = new Uniprot();
@@ -51,8 +77,7 @@ public class UniprotTest
/*
* UniprotSequence drops any space characters
*/
- assertEquals("MHAPLVSKDL", entry.getUniprotSequence()
- .getContent());
+ assertEquals("MHAPLVSKDL", entry.getUniprotSequence().getContent());
assertEquals(2, entry.getProtein().getName().size());
assertEquals("Mitogen-activated protein kinase 13", entry.getProtein()
@@ -68,19 +93,19 @@ public class UniprotTest
assertEquals("signal peptide", sf.getType());
assertNull(sf.getDescription());
assertNull(sf.getStatus());
- assertEquals(1, sf.getPosition()); // wrong - Castor bug??
+ assertEquals(1, sf.getPosition());
assertEquals(1, sf.getBegin());
assertEquals(18, sf.getEnd());
sf = features.get(1);
assertEquals("propeptide", sf.getType());
assertEquals("Activation peptide", sf.getDescription());
- assertEquals(19, sf.getPosition()); // wrong - Castor bug??
+ assertEquals(19, sf.getPosition());
assertEquals(19, sf.getBegin());
assertEquals(20, sf.getEnd());
sf = features.get(2);
assertEquals("chain", sf.getType());
assertEquals("Granzyme B", sf.getDescription());
- assertEquals(21, sf.getPosition()); // wrong - Castor bug??
+ assertEquals(21, sf.getPosition());
assertEquals(21, sf.getBegin());
assertEquals(247, sf.getEnd());
@@ -88,35 +113,70 @@ public class UniprotTest
* Check cross-references
*/
Vector xrefs = entry.getDbReference();
- assertEquals(2, xrefs.size());
+ assertEquals(3, xrefs.size());
PDBEntry xref = xrefs.get(0);
assertEquals("2FSQ", xref.getId());
assertEquals("PDB", xref.getType());
- assertEquals(2, xref.getProperty().size());
- assertEquals("X-ray", xref.getProperty().get("method"));
- assertEquals("1.40", xref.getProperty().get("resolution"));
+ assertEquals("X-ray", xref.getProperty("method"));
+ assertEquals("1.40", xref.getProperty("resolution"));
xref = xrefs.get(1);
assertEquals("2FSR", xref.getId());
assertEquals("PDBsum", xref.getType());
- assertNull(xref.getProperty());
+ assertFalse(xref.getProperties().hasMoreElements());
+
+ xref = xrefs.get(2);
+ assertEquals("AE007869", xref.getId());
+ assertEquals("EMBL", xref.getType());
+ assertEquals("AAK85932.1",
+ xref.getProperty("protein sequence ID"));
+ assertEquals("Genomic_DNA",
+ xref.getProperty("molecule type"));
+ }
+
+ @Test(groups = { "Functional" })
+ public void testGetUniprotSequence()
+ {
+ UniprotEntry entry = new Uniprot().getUniprotEntries(
+ new StringReader(UNIPROT_XML)).get(0);
+ SequenceI seq = new Uniprot().uniprotEntryToSequenceI(entry);
+ assertNotNull(seq);
+ assertEquals(6, seq.getDBRefs().length); // 2*Uniprot, PDB, PDBsum, 2*EMBL
+
}
/**
- * Test the method that formats the sequence name in Fasta style
+ * Test the method that formats the sequence id
*/
- @Test
- public void testConstructSequenceFastaHeader()
+ @Test(groups = { "Functional" })
+ public void testGetUniprotEntryId()
{
- Uniprot u = new Uniprot();
- Reader reader = new StringReader(UNIPROT_XML);
- Vector entries = u.getUniprotEntries(reader);
- UniprotEntry entry = entries.get(0);
+ UniprotEntry entry = new Uniprot().getUniprotEntries(
+ new StringReader(UNIPROT_XML)).get(0);
+
+ /*
+ * name formatted as source | accession ids | names
+ * source database converted to Jalview canonical name
+ */
+ String expectedName = "UNIPROT|A9CKP4|A9CKP5|A9CKP4_AGRT5|A9CKP4_AGRT6";
+ assertEquals(expectedName, Uniprot.getUniprotEntryId(entry));
+ }
- // source + accession ids + names + protein names
- String expectedName = ">UniProt/Swiss-Prot|A9CKP4|A9CKP5|A9CKP4_AGRT5|A9CKP4_AGRT6 Mitogen-activated protein kinase 13 Henry";
- assertEquals(expectedName, Uniprot.constructSequenceFastaHeader(entry)
- .toString());
+ /**
+ * Test the method that formats the sequence description
+ */
+ @Test(groups = { "Functional" })
+ public void testGetUniprotEntryDescription()
+ {
+ UniprotEntry entry = new Uniprot().getUniprotEntries(
+ new StringReader(UNIPROT_XML)).get(0);
+
+ /*
+ * recommended names concatenated with space separator
+ */
+ String expectedDescription = "Mitogen-activated protein kinase 13 Henry";
+ assertEquals(expectedDescription,
+ Uniprot.getUniprotEntryDescription(entry));
}
}