private IEnumerable <object> processSelection(ProcessSelectionGroup processSelectionGroup, StructureElement element) { if (!processSelectionGroup.AllEnabledProcesses().Any()) { yield break; } yield return(element); yield return(processSelectionGroup); }
private void addSystemicProcesses(Model.Compound compound, ProcessSelectionGroup processSelectionGroup, SystemicProcessType systemicProcessType) { //add all systemic processes compound.AllSystemicProcessesOfType(systemicProcessType).Each(systemicProcess => { var processSelection = new SystemicProcessSelection { ProcessName = systemicProcess.Name, ProcessType = systemicProcess.SystemicProcessType }; processSelectionGroup.AddSystemicProcessSelection(processSelection); }); }
private void removeOldStaticInhibitionReferences(ProcessSelectionGroup processSelectionGroup, Compound compound, List <string> oldMappedInhibitionProcessList) { var allInhibitionProcesses = compound.AllProcesses <PartialProcess>().Where(x => x.InternalName.Contains("Inhibition")); foreach (var inhibitionProcess in allInhibitionProcesses) { var inhibitionSelection = processSelectionGroup.AllPartialProcesses() .FirstOrDefault(x => string.Equals(x.ProcessName, inhibitionProcess.Name)); if (inhibitionSelection == null) { continue; } processSelectionGroup.RemovePartialProcessSelection(inhibitionSelection); oldMappedInhibitionProcessList.Add(inhibitionProcess.Name); } }
private ProcessSelectionGroup selectionGroup <TPartialProcess>(ProcessSelectionGroup processSelectionGroup, Model.CompoundProcess process, params SystemicProcessType[] systemicProcessTypes) where TPartialProcess : PartialProcess { if (process.IsAnImplementationOf <TPartialProcess>()) { return(processSelectionGroup); } var systemicProcess = process as SystemicProcess; if (systemicProcess == null) { return(null); } if (systemicProcess.SystemicProcessType.IsOneOf(systemicProcessTypes)) { return(processSelectionGroup); } return(null); }
private void updateCompoundNameInProcess(ProcessSelectionGroup processSelectionGroup, Compound compound) { processSelectionGroup.AllPartialProcesses().Each(p => p.CompoundName = compound.Name); processSelectionGroup.AllSystemicProcesses().Each(p => p.CompoundName = compound.Name); }
private void addPartialProcesses <TPartialProcess, TIndividualMolecule, TProcessSelection>(Model.Compound compound, Model.Individual individual, ProcessSelectionGroup processSelectionGroup) where TPartialProcess : Model.PartialProcess where TIndividualMolecule : IndividualMolecule where TProcessSelection : ProcessSelection, new() { //default mapping with processes: Mapping done only by name foreach (var process in compound.AllProcesses <TPartialProcess>()) { var molecule = individual.MoleculeByName <TIndividualMolecule>(process.MoleculeName); //enzyme not found in individual if (molecule == null) { _batchLogger.AddDebug($"Molecule '{process.MoleculeName}' not found in individual but is defined in compound for process '{process.Name}'"); continue; } _batchLogger.AddDebug($"Adding process {process.Name} for molecule {molecule.Name}"); processSelectionGroup.AddPartialProcessSelection(new TProcessSelection { ProcessName = process.Name, MoleculeName = molecule.Name, CompoundName = compound.Name }); } }
protected void SaveProcessSelectionGroup(ProcessSelectionGroup processSelectionGroup) { processSelectionGroup.ClearProcesses(); _allPartialProcessesDTO.Each(process => processSelectionGroup.AddPartialProcessSelection(MapPartialProcessFrom(process))); _allSystemicProcessesDTO.Each(process => processSelectionGroup.AddSystemicProcessSelection(MapSystemicProcessFrom(process))); }
private void addPartialProcesses <TPartialProcess, TIndividualMolecule, TProcessSelection>(Compound compound, Individual individual, ProcessSelectionGroup processSelectionGroup) where TPartialProcess : PartialProcess where TIndividualMolecule : IndividualMolecule where TProcessSelection : ProcessSelection, new() { //default mapping with processes: Mapping done only by name foreach (var process in compound.AllProcesses <TPartialProcess>()) { var molecule = individual.MoleculeByName <TIndividualMolecule>(process.MoleculeName); //enzyme not found in individual if (molecule == null) { continue; } processSelectionGroup.AddPartialProcessSelection(new TProcessSelection { ProcessName = process.Name, MoleculeName = molecule.Name, CompoundName = compound.Name }); } }
private ProcessSelection getFirstPartialProcessFor(ProcessSelectionGroup processSelectionGroup) { return(processSelectionGroup.AllPartialProcesses().ElementAt(0)); }