/** * Gets Interaction Detection element. It is possible that an interaction is missing important * attributes, such as Experimental System Name, XRef DB, and XRef ID. All of these attributes are * required by PSI. Rather than throwing an exception here, the data_mapper manually specifies * "Not Specified" for all missing attributes. * * @param interaction Interaction. * @return InteractionDetection Object. */ private CvType getInteractionDetection( org.cytoscape.coreplugin.psi_mi.model.Interaction interaction) { CvType interactionDetection = new CvType(); String idStr = null; try { idStr = (String) interaction.getAttribute(InteractionVocab.EXPERIMENTAL_SYSTEM_NAME); } catch (ClassCastException e) { idStr = null; } if (idStr == null) { idStr = "Not Specified"; } String idRef = null; try { idRef = (String) interaction.getAttribute(InteractionVocab.EXPERIMENTAL_SYSTEM_XREF_ID); } catch (ClassCastException e) { idRef = null; } // If there is no ID Ref, find a best match. if (idRef == null) { if (idStr.equals(EXP_AFFINITY_PRECIPITATION) || idStr.equals(EXP_AFFINITY_CHROMOTOGRAPHY)) { idStr = "affinity chromatography technologies"; idRef = "MI:0004"; } else if (idStr.equals(EXP_TWO_HYBRID)) { idStr = "classical two hybrid"; idRef = "MI:0018"; } else if (idStr.equals(EXP_PURIFIED_COMPLEX)) { idStr = "copurification"; idRef = "MI:0025"; } else { idRef = "Not Specified"; } } NamesType names = createName(idStr, null); interactionDetection.setNames(names); String dbRef = null; try { dbRef = (String) interaction.getAttribute(InteractionVocab.EXPERIMENTAL_SYSTEM_XREF_DB); } catch (ClassCastException e) { dbRef = null; } if (dbRef == null) { dbRef = "PSI-MI"; } XrefType xref = createXRef(dbRef, idRef); interactionDetection.setXref(xref); return interactionDetection; }
/** * Gets Experiment Description. * * @param interaction Interaction object. * @return Castor InteractionElementTypeChoice object. */ private InteractionElementType.ExperimentList getExperimentDescription( org.cytoscape.coreplugin.psi_mi.model.Interaction interaction, int index) { // Create New Experiment List InteractionElementType.ExperimentList expList = new InteractionElementType.ExperimentList(); // Create New Experiment Description ExperimentType expType = new ExperimentType(); // Set Experimental ID expType.setId(index); // Set Bibliographic Reference BibrefType bibRef = null; Object pmid = interaction.getAttribute(InteractionVocab.PUB_MED_ID); if ((pmid != null) && pmid instanceof String) { bibRef = createBibRef(PUB_MED_DB, (String) pmid); expType.setBibref(bibRef); } // Set Interaction Detection CvType interactionDetection = getInteractionDetection(interaction); expType.setInteractionDetectionMethod(interactionDetection); // Set Choice Element expList.getExperimentRefOrExperimentDescription().add(expType); return expList; }