From faf6281b4ee692a989d0d625b1bb0d581cc0269c Mon Sep 17 00:00:00 2001 From: jprocter Date: Mon, 8 Jun 2009 11:20:50 +0000 Subject: [PATCH] *experimental use of picr* apply gpl development license --- src/jalview/ws/DBRefFetcher.java | 69 +++++++++++++++++++++++++++++--------- 1 file changed, 54 insertions(+), 15 deletions(-) diff --git a/src/jalview/ws/DBRefFetcher.java b/src/jalview/ws/DBRefFetcher.java index 825b0f9..5400d4e 100644 --- a/src/jalview/ws/DBRefFetcher.java +++ b/src/jalview/ws/DBRefFetcher.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4) - * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1) + * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -18,18 +18,27 @@ */ package jalview.ws; -import java.io.*; -import java.util.*; +import jalview.analysis.AlignSeq; +import jalview.datamodel.AlignmentI; +import jalview.datamodel.DBRefEntry; +import jalview.datamodel.DBRefSource; +import jalview.datamodel.Mapping; +import jalview.datamodel.SequenceFeature; +import jalview.datamodel.SequenceI; +import jalview.gui.AlignFrame; +import jalview.gui.CutAndPasteTransfer; +import jalview.gui.Desktop; +import jalview.gui.IProgressIndicator; +import jalview.gui.OOMWarning; + +import java.util.Enumeration; +import java.util.Hashtable; +import java.util.StringTokenizer; +import java.util.Vector; import org.biojava.dasobert.dasregistry.DasSource; -import org.exolab.castor.mapping.*; -import org.exolab.castor.xml.*; -import jalview.analysis.*; -import jalview.datamodel.*; -import jalview.datamodel.Mapping; -import jalview.gui.*; -import jalview.ws.dbsources.Uniprot; -import jalview.ws.ebi.EBIFetchClient; + +import uk.ac.ebi.picr.model.UPEntry; /** * Implements a runnable for validating a sequence against external databases @@ -49,6 +58,10 @@ public class DBRefFetcher implements Runnable StringBuffer sbuffer = new StringBuffer(); boolean running = false; + /** + * picr client instance + */ + uk.ac.ebi.www.picr.AccessionMappingService.AccessionMapperInterface picrClient = null; // /This will be a collection of Vectors of sequenceI refs. // The key will be the seq name or accession id of the seq @@ -237,9 +250,16 @@ public class DBRefFetcher implements Runnable { throw new Error("Implementation error. Must initialise dbSources"); } + running = true; long startTime = System.currentTimeMillis(); af.setProgressBar("Fetching db refs", startTime); - running = true; + try { + picrClient = new uk.ac.ebi.www.picr.AccessionMappingService.AccessionMapperServiceLocator().getAccessionMapperPort(); + } catch (Exception e) + { + System.err.println("Couldn't locate PICR service instance.\n"); + e.printStackTrace(); + } int db = 0; Vector sdataset = new Vector(); for (int s = 0; s < dataset.length; s++) @@ -350,8 +370,27 @@ public class DBRefFetcher implements Runnable while (st.hasMoreTokens()) { String token = st.nextToken(); - addSeqId(sequence, token); - queries.addElement(token.toUpperCase()); + UPEntry[] presp = null; + try { + presp=picrClient.getUPIForAccession(token, null, picrClient.getMappedDatabaseNames(), null, true); + } catch (Exception e) { + System.err.println("Exception with Picr for '"+token+"'\n"); + e.printStackTrace(); + } + if (presp!=null && presp.length>0) + { + for (int id=0;id