From 6797d65989b01c8fa5bdeaf6a66e35279b66a7f7 Mon Sep 17 00:00:00 2001 From: Jim Procter Date: Sun, 14 Dec 2014 21:36:17 +0000 Subject: [PATCH] JAL-1617 test to verify Uniprot cross-references are available for EMBL records with Uniprot cross references, and that Jalview recovers the protein sequences --- test/jalview/ws/seqfetcher/DbRefFetcherTest.java | 34 ++++++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/test/jalview/ws/seqfetcher/DbRefFetcherTest.java b/test/jalview/ws/seqfetcher/DbRefFetcherTest.java index 07167bd..785ca42 100644 --- a/test/jalview/ws/seqfetcher/DbRefFetcherTest.java +++ b/test/jalview/ws/seqfetcher/DbRefFetcherTest.java @@ -20,16 +20,19 @@ */ package jalview.ws.seqfetcher; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import jalview.analysis.CrossRef; +import jalview.datamodel.AlignmentI; +import jalview.datamodel.DBRefEntry; +import jalview.datamodel.DBRefSource; +import jalview.util.DBRefUtils; +import jalview.ws.SequenceFetcher; import java.util.ArrayList; import java.util.List; -import jalview.datamodel.DBRefSource; -import jalview.ws.DBRefFetcher; -import jalview.ws.SequenceFetcher; -import jalview.ws.dbsources.das.api.jalviewSourceI; - import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; @@ -94,4 +97,23 @@ public class DbRefFetcherTest uniprot != null && i < 2); } + @Test + public void testEmblUniprotProductRecovery() throws Exception + { + String retrievalId = "CAA23748"; // "V00488"; + DbSourceProxy embl = new SequenceFetcher().getSourceProxy(DBRefSource.EMBL).get(0); + assertNotNull("Couldn't find the EMBL retrieval client",embl); + AlignmentI alsq = embl.getSequenceRecords(retrievalId); + assertNotNull("Couldn't find the EMBL record " + retrievalId, alsq); + assertEquals("Didn't retrieve right number of records", 1, alsq.getHeight()); + DBRefEntry[] dr = DBRefUtils.selectRefs(alsq.getSequenceAt(0).getDBRef(), DBRefSource.PROTEINSEQ); + assertNotNull(dr); + assertEquals("Expected a single Uniprot cross reference", 1, dr.length); + AlignmentI sprods = CrossRef.findXrefSequences(alsq.getSequencesArray(), true, dr[0].getSource(), alsq.getDataset()); + assertNotNull( + "Couldn't recover cross reference sequence from dataset. Was it ever added ?", + sprods); + + + } } -- 1.7.10.2