git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
JAL-1705 refactored cross-reference fetching (CCDS, Uniprot, PDB)
[jalview.git]
/
src
/
jalview
/
ext
/
ensembl
/
EnsemblSeqProxy.java
diff --git
a/src/jalview/ext/ensembl/EnsemblSeqProxy.java
b/src/jalview/ext/ensembl/EnsemblSeqProxy.java
index
8698b78
..
0bfeda1
100644
(file)
--- a/
src/jalview/ext/ensembl/EnsemblSeqProxy.java
+++ b/
src/jalview/ext/ensembl/EnsemblSeqProxy.java
@@
-36,6
+36,9
@@
import java.util.Map.Entry;
*/
public abstract class EnsemblSeqProxy extends EnsemblRestClient
{
*/
public abstract class EnsemblSeqProxy extends EnsemblRestClient
{
+ private static final List<String> CROSS_REFERENCES = Arrays
+ .asList(new String[] { "CCDS" });
+
protected static final String CONSEQUENCE_TYPE = "consequence_type";
protected static final String PARENT = "Parent";
protected static final String CONSEQUENCE_TYPE = "consequence_type";
protected static final String PARENT = "Parent";
@@
-173,7
+176,11
@@
public abstract class EnsemblSeqProxy extends EnsemblRestClient
addFeaturesAndProduct(accId, alignment);
}
addFeaturesAndProduct(accId, alignment);
}
- inProgress = false;
+ for (SequenceI seq : alignment.getSequences())
+ {
+ getCrossReferences(seq);
+ }
+
System.out.println(getClass().getName() + " took "
+ (System.currentTimeMillis() - now) + "ms to fetch");
return alignment;
System.out.println(getClass().getName() + " took "
+ (System.currentTimeMillis() - now) + "ms to fetch");
return alignment;
@@
-265,8
+272,6
@@
public abstract class EnsemblSeqProxy extends EnsemblRestClient
proteinSeq.createDatasetSequence();
querySeq.createDatasetSequence();
proteinSeq.createDatasetSequence();
querySeq.createDatasetSequence();
- getProteinCrossReferences(proteinSeq);
-
MapList mapList = mapCdsToProtein(querySeq, proteinSeq);
if (mapList != null)
{
MapList mapList = mapCdsToProtein(querySeq, proteinSeq);
if (mapList != null)
{
@@
-293,26
+298,35
@@
public abstract class EnsemblSeqProxy extends EnsemblRestClient
* Get Uniprot and PDB xrefs from Ensembl, and attach them to the protein
* sequence
*
* Get Uniprot and PDB xrefs from Ensembl, and attach them to the protein
* sequence
*
- * @param proteinSeq
+ * @param seq
*/
*/
- protected void getProteinCrossReferences(SequenceI proteinSeq)
+ protected void getCrossReferences(SequenceI seq)
{
{
- while (proteinSeq.getDatasetSequence() != null)
+ while (seq.getDatasetSequence() != null)
{
{
- proteinSeq = proteinSeq.getDatasetSequence();
+ seq = seq.getDatasetSequence();
}
EnsemblXref xrefFetcher = new EnsemblXref();
}
EnsemblXref xrefFetcher = new EnsemblXref();
- List<DBRefEntry> xrefs = xrefFetcher.getCrossReferences(
- proteinSeq.getName(), "PDB", "Uniprot/SPTREMBL",
- "Uniprot/SWISSPROT");
+ List<DBRefEntry> xrefs = xrefFetcher.getCrossReferences(seq.getName(),
+ getCrossReferenceDatabases());
for (DBRefEntry xref : xrefs)
{
for (DBRefEntry xref : xrefs)
{
- proteinSeq.addDBRef(xref);
+ seq.addDBRef(xref);
}
}
/**
}
}
/**
+ * Returns a list of database names to be used when fetching cross-references.
+ *
+ * @return
+ */
+ protected List<String> getCrossReferenceDatabases()
+ {
+ return CROSS_REFERENCES;
+ }
+
+ /**
* Returns a mapping from dna to protein by inspecting sequence features of
* type "CDS" on the dna.
*
* Returns a mapping from dna to protein by inspecting sequence features of
* type "CDS" on the dna.
*