Giter Site home page Giter Site logo

gmptk / rvis Goto Github PK

View Code? Open in Web Editor NEW
4.0 5.0 1.0 2.96 MB

Open access PBPK modelling platform

License: MIT License

C# 99.63% PowerShell 0.03% R 0.02% Batchfile 0.32%
pbpk pbpk-modeling r sensitivity-analysis markov-chain-monte-carlo morris-method montecarlo global-sensitivity-analysis

rvis's Introduction

RVis Build Status

RVis

RVis is a modeller's tool for loading and exercising simulation code written in R or MCSim.

Prerequisites

RVis is a desktop application for Microsoft Windows. You will need:

  • Microsoft Windows 10 (April 2018 Update or later)
  • R v3.1 or later

RVis depends on various R packages to provide functionality:

  • To use the sensitivity analysis feature in RVis, you will need to install the R sensitivity package
  • The MCMC feature in RVis can provide diagnostics, for which you will need to install the coda package
  • To use all of the features of the sampling module, you will need to install the dicedesign and mc2d packages.

Installation

Visit the releases page and download the zip archive containing the latest RVis.

[more instructions]

Getting Started

[basics]

[links]

Funding and Development

CEFIC HSE

RVis was funded by CEFIC and developed by HSE.

rvis's People

Contributors

thehoglet avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

hortail

rvis's Issues

Setting R directory through config file

Add an option through configuration file to specify the location of the R installation directory for R.NET.

Useful for security settings that limit program access to registry files or for non-standard R installations.

Default limits in LHS

When configuring LHS the parameter distributions default to uniform. The default lower and upper ranges appear reasonable for most parameters except Qliv, liver blood flow rate. This defaults to 0.1 - 1. This gives values as high as 0.99 or 99% cardiac output. This causes faulty simulations for any given output.

Parameter estimation with 4 data sets

Imported 4 urinary metabolite excretion data sets for use in parameter estimation module. Set target accept rate to 0.4. Click on "Iterate" and the the "Stop" button is momentarily enabled before returning to Iterate. Simulation does not initiate.

Param_estimation_4_data_sets_no_sim

Enhancement: Batch execution of an input file

At present RVis can create a design prior to executing a batch run (Monte Carlo and Latin Hypercube options) but it does not have an option of reading in an externally created design and batch running. This would be pretty useful for post processing of MCMC output and would link in with our other software tools (PopGen).

LHS

Define/select a range of acceptable simulations from the LHS output from which the upper and lower limits of parameter distributions can be set.

Fails to load if FIPS compliant algorithms are enforced

No response from program, will not load when the following Windows 10 STIG is applied.
https://www.stigviewer.com/stig/windows_10/2019-01-04/finding/V-63811

Solution:
The software should support FIPS compliant algos. Unless it's something stronger, then the workaround should be sufficient for now.

Workaround:
Powershell
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy" -Name "Enabled" -Value "0" -Force
And/Or Disable the GPO:
Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings
>> Local Policies >> Security Options >> "System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing" to "Disabled".

NAN when ranking parameters in eFAST

In eFAST, the ranking of parameters fails if the range starts at 0 min. The parameters are assigned NAN. Setting the lower range to a >0 avoids this fault.

Monte Carlo Sampling

Return mean or median and display bounds of simulations with +/- 1-3 * standard deviation

LHS-Provide row numbers

Provide row numbers in the Samples field to match simulation line number in chart in Outputs. This should aid user to quickly identify suspect parameter(s).

Identify faulty parameter values in LHS

User should be able to click on a spurious simulation in the LHS chart and identify the suspect line of parameters in the design. These parameter values can then be tested as inputs in the plotter module to test whether the fault can be reproduced and the spurious parameter(s) values identified.

White screen on simulation (.NET CAS problems)

Test on Installed: .NET Framework 4.8, or 4.7.2

Symptom:
When running a simulation, a blank white screen appears (No graph displayed).

Fix?
The possible call to 'file:///C:' May be escalating security on this path due to it's potential to be a hyperlink. Is it possible to call C:\ directly without the File:///?

I don't understand the .NET sandbox security fully, but i believe the least priv approach is safest. This may be a better key to the fix:
https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-4.0/bb763046(v=vs.100)?redirectedfrom=MSDN

Workaround:
Edit RVisUI.exe.config
Below <runtime>
Paste: <loadFromRemoteSources enabled="true"/>

Logfile Error:
10:58:31 Failed to load module in C:\Apps\RVis_v0.8.11068.1\module\sensitivity System.IO.FileLoadException: Could not load file or assembly 'file:///C:\Apps\RVis_v0.8.11068.1\module\sensitivity\Sensitivity.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515) File name: 'file:///C:\Apps\RVis_v0.8.11068.1\module\sensitivity\Sensitivity.dll' ---> System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.

at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at Ninject.Modules.AssemblyNameRetriever.AssemblyChecker.GetAssemblyNames(IEnumerable1 filenames, Predicate1 filter)
at Ninject.Modules.AssemblyNameRetriever.AssemblyChecker.GetAssemblyNames(IEnumerable1 filenames, Predicate1 filter)
at Ninject.Modules.AssemblyNameRetriever.GetAssemblyNames(IEnumerable1 filenames, Predicate1 filter)
at Ninject.Extensions.Conventions.BindingBuilder.AssemblyFinder.FindAssemblies(IEnumerable1 assemblies, Predicate1 filter)
at Ninject.Extensions.Conventions.BindingBuilder.ConventionSyntax.FromAssembliesInPath(String path)
at RVisUI.Ioc.AppState.<>c__DisplayClass68_0.b__0(IFromSyntax x)
at Ninject.Extensions.Conventions.ExtensionsForIKernel.Bind(IBindingRoot kernel, Action1 configure) at RVisUI.Ioc.AppState.DoDirectoryBind(String directory)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.