import jalview.datamodel.UniprotEntry;
import jalview.datamodel.UniprotFile;
import jalview.ws.ebi.EBIFetchClient;
-import jalview.ws.seqfetcher.DbSourceProxy;
import jalview.ws.seqfetcher.DbSourceProxyImpl;
import java.io.File;
import java.io.FileReader;
import java.io.Reader;
+import java.net.URL;
import java.util.ArrayList;
import java.util.Vector;
+import org.exolab.castor.mapping.Mapping;
import org.exolab.castor.xml.Unmarshaller;
import com.stevesoft.pat.Regex;
* @author JimP
*
*/
-public class Uniprot extends DbSourceProxyImpl implements DbSourceProxy
+public class Uniprot extends DbSourceProxyImpl
{
-
private static final String BAR_DELIMITER = "|";
- private static org.exolab.castor.mapping.Mapping map;
+ /*
+ * Castor mapping loaded from uniprot_mapping.xml
+ */
+ private static Mapping map;
/**
* Constructor
public Uniprot()
{
super();
- addDbSourceProperty(DBRefSource.SEQDB, DBRefSource.SEQDB);
- addDbSourceProperty(DBRefSource.PROTSEQDB);
}
/*
if (map == null)
{
// 1. Load the mapping information from the file
- map = new org.exolab.castor.mapping.Mapping(uni.getClass()
- .getClassLoader());
- java.net.URL url = getClass().getResource("/uniprot_mapping.xml");
+ map = new Mapping(uni.getClass().getClassLoader());
+ URL url = getClass().getResource("/uniprot_mapping.xml");
map.loadMapping(url);
}
StringBuilder desc = new StringBuilder(32);
if (entry.getProtein() != null && entry.getProtein().getName() != null)
{
+ boolean first = true;
for (String nm : entry.getProtein().getName())
{
- desc.append(nm).append(" ");
+ if (!first)
+ {
+ desc.append(" ");
+ }
+ first = false;
+ desc.append(nm);
}
}
return desc.toString();
public static String getUniprotEntryId(UniprotEntry entry)
{
StringBuilder name = new StringBuilder(32);
- name.append("UniProt/Swiss-Prot");
+ // name.append("UniProt/Swiss-Prot");
+ // use 'canonicalised' name for optimal id matching
+ name.append(DBRefSource.UNIPROT);
for (String accessionId : entry.getAccession())
{
name.append(BAR_DELIMITER);