Ejemplo n.º 1
0
        private IEnumerable <object> processSelection(ProcessSelectionGroup processSelectionGroup, StructureElement element)
        {
            if (!processSelectionGroup.AllEnabledProcesses().Any())
            {
                yield break;
            }

            yield return(element);

            yield return(processSelectionGroup);
        }
Ejemplo n.º 2
0
 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);
     });
 }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 private void updateCompoundNameInProcess(ProcessSelectionGroup processSelectionGroup, Compound compound)
 {
     processSelectionGroup.AllPartialProcesses().Each(p => p.CompoundName  = compound.Name);
     processSelectionGroup.AllSystemicProcesses().Each(p => p.CompoundName = compound.Name);
 }
Ejemplo n.º 6
0
        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)));
 }
Ejemplo n.º 8
0
        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
                });
            }
        }
Ejemplo n.º 9
0
 private ProcessSelection getFirstPartialProcessFor(ProcessSelectionGroup processSelectionGroup)
 {
     return(processSelectionGroup.AllPartialProcesses().ElementAt(0));
 }