import jalview.datamodel.SequenceI;
import jalview.datamodel.UniprotEntry;
import jalview.datamodel.UniprotFile;
-import jalview.util.DBRefUtils;
import jalview.ws.ebi.EBIFetchClient;
import jalview.ws.seqfetcher.DbSourceProxyImpl;
// uniprotxml parameter required since december 2007
// uniprotkb dbname changed introduced december 2008
File file = ebi.fetchDataAsFile("uniprotkb:" + queries, "uniprotxml",
- ".xml");
+ "xml");
Vector<UniprotEntry> entries = getUniprotEntries(new FileReader(file));
if (entries != null)
* UniprotEntry
* @return SequenceI instance created from the UniprotEntry instance
*/
- public SequenceI uniprotEntryToSequenceI(UniprotEntry entry){
+ public SequenceI uniprotEntryToSequenceI(UniprotEntry entry)
+ {
String id = getUniprotEntryId(entry);
SequenceI sequence = new Sequence(id, entry.getUniprotSequence()
.getContent());
if ("EMBL".equals(pdb.getType()))
{
// look for a CDS reference and add it, too.
- String cdsId = (String) pdb.getProperty()
- .get("protein sequence ID");
+ String cdsId = (String) pdb.getProperty("protein sequence ID");
if (cdsId != null && cdsId.trim().length() > 0)
{
- dbr = new DBRefEntry(DBRefSource.EMBLCDS, DBRefSource.UNIPROT
- + ":"
- + dbVersion, cdsId.trim());
+ // remove version
+ String[] vrs = cdsId.split("\\.");
+ dbr = new DBRefEntry(DBRefSource.EMBLCDS, vrs.length > 1 ? vrs[1]
+ : DBRefSource.UNIPROT + ":" + dbVersion, vrs[0]);
dbRefs.add(dbr);
}
}
+ if ("Ensembl".equals(pdb.getType()))
+ {
+ /*UniprotXML
+ * <dbReference type="Ensembl" id="ENST00000321556">
+ * <molecule id="Q9BXM7-1"/>
+ * <property type="protein sequence ID" value="ENSP00000364204"/>
+ * <property type="gene ID" value="ENSG00000158828"/>
+ * </dbReference>
+ */
+ String cdsId = (String) pdb.getProperty("protein sequence ID");
+ if (cdsId != null && cdsId.trim().length() > 0)
+ {
+ dbr = new DBRefEntry(DBRefSource.ENSEMBL, DBRefSource.UNIPROT
+ + ":" + dbVersion, cdsId.trim());
+ dbRefs.add(dbr);
+
+ }
+ }
+
}
sequence.setPDBId(onlyPdbEntries);
{
for (SequenceFeature sf : entry.getFeature())
{
- sf.setFeatureGroup("Uniprot");
- sequence.addSequenceFeature(sf);
+ SequenceFeature copy = new SequenceFeature(sf, sf.getBegin(),
+ sf.getEnd(), "Uniprot");
+ sequence.addSequenceFeature(copy);
}
}
- // we use setDBRefs to assign refs quickly.
- sequence.setDBRefs(dbRefs.toArray(new DBRefEntry[0]));
- // need to use ensurePrimaries to reify any refs that should become primary
- // refs
- DBRefUtils.ensurePrimaries(sequence); // promote any direct refs to primary
- // source dbs
+ for (DBRefEntry dbr : dbRefs)
+ {
+ sequence.addDBRef(dbr);
+ }
return sequence;
}