private org.opencb.bionetdb.core.models.Catalysis createCatalysis(BioPAXElement bioPAXElement) { org.opencb.bionetdb.core.models.Catalysis catalysis = new org.opencb.bionetdb.core.models.Catalysis(); Catalysis catalysisBP = (Catalysis) bioPAXElement; // Common Interaction properties setInteractionCommonProperties(catalysisBP, catalysis); // Catalysis properties // controllers Set<Controller> controllers = catalysisBP.getController(); for (Controller controller: controllers) { catalysis.getControllers().add(controller.getRDFId().split("#")[1]); } // controlled Set<Process> controlledProcesses = catalysisBP.getControlled(); for (Process controlledProcess: controlledProcesses) { catalysis.getControlledProcesses().add(controlledProcess.getRDFId().split("#")[1]); } // controlType catalysis.setControlType(catalysisBP.getControlType().toString()); // cofactor Set<PhysicalEntity> cofactors = catalysisBP.getCofactor(); for (PhysicalEntity cofactor: cofactors) { catalysis.getCofactors().add(cofactor.getRDFId().split("#")[1]); } return catalysis; }
/** * Continues the inference from the Catalysis of seed element. * @param interactionSet inferred interactions * @param aCatalysis the catalysis to follow * @param bpe source of the interaction */ private void processCatalysis(InteractionSetL3 interactionSet, Catalysis aCatalysis, BioPAXElement bpe) { //We have to consider two direction statements //Catalysis.direction and Conversion.spontaneous //This method maps the former to the compatible latter //null means reversible or unknown, both are treated in the same way. ConversionDirectionType catalysisDirection = mapDirectionToConversion(aCatalysis.getCatalysisDirection()); //get the conversions and process them. Set<Process> controlled = aCatalysis.getControlled(); for (Process process : controlled) { assert process instanceof Conversion; Conversion aConversion = (Conversion) process; //let's find the direction that is compatible with catalysis direction ConversionDirectionType dirA = findConsensusDirection(catalysisDirection, aConversion.getConversionDirection()); assert dirA != null; //and let's get the interacting physical entities createInteractions(aConversion, dirA, aCatalysis, interactionSet, bpe); } }