if (!refs.isEmpty())
{
try
{
main.lockWithMessage("Querying Pathway Commons Database ...");
PathwayCommonsIOHandler ioHandler = new PathwayCommonsIOHandler(new SimpleIOHandler());
// Names of new pathways for the neighborhood
Map<XRef, String> ref2pname = new HashMap<XRef, String>();
// Query for only one xref
XRef xr = XRef.getFirstRef(refs,
new String[]{XRef.CPATH, XRef.ENTREZ_GENE, XRef.UNIPROT});
refs.clear();
if (xr != null)
{
refs.add(xr);
}
else
{
MessageDialog.openError(main.getShell(), "No Reference ID",
"No CPATH, Entrez Gene or UniProt ID found to query.");
}
for (XRef ref : refs)
{
if ((db == null || db.equals(XRef.CPATH)) &&
ref.getDb().equalsIgnoreCase(XRef.CPATH))
{
ioHandler.setInputIdType(PathwayCommonsIOHandler.ID_TYPE.CPATH_ID);
}
else if ((db == null || db.equals(XRef.UNIPROT)) &&
ref.getDb().equalsIgnoreCase(XRef.UNIPROT))
{
ioHandler.setInputIdType(PathwayCommonsIOHandler.ID_TYPE.UNIPROT);
}
else if ((db == null || db.equals(XRef.ENTREZ_GENE)) &&
ref.getDb().equalsIgnoreCase(XRef.ENTREZ_GENE))
{
ioHandler.setInputIdType(PathwayCommonsIOHandler.ID_TYPE.ENTREZ_GENE);
}
else
{
continue;
}
System.out.println("Querying neighbors for " + ref);
Model resultModel = ioHandler.getNeighbors(ref.getRef());
main.unlock();
if (resultModel != null && !resultModel.getObjects().isEmpty())
{