- General questions
- Definition tab
- Exploration tab
- Simulation tab
- Results and Outputs
- Share your Feedback
- How can I reuse my previous mlxR scripts (which where using the simulx() R function)?
Simulx has evolved a lot between the 2019 and 2020 versions, and its API also. mlxR (and its simulx() function) is not compatible with Simulx2020. However Simulx2020 is available via a very convenient and intuitive GUI, and via a new API, which is described here.To ensure the retrocompability of old mlxR scripts with Simulx2020, we are working on an R package providing a simulx() function working as the simulx() function of mlxR. This R package will be available soon.
To run your mlxR scripts after having installed the 2020 version, you need to make sure mlxR is linking to the 2019 version. After loading the mlxR library, call initMlxR(path = “C:/ProgramData/Lixoft/MonolixSuite2019R2”) (adapt the path if necessary).
- It is possible to automatically convert a Nonmem model to a Simulx model? No, but the conversion is relatively easy. For the structural model, you can replace the Nonmem ADVAN routines 1-3 by the pkmodel macro, and the syntax for ODEs is easy to adapt. Parameter distributions and covariate effects are defined in the [INDIVIDUAL] section.
You can also check our case studies (video and slides) “Setting up a simulation from scratch” will gives examples of translations from Nonmem to Simulx.
- How can I share a Simulx project? A Simulx project is composed of a .smlx file, possibly external files you have used to define elements (model file, covariate table, etc) and a result folder. All these must be shared, keeping the relative path between them. In the Simulx project settings (Settings > Project settings > “Save the user files in the results folder”), you can request to save the external files (model and other input files) in the result folder. This way, you only need to share the .smlx file and the result folder.
- How fast is Simulx? Simulx is very fast because it performs the calculations using a C++ engine (the same as Monolix).
- Is it possible to script my simulations? Yes. All actions done in the GUI can also be done via R functions. Have a look at the lixoftConnectors.
- Do I have to define correlations between all parameters (i.e full omega matrix)? No. The omega matrix need to be block diagonal only. See the correlation definition here.
- Is it possible to include uncertainty of the population parameters? Yes. If you have obtained sets of population parameters via bootstrap, you can define the population parameter element via an external file with several lines, each line corresponding to a different set of population parameters. You can also define the population parameters using the type “distribution” which will allow to sample the population distribution from an uncertainty distribution. You can for instance choose normal distributions and give the estimated standard errors in the “sd” column. However this does not include correlations between estimates. To include those, you need to sample to population parameters from their uncertainty distribution outside Simulx and provide them as external file. We will provide soon a R package Rssimulx to help for this.
Note that the a different of population parameters will be used for each replicate.
- Is it possible to sample covariates from a truncated normal distribution? Not yet. For the moment you can use a logit distribution if you need bounds, or sample the covariate elsewhere and provide an external file.
- Can I flexibly define a treatment depending on covariates (such as WT or BSA)? Yes, this is possible if you have the covariate appearing in your model. Select “scale amount by a covariate” in the treatment definition.
no question yet
- Can we perform trial simulations accounting for drop-outs? You can define a joint model with PD and a time-to-event model representing the drop-outs. Simulx will simulate the time of drop-out, but not remove observations happening after the drop-out. This will request to post-process the results outside Simulx.
- Can I calculate the time of Cmax? This can be done in the outcome definition. Select the output corresponding to the concentration, then “max per id” and “time of max”.
RESULTS and OUTPUTS
- How can I get the simulated values? The population parameters, individual parameters, doses, covariates and regressors are saved as .txt files in the Simulation folder of the result folder. By default the simulated values are not exported because they can be very large in size. However it is possible to choose this option in Settings > Preferences > Export simulation files. Outcomes and endpoints are saved in the Endpoints folder of the results.
You can also get the results using the lixoftConnectors R package.
- What is the best way to post-process the Simulx results in R? You can use the R package lixoftConnectors to interact with your Simulx run. In particular, the function getSimulationResults() allows you to recover all results. These results can then be post-processed using typical R code.
- Is it possible to display a 90% prediction interval? Yes, by default the different shades of blue in the “Output distribution” plot represent different percentiles. If in the “Display” settings in the right panel you choose band=2 and level=90, then you will see a 90% prediction interval.
- setGroupElement() worked in 2021R1 but gives an error in the 2021R2 version. The error message has been added in the R2 version when potentially incompatible elements are set together, eg. parameters as EBEs and covariates. In this case you need to set each element separately, as the error message suggests.
- getSimulationResults() does not return results It can happen if the results are too large (too many data points). In the 2021R2 version there are additional two arguments, ID and REP, to request a subset of results.
- I would like to give a suggestion for the future versions of Simulx. Share your feedback!
- I need more details in the documentation for a specific feature. Share your feedback!