*/
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";
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;
proteinSeq.createDatasetSequence();
querySeq.createDatasetSequence();
- getProteinCrossReferences(proteinSeq);
-
MapList mapList = mapCdsToProtein(querySeq, proteinSeq);
if (mapList != null)
{
* 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();
- List<DBRefEntry> xrefs = xrefFetcher.getCrossReferences(
- proteinSeq.getName(), "PDB", "Uniprot/SPTREMBL",
- "Uniprot/SWISSPROT");
+ List<DBRefEntry> xrefs = xrefFetcher.getCrossReferences(seq.getName(),
+ getCrossReferenceDatabases());
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.
*