Example #1
0
        protected override Task Context()
        {
            _individualSimulationComparisonMapper = A.Fake <IndividualSimulationComparisonMapper>();
            _populationAnalysisChartMapper        = A.Fake <PopulationAnalysisChartMapper>();
            _objectBaseFactory = A.Fake <IObjectBaseFactory>();
            sut = new SimulationComparisonMapper(_individualSimulationComparisonMapper, _populationAnalysisChartMapper, _objectBaseFactory);

            _individualSimulation1 = new IndividualSimulation().WithName("IndS1").WithId("IndS1");
            _individualSimulation2 = new IndividualSimulation().WithName("IndS2").WithId("IndS2");

            _individualSimulationComparison = new IndividualSimulationComparison
            {
                Name        = "IndividualComparison",
                Description = "IndividualComparison Description",
            };

            _individualSimulationComparison.AddSimulation(_individualSimulation1);
            _individualSimulationComparison.AddSimulation(_individualSimulation2);


            _populationSimulation1 = new PopulationSimulation().WithName("PopS1").WithId("PopS1");
            _populationSimulation2 = new PopulationSimulation().WithName("PopS2").WithId("PopS2");
            _referenceSimulation   = new PopulationSimulation().WithName("PopS3").WithId("PopS3");

            _populationSimulationComparison = new PopulationSimulationComparison
            {
                Name        = "PopulationComparison",
                Description = "PopulationComparison Description",
            };

            _populationSimulationAnalysis = new BoxWhiskerAnalysisChart();
            _populationSimulationComparison.AddSimulation(_populationSimulation1);
            _populationSimulationComparison.AddSimulation(_populationSimulation2);
            _populationSimulationComparison.AddAnalysis(_populationSimulationAnalysis);

            _populationSimulationComparison.ReferenceGroupingItem = new GroupingItem();
            _populationSimulationComparison.ReferenceSimulation   = _referenceSimulation;

            _curveChart = new CurveChart();
            A.CallTo(() => _individualSimulationComparisonMapper.MapToSnapshot(_individualSimulationComparison)).Returns(_curveChart);

            _populationAnalysisChartSnapshot = new Snapshots.PopulationAnalysisChart();
            A.CallTo(() => _populationAnalysisChartMapper.MapToSnapshot(_populationSimulationAnalysis)).Returns(_populationAnalysisChartSnapshot);


            _project = new PKSimProject();
            _project.AddBuildingBlock(_individualSimulation1);
            _project.AddBuildingBlock(_individualSimulation2);
            _project.AddBuildingBlock(_populationSimulation1);
            _project.AddBuildingBlock(_populationSimulation2);
            _project.AddBuildingBlock(_referenceSimulation);

            return(_completed);
        }
Example #2
0
 protected override void Context()
 {
     base.Context();
     _simulation = A.Fake <IndividualSimulation>();
     _dataTables = new List <DataTable>();
     A.CallTo(() => _simulation.HasResults).Returns(true);
     A.CallTo(() => _simulation.Name).Returns("toto");
     A.CallTo(() => _simulation.DataRepository).Returns(new DataRepository());
     _excelFile = "tralala";
     A.CallTo(() => _dialogCreator.AskForFileToSave(PKSimConstants.UI.ExportSimulationResultsToExcel, Constants.Filter.EXCEL_SAVE_FILE_FILTER, Constants.DirectoryKey.REPORT, CoreConstants.DefaultResultsExportNameFor(_simulation.Name), null)).Returns(_excelFile);
 }
Example #3
0
        public Task ExportResultsToExcelAsync(IndividualSimulation individualSimulation)
        {
            _lazyLoadTask.LoadResults(individualSimulation);
            if (!individualSimulation.HasResults)
            {
                throw new PKSimException(PKSimConstants.Error.CannotExportResultsPleaseRunSimulation(individualSimulation.Name));
            }

            return(exportToFileAsync(PKSimConstants.UI.ExportSimulationResultsToExcel, Constants.Filter.EXCEL_SAVE_FILE_FILTER, CoreConstants.DefaultResultsExportNameFor(individualSimulation.Name),
                                     fileName => ExportResultsToExcelAsync(individualSimulation, fileName), Constants.DirectoryKey.REPORT));
        }
Example #4
0
        private void renameIndividualSimulation(IndividualSimulation individualSimulation, string newName)
        {
            var individualSimulationDataRepository = individualSimulation.DataRepository;

            if (individualSimulationDataRepository != null)
            {
                _dataRepositoryNamer.Rename(individualSimulationDataRepository, newName);
            }

            renameSimulation(individualSimulation, newName);
        }
Example #5
0
 protected override void Context()
 {
     base.Context();
     _simulation   = A.Fake <IndividualSimulation>();
     _observedData = A.Fake <DataRepository>();
     _chart        = new SimulationTimeProfileChart();
     _chart.AddObservedData(_observedData);
     sut.InitializeAnalysis(_chart);
     sut.UpdateAnalysisBasedOn(_simulation);
     _view.Caption = "OLD_NAME";
 }
        protected override async Task Context()
        {
            await base.Context();

            _simulation = A.Fake <IndividualSimulation>();
            A.CallTo(() => _simulation.Analyses).Returns(new List <ISimulationAnalysis> {
                A.Fake <ISimulationAnalysis>()
            });
            A.CallTo(() => _simulation.HasResults).Returns(true);
            await sut.RunSimulation(_simulation, false);
        }
Example #7
0
        public override void GlobalContext()
        {
            base.GlobalContext();
            LoadProject("Population_Individual_603");

            _population    = First <RandomPopulation>();
            _individual    = First <Individual>();
            _indSimulation = First <IndividualSimulation>();
            _popSimulation = First <PopulationSimulation>();
            _formulation   = First <Formulation>();
        }
      protected override void Context()
      {
         _objectPathFactory = new ObjectPathFactoryForSpecs();
         _dataColumnToPathElementsMapper = A.Fake<IDataColumnToPathElementsMapper>();
         _pathToPathElementsMapper = A.Fake<IPathToPathElementsMapper>();
         sut = new PKSimQuantityPathToQuantityDisplayPathMapper(_objectPathFactory, _pathToPathElementsMapper, _dataColumnToPathElementsMapper);

         _root = new Container().WithName("ROOT");
         var baseGrid = new BaseGrid("Time", DomainHelperForSpecs.TimeDimensionForSpecs());
         _column = new DataColumn("Conc", DomainHelperForSpecs.ConcentrationDimensionForSpecs(), baseGrid);
         _individualSimulation = new IndividualSimulation {Model = new Model {Root = _root}};
      }
Example #9
0
        private IParameter fractionAbsorbedFor(IndividualSimulation simulation, string compoundName)
        {
            var    fabsOralObserver      = simulation.DataRepository.FabsOral(compoundName);
            double?fractionAbsorbedValue = null;

            if (fabsOralObserver != null)
            {
                fractionAbsorbedValue = fabsOralObserver.Values.Last();
            }

            return(createParameter(CoreConstants.PKAnalysis.FractionAbsorbed, fractionAbsorbedValue, CoreConstants.Dimension.Fraction));
        }
Example #10
0
 protected override void Context()
 {
     _simulation = new IndividualSimulation {
         DataRepository = new DataRepository(), SimulationSettings = new SimulationSettings()
     };
     _defaultChartTemplate = new CurveChartTemplate {
         IsDefault = false
     };
     _simulation.SimulationSettings.AddChartTemplate(_defaultChartTemplate);
     base.Context();
     sut.InitializeAnalysis(new SimulationTimeProfileChart());
 }
Example #11
0
        private void removeSimulation(IndividualSimulation simulation)
        {
            var repo = DataRepositoryFor(simulation);

            if (repo == null)
            {
                return;
            }
            _repositoryCache.Remove(repo);
            _chartEditorPresenter.RemoveDataRepository(repo);
            Chart.RemoveSimulation(simulation);
        }
        private Simulation createSimulationWithResults(string simulationName)
        {
            var simulation = new IndividualSimulation
            {
                Name = simulationName,
                SimulationSettings = new SimulationSettings(),
                DataRepository     = DomainHelperForSpecs.IndividualSimulationDataRepositoryFor(simulationName)
            };

            simulation.OutputSelections.AddOutput(new QuantitySelection("C", QuantityType.Drug));
            return(simulation);
        }
        protected override async Task Context()
        {
            await base.Context();

            _simulation        = new IndividualSimulation().WithName("S");
            _qualificationStep = new RunSimulationQualificationStep {
                Simulation = _simulation
            };
            _snapshot = await sut.MapToSnapshot(_qualificationStep);

            _project.AddBuildingBlock(_simulation);
        }
Example #14
0
        protected override void Context()
        {
            base.Context();
            _simulation = A.Fake <IndividualSimulation>();
            var dimension = A.Fake <IDimension>();

            _compound = A.Fake <Compound>();
            A.CallTo(() => _compound.Name).Returns("Drug");
            //new data repository  + columns
            _newDataRepository      = new DataRepository();
            _newBaseGrid            = new BaseGrid("baseGrid1", "baseGrid1", dimension);
            _newBaseGrid.Values     = new float[] { 1, 2, 3, 4 };
            _newColumn              = new DataColumn("col1", "col1", dimension, _newBaseGrid);
            _newColumn.Values       = new float[] { 1, 1, 1, 1 };
            _newColumn.QuantityInfo = new QuantityInfo("sp1", new List <string> {
                "Liver", "Cell", "Drug", "Obs1"
            }, QuantityType.Observer | QuantityType.Drug);
            _newExistingColumn = new DataColumn("col2", "col2", dimension, _newBaseGrid);
            _newExistingColumn.QuantityInfo = new QuantityInfo("sp2", new List <string> {
                "Liver", "Cell", "Drug", "Obs2"
            }, QuantityType.Observer | QuantityType.Metabolite);
            _newExistingColumn.Values = new float[] { 2, 2, 2, 2 };

            _newDataRepository.Add(_newBaseGrid);
            _newDataRepository.Add(_newColumn);
            _newDataRepository.Add(_newExistingColumn);


            //old data repository  + columns
            _oldDataRepository      = new DataRepository();
            _oldBaseGrid            = new BaseGrid("baseGrid2", "baseGrid2", dimension);
            _oldBaseGrid.Values     = new float[] { 1, 2, 3 };
            _oldColumn              = new DataColumn("col3", "col3", dimension, _oldBaseGrid);
            _oldColumn.Values       = new float[] { 3, 3, 3 };
            _oldColumn.QuantityInfo = new QuantityInfo("sp3", new List <string> {
                "Liver", "Cell", "Drug", "Obs3"
            }, QuantityType.Observer | QuantityType.Drug);
            _oldExistingColumn = new DataColumn("col4", "col4", dimension, _oldBaseGrid);
            _oldExistingColumn.QuantityInfo = new QuantityInfo("sp2", new List <string> {
                "Liver", "Cell", "Drug", "Obs2"
            }, QuantityType.Observer | QuantityType.Drug);
            _oldExistingColumn.Values = new float[] { 2, 2, 2 };

            _oldDataRepository.Add(_oldBaseGrid);
            _oldDataRepository.Add(_oldColumn);
            _oldDataRepository.Add(_oldExistingColumn);

            A.CallTo(() => _simulation.HasResults).Returns(true);
            A.CallTo(() => _simulation.DataRepository).Returns(_oldDataRepository);
            A.CallTo(() => _compound.MolWeight).Returns(20);
            A.CallTo(() => _simulation.BuildingBlock <Compound>()).Returns(_compound);
        }
Example #15
0
        protected override void Context()
        {
            base.Context();
            _templateSimulation                 = new IndividualSimulation();
            _templateSimulation.Properties      = new SimulationProperties();
            _templateSimulation.ModelProperties = new ModelProperties();
            _templateSimulation.AddUsedBuildingBlock(new UsedBuildingBlock("templateId3", PKSimBuildingBlockType.Individual)
            {
                BuildingBlock = new Individual()
            });

            var theCompound = new Compound {
                Name = "theCompound"
            };

            _originalCalculationMethod = new CalculationMethod();

            var usedBuildingBlock = new UsedBuildingBlock("templateID", PKSimBuildingBlockType.Compound)
            {
                BuildingBlock = theCompound
            };

            var theOtherCompound = new Compound {
                Name = "theOtherCompound"
            };
            var anotherUsedBuildingBlock = new UsedBuildingBlock("templateID2", PKSimBuildingBlockType.Compound)
            {
                BuildingBlock = theOtherCompound
            };

            _templateSimulation.AddUsedBuildingBlock(usedBuildingBlock);
            _templateSimulation.AddUsedBuildingBlock(anotherUsedBuildingBlock);
            _replacementCalculationMethod = new CalculationMethod();
            _newCalculationMethods        = new List <CalculationMethodWithCompoundName> {
                new CalculationMethodWithCompoundName(_replacementCalculationMethod, "theCompound")
            };

            var compoundProperties = new CompoundProperties {
                Compound = theCompound
            };

            compoundProperties.CalculationMethodCache.AddCalculationMethod(_originalCalculationMethod);
            _templateSimulation.Properties.AddCompoundProperties(compoundProperties);
            compoundProperties = new CompoundProperties {
                Compound = theOtherCompound
            };
            compoundProperties.CalculationMethodCache.AddCalculationMethod(_originalCalculationMethod);
            _templateSimulation.Properties.AddCompoundProperties(compoundProperties);

            A.CallTo(() => _cloner.Clone(_templateSimulation)).Returns(_templateSimulation);
            A.CallTo(() => _objectBaseFactory.Create <IndividualSimulation>()).ReturnsLazily(() => new IndividualSimulation());
        }
        public override void GlobalContext()
        {
            base.GlobalContext();
            _fourCompSim = DomainFactoryForSpecs.CreateDefaultSimulationForModel(CoreConstants.Model.FOUR_COMP);
            _fourComp    = _fourCompSim.Model.Root.Container(Constants.ORGANISM);

            _twoPoresSim = DomainFactoryForSpecs.CreateDefaultSimulationForModel(CoreConstants.Model.TWO_PORES);
            _twoPores    = _twoPoresSim.Model.Root.Container(Constants.ORGANISM);

            _organisms = new List <IContainer> {
                _fourComp, _twoPores
            };
        }
Example #17
0
        protected override void Context()
        {
            base.Context();
            const string id = "myId";

            _classifiableSimulation = new ClassifiableSimulation {
                Id = id
            };
            sut.AddClassifiable(_classifiableSimulation);
            _subject = new IndividualSimulation {
                Id = id, Name = "name"
            };
        }
        public override void GlobalContext()
        {
            base.GlobalContext();
            LoadProject("BuildingBlockRename_611");
            _iv   = FindByName <Protocol>("IV");
            _oral = FindByName <Protocol>("ORAL");
            _s1   = FindByName <IndividualSimulation>("S1");
            _s2   = FindByName <IndividualSimulation>("S2");
            _s3   = FindByName <IndividualSimulation>("S3");

            sut.RenameBuildingBlock(_iv, "NEW_IV");
            sut.RenameBuildingBlock(_oral, "NEW_ORAL");
        }
Example #19
0
        private PKAnalysis bloodPkAnalysisFor(IndividualSimulation simulation, string compoundName)
        {
            var peripheralVenousBloodCurve = simulation.DataRepository.PeripheralVenousBloodColumn(compoundName);
            var venousBloodCurve           = simulation.DataRepository.VenousBloodColumn(compoundName);

            if (peripheralVenousBloodCurve == null || venousBloodCurve == null)
            {
                return(new PKAnalysis());
            }

            var bloodCurveForPKAnalysis = bloodCurveForSpecies(peripheralVenousBloodCurve, venousBloodCurve, simulation.Individual);

            return(_pkAnalysisTask.CalculateFor(simulation, bloodCurveForPKAnalysis).PKAnalysis);
        }
Example #20
0
        public Task ExportResultsToExcel(IndividualSimulation individualSimulation)
        {
            _buildingBlockTask.LoadResults(individualSimulation);
            if (!individualSimulation.HasResults)
            {
                throw new PKSimException(PKSimConstants.Error.CannotExportResultsPleaseRunSimulation(individualSimulation.Name));
            }

            return(exportToFileAsync(PKSimConstants.UI.ExportSimulationResultsToExcel, Constants.Filter.EXCEL_SAVE_FILE_FILTER, PKSimConstants.UI.DefaultResultsExportNameFor(individualSimulation.Name), async fileName =>
            {
                var dataTables = _dataRepositoryTask.ToDataTable(individualSimulation.DataRepository, x => _quantityDisplayPathMapper.DisplayPathAsStringFor(individualSimulation, x), x => x.Dimension);
                await Task.Run(() => _dataRepositoryTask.ExportToExcel(dataTables, fileName, launchExcel: true));
            }, Constants.DirectoryKey.REPORT));
        }
Example #21
0
        private void cloneIndividualSimulationResults(IndividualSimulation sourceSimulation, IndividualSimulation targetSimulation)
        {
            if (sourceSimulation.DataRepository.IsNull())
            {
                return;
            }

            //Step 1 - update the results
            targetSimulation.Results = _simulationResultsCreator.CreateResultsFrom(_cloner.Clone(sourceSimulation.DataRepository));

            //Step 2 - update the data repository based on the results created above
            targetSimulation.DataRepository = _dataRepositoryCreator.CreateResultsFor(targetSimulation);

            sourceSimulation.SimulationCharts.Each(c => targetSimulation.AddAnalysis(_chartTemplatingTask.CloneChart(c, targetSimulation)));
        }
        public SimulationMetaData MapFrom(IndividualSimulation simulation)
        {
            var simMetaData = createFor(simulation, SimulationMode.Individual);

            if (!resultsHaveChanged(simulation))
            {
                return(simMetaData);
            }

            //simulation was loaded. It is necessary to update the results
            var results = _simulationResultsCreator.CreateResultsFrom(simulation.DataRepository);

            simMetaData.SimulationResults = results;
            return(simMetaData);
        }
        protected override void Context()
        {
            base.Context();
            _allAvailableColumns  = A.Fake <IReadOnlyCollection <DataColumn> >();
            _chartEditorPresenter = A.Fake <IChartEditorPresenter>();
            var individualSimulation = new IndividualSimulation {
                SimulationSettings = new SimulationSettings()
            };

            _simulationCollection = new List <ISimulation> {
                individualSimulation
            };
            _chartWithObservedData = A.Fake <ChartWithObservedData>();
            A.CallTo(() => _chartEditorPresenter.Chart).Returns(_chartWithObservedData);
        }
        protected override void Context()
        {
            base.Context();

            _ddiRatioSimulation = new IndividualSimulation();
            //Simulate calculated results by setting the DataRepository
            _ddiRatioSimulation.DataRepository = _simulation.DataRepository;

            _pkAnalysis = new PKAnalysis();
            _pkAnalysis.Add(DomainHelperForSpecs.ConstantParameterWithValue(1).WithName(Constants.PKParameters.C_max));
            _pkAnalysis.Add(DomainHelperForSpecs.ConstantParameterWithValue(2).WithName(Constants.PKParameters.AUC_inf));

            A.CallTo(() => _globalPKAnalysisRunner.RunForDDIRatio(_simulation)).Returns(_ddiRatioSimulation);
            A.CallTo(() => _pkAnalysisTask.CalculateFor(_ddiRatioSimulation, _peripheralVenousBloodPlasma)).Returns(new IndividualPKAnalysis(_peripheralVenousBloodPlasma, _pkAnalysis));
        }
        public override void GlobalContext()
        {
            base.GlobalContext();
            _iv   = FindByName <Protocol>("IV");
            _oral = FindByName <Protocol>("ORAL");
            _s1   = FindByName <IndividualSimulation>("S1");
            _s2   = FindByName <IndividualSimulation>("S2");
            _s3   = FindByName <IndividualSimulation>("S3");

            _iv.Name = "NEW_IV";
            sut.RenameUsageOfBuildingBlockInProject(_iv, "IV");

            _oral.Name = "NEW_ORAL";
            sut.RenameUsageOfBuildingBlockInProject(_oral, "ORAL");
        }
Example #26
0
        protected override void Context()
        {
            base.Context();
            _simulation   = A.Fake <IndividualSimulation>();
            _observedData = A.Fake <DataRepository>();
            _chart        = new SimulationTimeProfileChart();
            _chart.AddObservedData(_observedData);
            sut.InitializeAnalysis(_chart);
            sut.UpdateAnalysisBasedOn(_simulation);


            _dataRepositoriesRemoved = new List <DataRepository>();
            A.CallTo(() => _chartEditorPresenter.RemoveDataRepositories(A <IEnumerable <DataRepository> > ._))
            .Invokes(x => _dataRepositoriesRemoved.AddRange(x.GetArgument <IEnumerable <DataRepository> >(0)));
        }
Example #27
0
        protected override async Task Context()
        {
            await base.Context();

            _snapshot = await sut.MapToSnapshot(_individualSimulation, _project);

            var individualSimulation = new IndividualSimulation
            {
                Properties         = _simulationProperties,
                SimulationSettings = _settings,
                Model = _model
            };

            individualSimulation.AddUsedBuildingBlock(new UsedBuildingBlock("IndTemplateId", PKSimBuildingBlockType.Individual)
            {
                Name          = _individual.Name,
                BuildingBlock = _individual
            });

            _modelProperties = new ModelProperties();
            A.CallTo(() => _modelPropertiesTask.DefaultFor(_individual.OriginData, _snapshot.Model)).Returns(_modelProperties);
            A.CallTo(() => _simulationFactory.CreateFrom(_individual, A <IReadOnlyList <Compound> > ._, _modelProperties, null)).Returns(individualSimulation);

            _outputSelection = new OSPSuite.Core.Domain.OutputSelections();
            _outputSelection.AddOutput(new QuantitySelection("PATH", QuantityType.BaseGrid));
            A.CallTo(() => _outputSelectionMapper.MapToModel(_snapshot.OutputSelections, individualSimulation)).Returns(_outputSelection);

            _solver = new SolverSettings();
            A.CallTo(() => _solverSettingsMapper.MapToModel(_snapshot.Solver)).Returns(_solver);

            _outputSchema = new OutputSchema();
            A.CallTo(() => _outputSchemaMapper.MapToModel(_snapshot.OutputSchema)).Returns(_outputSchema);

            A.CallTo(() => _curveChartMapper.MapToModel(_snapshotSimulationTimeProfile, A <SimulationAnalysisContext> ._))
            .Invokes(x => _context = x.GetArgument <SimulationAnalysisContext>(1))
            .Returns(_simulationTimeProfile);


            //ensure that run will be performed
            _snapshot.HasResults      = true;
            _calculatedDataRepository = DomainHelperForSpecs.ObservedData("Calculated");

            A.CallTo(() => _simulationRunner.RunSimulation(individualSimulation, A <SimulationRunOptions> ._))
            .Invokes(x => { individualSimulation.DataRepository = _calculatedDataRepository; });

            A.CallTo(() => _eventMappingMapper.MapToModel(_eventSelection, _project)).Returns(_eventMapping);
            A.CallTo(() => _observerSetMappingMapper.MapToModel(_observerSetSelection, _project)).Returns(_observerSetMapping);
        }
Example #28
0
        private void addSimulationToChart(IndividualSimulation simulation)
        {
            _lazyLoadTask.Load(simulation);
            if (!simulation.HasResults)
            {
                throw new PKSimException(PKSimConstants.Error.SimulationHasNoResultsAndCannotBeUsedInSummaryChart(simulation.Name));
            }

            Chart.AddSimulation(simulation);
            UpdateAnalysisBasedOn(simulation, simulation.DataRepository);

            _chartTemplatingTask.UpdateDefaultSettings(ChartEditorPresenter, simulation.DataRepository.ToList(), new[] { simulation }, addCurveIfNoSourceDefined: false);
            InitializeFromTemplateIfRequired();

            showChartView();
        }
Example #29
0
        protected override void Context()
        {
            base.Context();
            _originalSimulation = new IndividualSimulation {
                Properties = new SimulationProperties()
            };
            _clonedSimulation = A.Fake <IndividualSimulation>();
            A.CallTo(() => _cloner.Clone(_originalSimulation)).Returns(_clonedSimulation);
            _pkSimulation = A.Fake <IndividualSimulation>().WithId("Clone");
            var interactionContainer = new Container();

            _parameter = DomainHelperForSpecs.ConstantParameterWithValue(10).WithName(CoreConstants.Parameters.KI);
            interactionContainer.Add(_parameter);
            A.CallTo(() => _interactionTask.AllInteractionContainers(_pkSimulation)).Returns(new[] { interactionContainer });
            A.CallTo(() => _objectBaseFactory.Create <IndividualSimulation>()).Returns(_pkSimulation);
        }
        public void UpdateColumnInternalUse(IndividualSimulation simulation, DataRepository dataRepository = null)
        {
            var dataRepositoryToUse = dataRepository ?? simulation.DataRepository;

            if (dataRepositoryToUse == null)
            {
                return;
            }

            var outputSelections = simulation.OutputSelections;

            foreach (var column in dataRepositoryToUse.AllButBaseGrid())
            {
                column.IsInternal = !columnIsSelected(column, outputSelections);
            }
        }