git://source.jalview.org
/
jalview.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
23819c4
)
Revert "JAL-2245 Castor mapping and code changes for change to ENA XML format"
author
Jim Procter
<jprocter@issues.jalview.org>
Wed, 5 Oct 2016 15:03:09 +0000
(16:03 +0100)
committer
Jim Procter
<jprocter@issues.jalview.org>
Wed, 5 Oct 2016 15:03:09 +0000
(16:03 +0100)
This reverts commit
30b2b47cbdfa35b127b0fb09e911815cddd9ed7b
.
resources/embl_mapping.xml
patch
|
blob
|
history
src/jalview/datamodel/xdb/embl/EmblFile.java
patch
|
blob
|
history
src/jalview/ws/dbsources/EmblXmlSource.java
patch
|
blob
|
history
src/jalview/ws/ebi/EBIFetchClient.java
patch
|
blob
|
history
test/jalview/datamodel/xdb/embl/EmblEntryTest.java
patch
|
blob
|
history
test/jalview/datamodel/xdb/embl/EmblFileTest.java
patch
|
blob
|
history
test/jalview/datamodel/xdb/embl/EmblTestHelper.java
patch
|
blob
|
history
diff --git
a/resources/embl_mapping.xml
b/resources/embl_mapping.xml
index
7e494b4
..
01b921a
100644
(file)
--- a/
resources/embl_mapping.xml
+++ b/
resources/embl_mapping.xml
@@
-26,7
+26,6
@@
see ftp://ftp.sra.ebi.ac.uk/meta/xsd/sra_1_5/ENA.embl.xsd
see http://www.ebi.ac.uk/ena/submit/data-formats
-->
see ftp://ftp.sra.ebi.ac.uk/meta/xsd/sra_1_5/ENA.embl.xsd
see http://www.ebi.ac.uk/ena/submit/data-formats
-->
- <!--
<class name="jalview.datamodel.xdb.embl.EmblFile">
<map-to xml="ROOT"/>
<field name="entries" type="jalview.datamodel.xdb.embl.EmblEntry" collection="vector">
<class name="jalview.datamodel.xdb.embl.EmblFile">
<map-to xml="ROOT"/>
<field name="entries" type="jalview.datamodel.xdb.embl.EmblEntry" collection="vector">
@@
-36,9
+35,7
@@
<bind-xml name="Error"/>
</field>
</class>
<bind-xml name="Error"/>
</field>
</class>
- -->
<class name="jalview.datamodel.xdb.embl.EmblEntry">
<class name="jalview.datamodel.xdb.embl.EmblEntry">
- <map-to xml="entry"/>
<field name="accession" type="string">
<bind-xml name="accession" node="attribute"/>
</field>
<field name="accession" type="string">
<bind-xml name="accession" node="attribute"/>
</field>
diff --git
a/src/jalview/datamodel/xdb/embl/EmblFile.java
b/src/jalview/datamodel/xdb/embl/EmblFile.java
index
534b38c
..
69870b6
100644
(file)
--- a/
src/jalview/datamodel/xdb/embl/EmblFile.java
+++ b/
src/jalview/datamodel/xdb/embl/EmblFile.java
@@
-20,7
+20,6
@@
*/
package jalview.datamodel.xdb.embl;
*/
package jalview.datamodel.xdb.embl;
-import jalview.bin.Cache;
import jalview.datamodel.DBRefEntry;
import jalview.ws.dbsources.Uniprot;
import jalview.datamodel.DBRefEntry;
import jalview.ws.dbsources.Uniprot;
@@
-28,7
+27,6
@@
import java.io.File;
import java.io.FileReader;
import java.io.PrintWriter;
import java.io.Reader;
import java.io.FileReader;
import java.io.PrintWriter;
import java.io.Reader;
-import java.net.URL;
import java.util.Vector;
import org.exolab.castor.mapping.Mapping;
import java.util.Vector;
import org.exolab.castor.mapping.Mapping;
@@
-83,12
+81,12
@@
public class EmblFile
}
/**
}
/**
- * Parse an Embl XML file into an EmblEntry object
+ * Parse an EmblXML file into an EmblFile object
*
* @param file
* @return parsed EmblXML or null if exceptions were raised
*/
*
* @param file
* @return parsed EmblXML or null if exceptions were raised
*/
- public static EmblEntry getEmblEntry(File file)
+ public static EmblFile getEmblFile(File file)
{
if (file == null)
{
{
if (file == null)
{
@@
-96,7
+94,7
@@
public class EmblFile
}
try
{
}
try
{
- return EmblFile.getEntry(new FileReader(file));
+ return EmblFile.getEmblFile(new FileReader(file));
} catch (Exception e)
{
System.err.println("Exception whilst reading EMBLfile from " + file);
} catch (Exception e)
{
System.err.println("Exception whilst reading EMBLfile from " + file);
@@
-105,32
+103,26
@@
public class EmblFile
return null;
}
return null;
}
- /**
- * Reads the XML response from file and unmarshals into a Java object
- *
- * @param fileReader
- * @return
- */
- public static EmblEntry getEntry(Reader fileReader)
+ public static EmblFile getEmblFile(Reader file)
{
{
- EmblEntry record = new EmblEntry();
+ EmblFile record = new EmblFile();
try
{
// 1. Load the mapping information from the file
Mapping map = new Mapping(record.getClass().getClassLoader());
try
{
// 1. Load the mapping information from the file
Mapping map = new Mapping(record.getClass().getClassLoader());
- URL url = record.getClass().getResource("/embl_mapping.xml");
+ java.net.URL url = record.getClass().getResource("/embl_mapping.xml");
map.loadMapping(url);
// 2. Unmarshal the data
Unmarshaller unmar = new Unmarshaller(record);
try
{
map.loadMapping(url);
// 2. Unmarshal the data
Unmarshaller unmar = new Unmarshaller(record);
try
{
- if (Cache.getDefault(Cache.CASTORLOGLEVEL,
+ // uncomment to DEBUG EMBLFile reading
+ if (jalview.bin.Cache.getDefault(jalview.bin.Cache.CASTORLOGLEVEL,
"debug").equalsIgnoreCase("DEBUG"))
{
"debug").equalsIgnoreCase("DEBUG"))
{
- unmar.setDebug(Cache.log.isDebugEnabled());
- // unmar.setDebug(true);// uncomment to debug unmarshalling
+ unmar.setDebug(jalview.bin.Cache.log.isDebugEnabled());
}
} catch (Exception e)
{
}
} catch (Exception e)
{
@@
-139,7
+131,7
@@
public class EmblFile
unmar.setIgnoreExtraAttributes(true);
unmar.setMapping(map);
unmar.setLogWriter(new PrintWriter(System.out));
unmar.setIgnoreExtraAttributes(true);
unmar.setMapping(map);
unmar.setLogWriter(new PrintWriter(System.out));
- record = (EmblEntry) unmar.unmarshal(fileReader);
+ record = (EmblFile) unmar.unmarshal(file);
canonicaliseDbRefs(record);
} catch (Exception e)
canonicaliseDbRefs(record);
} catch (Exception e)
@@
-155,17
+147,13
@@
public class EmblFile
* Change blank version to "0" in any DBRefEntry, to ensure consistent
* comparison with other DBRefEntry in Jalview
*
* Change blank version to "0" in any DBRefEntry, to ensure consistent
* comparison with other DBRefEntry in Jalview
*
- * @param entry
+ * @param record
* @see Uniprot#getDbVersion
*/
* @see Uniprot#getDbVersion
*/
- static void canonicaliseDbRefs(EmblEntry entry)
+ static void canonicaliseDbRefs(EmblFile record)
{
{
- if (entry == null)
+ for (EmblEntry entry : record.getEntries())
{
{
- return;
- }
-// for (EmblEntry entry : record.getEntries())
-// {
if (entry.getDbRefs() != null)
{
for (DBRefEntry dbref : entry.getDbRefs())
if (entry.getDbRefs() != null)
{
for (DBRefEntry dbref : entry.getDbRefs())
@@
-177,7
+165,7
@@
public class EmblFile
}
}
}
}
- if (entry.getFeatures() != null)
+ if (entry.getFeatures() != null)
{
for (EmblFeature feature : entry.getFeatures())
{
{
for (EmblFeature feature : entry.getFeatures())
{
@@
-193,6
+181,6
@@
public class EmblFile
}
}
}
}
}
}
- // }
+ }
}
}
}
}
diff --git
a/src/jalview/ws/dbsources/EmblXmlSource.java
b/src/jalview/ws/dbsources/EmblXmlSource.java
index
73e67aa
..
2049766
100644
(file)
--- a/
src/jalview/ws/dbsources/EmblXmlSource.java
+++ b/
src/jalview/ws/dbsources/EmblXmlSource.java
@@
-72,7
+72,7
@@
public abstract class EmblXmlSource extends EbiFileRetrievedProxy
"exception.ebiembl_retrieval_failed_on", new String[] {
emprefx.toLowerCase(), query.trim() }), e);
}
"exception.ebiembl_retrieval_failed_on", new String[] {
emprefx.toLowerCase(), query.trim() }), e);
}
- return getEmblSequenceRecords(emprefx, reply);
+ return getEmblSequenceRecords(emprefx, query, reply);
}
/**
}
/**
@@
-81,38
+81,46
@@
public abstract class EmblXmlSource extends EbiFileRetrievedProxy
* @param emprefx
* either EMBL or EMBLCDS strings are allowed - anything else will
* not retrieve emblxml
* @param emprefx
* either EMBL or EMBLCDS strings are allowed - anything else will
* not retrieve emblxml
+ * @param query
* @param file
* the EMBL XML file containing the results of a query
* @return
* @throws Exception
*/
* @param file
* the EMBL XML file containing the results of a query
* @return
* @throws Exception
*/
- public AlignmentI getEmblSequenceRecords(String emprefx, File reply)
- throws Exception
+ public AlignmentI getEmblSequenceRecords(String emprefx, String query,
+ File reply) throws Exception
{
{
- EmblEntry entry = null;
+ EmblFile efile = null;
+ List<SequenceI> seqs = new ArrayList<SequenceI>();
if (reply != null && reply.exists())
{
file = reply.getAbsolutePath();
if (reply.length() > EMBL_NOT_FOUND_REPLY.length())
{
if (reply != null && reply.exists())
{
file = reply.getAbsolutePath();
if (reply.length() > EMBL_NOT_FOUND_REPLY.length())
{
- entry = EmblFile.getEmblEntry(reply);
+ efile = EmblFile.getEmblFile(reply);
}
}
}
}
- // TODO don't need peptides any more?
List<SequenceI> peptides = new ArrayList<SequenceI>();
List<SequenceI> peptides = new ArrayList<SequenceI>();
- AlignmentI al = null;
- if (entry != null)
+ if (efile != null)
{
{
- SequenceI seq = entry.getSequence(emprefx, peptides);
- if (seq != null)
+ for (EmblEntry entry : efile.getEntries())
{
{
- seq.deriveSequence();
- // place DBReferences on dataset and refer
- al = new Alignment(new SequenceI[] { seq });
+ SequenceI seq = entry.getSequence(emprefx, peptides);
+ if (seq != null)
+ {
+ seqs.add(seq.deriveSequence());
+ // place DBReferences on dataset and refer
+ }
}
}
}
}
+
+ AlignmentI al = null;
+ if (!seqs.isEmpty())
+ {
+ al = new Alignment(seqs.toArray(new SequenceI[seqs.size()]));
+ }
stopQuery();
return al;
}
stopQuery();
return al;
}
diff --git
a/src/jalview/ws/ebi/EBIFetchClient.java
b/src/jalview/ws/ebi/EBIFetchClient.java
index
5531512
..
1dff32f
100644
(file)
--- a/
src/jalview/ws/ebi/EBIFetchClient.java
+++ b/
src/jalview/ws/ebi/EBIFetchClient.java
@@
-208,7
+208,6
@@
public class EBIFetchClient
if (outFile != null)
{
FileOutputStream fio = new FileOutputStream(outFile);
if (outFile != null)
{
FileOutputStream fio = new FileOutputStream(outFile);
- // fio.write("<?xml version='1.0' encoding='UTF-8'?>\n".getBytes());
byte[] bb = new byte[32 * 1024];
int l;
while ((l = is.read(bb)) > 0)
byte[] bb = new byte[32 * 1024];
int l;
while ((l = is.read(bb)) > 0)
diff --git
a/test/jalview/datamodel/xdb/embl/EmblEntryTest.java
b/test/jalview/datamodel/xdb/embl/EmblEntryTest.java
index
f332fa6
..
abe5099
100644
(file)
--- a/
test/jalview/datamodel/xdb/embl/EmblEntryTest.java
+++ b/
test/jalview/datamodel/xdb/embl/EmblEntryTest.java
@@
-1,7
+1,6
@@
package jalview.datamodel.xdb.embl;
import static org.testng.AssertJUnit.assertEquals;
package jalview.datamodel.xdb.embl;
import static org.testng.AssertJUnit.assertEquals;
-import static org.testng.AssertJUnit.assertNotNull;
import static org.testng.AssertJUnit.assertNull;
import static org.testng.AssertJUnit.assertSame;
import static org.testng.AssertJUnit.assertNull;
import static org.testng.AssertJUnit.assertSame;
@@
-41,21
+40,20
@@
public class EmblEntryTest
// not the whole sequence but enough for this test...
List<SequenceI> peptides = new ArrayList<SequenceI>();
SequenceIdMatcher matcher = new SequenceIdMatcher(peptides);
// not the whole sequence but enough for this test...
List<SequenceI> peptides = new ArrayList<SequenceI>();
SequenceIdMatcher matcher = new SequenceIdMatcher(peptides);
- EmblEntry ef = EmblTestHelper.getEmblFile();
- assertNotNull(ef);
- // assertEquals(1, ef.getEntries().size());
- // EmblEntry testee = ef.getEntries().get(0);
+ EmblFile ef = EmblTestHelper.getEmblFile();
+ assertEquals(1, ef.getEntries().size());
+ EmblEntry testee = ef.getEntries().get(0);
String sourceDb = "EMBL";
String sourceDb = "EMBL";
- SequenceI dna = ef.makeSequence(sourceDb);
+ SequenceI dna = testee.makeSequence(sourceDb);
/*
* parse three CDS features, with two/one/no Uniprot cross-refs
*/
/*
* parse three CDS features, with two/one/no Uniprot cross-refs
*/
- for (EmblFeature feature : ef.getFeatures())
+ for (EmblFeature feature : ef.getEntries().get(0).getFeatures())
{
if ("CDS".equals(feature.getName()))
{
{
if ("CDS".equals(feature.getName()))
{
- ef.parseCodingFeature(feature, sourceDb, dna, peptides, matcher);
+ testee.parseCodingFeature(feature, sourceDb, dna, peptides, matcher);
}
}
}
}
diff --git
a/test/jalview/datamodel/xdb/embl/EmblFileTest.java
b/test/jalview/datamodel/xdb/embl/EmblFileTest.java
index
6afdced
..
906436f
100644
(file)
--- a/
test/jalview/datamodel/xdb/embl/EmblFileTest.java
+++ b/
test/jalview/datamodel/xdb/embl/EmblFileTest.java
@@
-21,11
+21,12
@@
package jalview.datamodel.xdb.embl;
import static org.testng.AssertJUnit.assertEquals;
package jalview.datamodel.xdb.embl;
import static org.testng.AssertJUnit.assertEquals;
-import static org.testng.AssertJUnit.assertNotNull;
import static org.testng.AssertJUnit.assertNull;
import jalview.datamodel.DBRefEntry;
import static org.testng.AssertJUnit.assertNull;
import jalview.datamodel.DBRefEntry;
+import java.util.Vector;
+
import org.testng.annotations.Test;
public class EmblFileTest
import org.testng.annotations.Test;
public class EmblFileTest
@@
-34,10
+35,9
@@
public class EmblFileTest
@Test(groups = { "Functional" })
public void testGetEmblFile()
{
@Test(groups = { "Functional" })
public void testGetEmblFile()
{
- EmblEntry entry = EmblTestHelper.getEmblFile();
- assertNotNull(entry);
- // assertEquals(1, entries.size());
- // EmblEntry entry = entries.get(0);
+ 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("X07547", entry.getAccession());
assertEquals("C. trachomatis plasmid", entry.getDescription());
diff --git
a/test/jalview/datamodel/xdb/embl/EmblTestHelper.java
b/test/jalview/datamodel/xdb/embl/EmblTestHelper.java
index
a79bdb8
..
6349164
100644
(file)
--- a/
test/jalview/datamodel/xdb/embl/EmblTestHelper.java
+++ b/
test/jalview/datamodel/xdb/embl/EmblTestHelper.java
@@
-7,7
+7,7
@@
public class EmblTestHelper
// adapted from http://www.ebi.ac.uk/ena/data/view/X07547&display=xml
// dna and translations truncated for convenience
private static final String TESTDATA = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"
// adapted from http://www.ebi.ac.uk/ena/data/view/X07547&display=xml
// dna and translations truncated for convenience
private static final String TESTDATA = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"
- // + "<ROOT>"
+ + "<ROOT>"
+ "<entry accession=\"X07547\" version=\"1\" entryVersion=\"8\""
+ " dataClass=\"STD\" taxonomicDivision=\"PRO\""
+ " moleculeType=\"genomic DNA\" sequenceLength=\"7499\" topology=\"linear\""
+ "<entry accession=\"X07547\" version=\"1\" entryVersion=\"8\""
+ " dataClass=\"STD\" taxonomicDivision=\"PRO\""
+ " moleculeType=\"genomic DNA\" sequenceLength=\"7499\" topology=\"linear\""
@@
-52,10
+52,10
@@
public class EmblTestHelper
*/
+ "<sequence>GGTATGTCCTCTAGTACAAAC\n"
+ "ACCCCCAATATTGTGATATAATTAAAAACATAGCAT"
*/
+ "<sequence>GGTATGTCCTCTAGTACAAAC\n"
+ "ACCCCCAATATTGTGATATAATTAAAAACATAGCAT"
- + "</sequence></entry>";
+ + "</sequence></entry></ROOT>";
- static EmblEntry getEmblFile()
+ static EmblFile getEmblFile()
{
{
- return EmblFile.getEntry(new StringReader(TESTDATA));
+ return EmblFile.getEmblFile(new StringReader(TESTDATA));
}
}
}
}