20.12 Software


Scope

This document summarizes the software available on the Metworx 20.12 Blueprint release, including any details on changes from previous Metworx Blueprint versions.

Metworx 20.12 Software

Docker: (v19.03.11)

Docker is a tool which is used to automate the deployment of applications in lightweight containers so that applications can work efficiently in different environments (note: a container is a software package that consists of all dependencies required to run an application). This is the tool used by MRG to manage and update Metworx.

Change Summary:

No change from 20.06 Blueprint

Git: (v2.17.1)

Git is a distributed version-control system for tracking changes in source code during software development. It is designed for coordinating work among programmers, but it can be used to track changes in any set of files. Its goals include speed, data integrity, and support for distributed, non-linear workflows.

Change Summary:

No change from 20.06 Blueprint

GNU Fortran: (v7.5.0)

The GNU Fortran compiler fully supports the Fortran 77, 90, and 95 standards, parts of the Fortran 2003 and 2008 standards, as well as several vendor extensions.

Change Summary:

No change from 20.06 Blueprint

Go: (v1.15.2)

Go is an open source programming language developed by Google. It's concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.

Change Summary:

New with 20.12 Blueprint

Guacamole: (v1.2.0)

Apache Guacamole is a clientless remote desktop gateway, requiring no client side applications other than a browser. Users will access a kde desktop on running METWORX workflows.

Change Summary:

The upgrade from 1.1 to 1.2 should not have any user facing impact, beyond stability and performance enhancements. The full changelog is available at https://guacamole.apache.org/releases/1.2.0/

Julia: (v1.5.3)

Julia is a flexible, high-level, high-performance dynamic language, appropriate for scientific and numerical computing, with performance comparable to traditional statically-typed languages.

Julia features optional typing, multiple dispatch, and good performance, achieved using type inference and just-in-time (JIT) compilation, implemented using LLVM. It is multi-paradigm, combining features of imperative, functional, and object-oriented programming. Julia provides ease and expressiveness for high-level numerical computing, in the same way as languages such as R, MATLAB, and Python, but also supports general programming. To achieve this, Julia builds upon the lineage of mathematical programming languages, but also borrows much from popular dynamic languages, including Lisp, Perl, Python, Lua, and Ruby.

Change Summary:

New with 20.12 Blueprint

Jupyterhub: (v1.2.1)

With Jupyterhub, users can create a multi-user Hub which spawns, manages, and proxies multiple instances of the single-user Jupyter notebook server. Due to its flexibility and customization options, it can be used to serve notebooks to various group types. It is made up of four subsystems:

  • A Hub (tornado process) that is the heart of JupyterHub
  • A configurable http proxy that receives requests from the client's

    browser

  • Multiple single-user Jupyter notebook servers

    (Python/IPython/tornado) that are monitored by Spawners

  • An authentication class that manages how users can access the system

Change Summary:

New with 20.12 Blueprint

LaTeX: (v2020)

LaTeX is a document preparation system for high-quality typesetting. Users write in plain text, then use markup tagging conventions to define the general structure of a document, to stylise text throughout a document, and add citations and cross references. It then uses the TeX typesetting program for formatting the associated output. It allows users to create professional, accurate scientific documents that accurately reflect precise equations and other graphics needed to express the user's work.

Change Summary:

Updated package versions to latest tlmgr snapshot. Users with complex LaTeX reports may need to check compatibility in rendering, though minimal problems are anticipated.

MATLAB: (2020b, 2019b)

MathWorks MATLAB is a matrix-based language for solving computational mathematics. Matlab traction lies mostly in the realm of engineering, but it is also preferred by many systems biology groups for being a high-level language with high capabilities for systems of differential equations and graphics. Matlab will be installed as a desktop application, to be accessed via Guacamole.

Change Summary:

Users with existing Matlab projects can still use the older (2019) Matlab

Monolix Suite: (v2020R1 & v2019R2)

Monolix is software for non-linear mixed effects modeling (NLME) in pharmacometrics. Monolix provides an alternative to NONMEM using the SAEM algorithm, and can be used for preclinical and clinical population PK/PD modeling and for systems pharmacology. Monolix utilizes a desktop installation and will be accessed via Guacamole.

Change Summary:

Users with existing Monolix projects can still use the older (2019) Monolix, however projects managed via Monolix 2018 must be upgraded as 2018 is no longer available.

MPN: (2020-12-21)

MPN (Metrum Package Network) is a tool developed and maintained by MetrumRG to ensure a reproducible analysis environment for R users. MPN provides a repository of stable, curated snapshots of R packages (from CRAN and other repositories). By installing packages from a specific MPN snapshot, rather than directly from CRAN, you can ensure it is always the same version of a given package.

Change Summary:

Updated to the 2020-12-21 snapshot. Details associated with this snapshot can be found here https://mpn.metworx.com/docs/snapshots/2020-12-21.

NONMEM: (v7.5.0, v7.4.4, & v7.3.3)

NONMEM is a software package for population pharmacokinetic modeling, allowing users to do NON-linear Mixed Effects Modeling.

Change Summary:

Users of PsN that do not explicitly reference the nm_version in their scripts may not get identical results given NONMEM 7.5 is the new default. All legacy versions and installations of nonmem from previous 20.x Blueprint series are still available.

pkgr: (v2.0.1)

pkgr is a rethinking of the way packages are managed in R. Namely, it embraces the declarative philosophy of defining the ideal state of the entire system, and working towards achieving that objective. Furthermore, pkgr is built with a focus on reproducibility and auditability of what is going on, a vital component for the pharmaceutical sciences + enterprises.

Change Summary:

No change to existing behavior. Newer pkgr improves capabilities by adding binary package handling as well as direct installation from standalone tarballs and DESCRIPTION files.

Perl speaks NONMEM (PsN): (v4.9.0)

Perl-speaks-NONMEM (PsN) is a collection of Perl modules and programs aiding in the development of non-linear mixed effect models using NONMEM. The functionality ranges from solutions to simpler tasks such as parameter estimate extraction from output files, data file sub setting and resampling, to advanced computer-intensive statistical methods. PsN includes stand-alone tools for the end-user as well as development libraries for method developers.

Change Summary:

No change from 20.06 Blueprint

Pirana desktop: (v2.9.9)

Pirana is an IDE for NONMEM development, allowing for tracking of model development, interfacing with PsN for NONMEM job submission and R for model diagnostics. This tool provides an alternative interface to NONMEM for users who prefer using a desktop GUI. Pirana is a desktop application and will be accessed via Guacamole.

Change Summary:

No change from 20.06 Blueprint

Python: (v3.6.9 & v2.7.17)

Users are able to use either Python3 or Python2 on their workflows. Python2 is officially end-of-lifed, however a large ecosystem of tooling still requires it, so we will continue to provide it. Conda-4.0 is installed at the latest patch version available upon release of Metworx 20.12.

Change Summary:

No change from 20.06 Blueprint

R: (v4.0.3 (default), v3.6.3, v3.5.3)

R version (v4.0.3) (http://www.r-project.org/) is the current release of the open source statistical and graphics software on CRAN.

The executables are available at the paths:

/opt/R/4.0.3/bin/R --> also symlinked to usr/bin/R

/opt/R/3.6.3/bin/R

opt/R/3.5.3/bin/R

Change Summary:

Given an adjustment to the system dependencies, some R packages previously installed on 20.03 or 20.06 workflows may need to be reinstalled. Our recommendation is to do a clean install.

RStudio Connect: (v1.8.6)

RStudio Connect is developed by Rstudio for hosting R code as interactive web interfaces via javascript and HTML.

Change Summary:

Changes are aggregate of 1.8.4 to 1.8.6 available at: https://docs.rstudio.com/connect/news/#rstudio-connect-1861

RStudio Connect instances originally launched on 20.x version workflows should function identically, however packages may need to be reinstalled via the rebuild-packrat command as explained: https://docs.rstudio.com/connect/1.5.14/admin/cli.html

RStudio Desktop: (v1.3.1093)

The desktop version of Pirana has functionality to interface with RStudio, but does not work with Rstudio-server. To allow this functionality to be utilized by Metworx users, the desktop version of RStudio is additionally installed.

Change Summary:

Updated to 1.3, to mirror the interface and featureset of RStudio Server Pro.

RStudio Server Pro: (v1.4)

The latest version of RStudio-Server Pro is installed with this version of Metworx. RStudio-Server is an interactive development environment (IDE) for code development, and acts as the primary interface to workflows.

Change Summary:

Updated to latest version of 1.4, which includes bug fixes and stability enhancements.

SGE: (v8.1.9)

SGE (Sun Grid Engine) is a grid computing computer cluster software system that allows users to perform parallel computing, improving efficiency and turnaround times for researchers.

Change Summary:

No change from 20.06 Blueprint

Stan: (v2.24.1, v2.21.0, & v2.19.1)

Stan is a probabilistic programming language for statistical inference written in C++. The Stan language is used to specify a Bayesian statistical model with an imperative program calculating the log density function. Users specify log density functions in Stan's probabilistic programming language and get:

  • Full Bayesian statistical inference with MCMC sampling.
  • Approximate Bayesian inference with variational inference.
  • Penalized maximum likelihood estimation with optimization.

Stan can be called from a variety of areas, including the command line, R, Python, Matlab, and others. METWORX allows users to use their preferred Stan interface using the remote desktop/UI.

Change Summary:

Addition of 2.24.1 provides updated Stan version. Other Stan versions unchanged from previous versions

Subversion: (v1.9.7)

Subversion (SVN) is a software versioning and revision control system distributed as open source under the Apache License. It can be used to maintain current and historical versions of files such as source code, web pages, and documentation.

Change Summary:

No change from 20.06 Blueprint

Torsten: (v0.87.2)

Torsten is a collection of stan functions to facilitate analysis of pharmacometric data using Stan. The current version includes:

  • Specific linear compartment models:

    • One compartment model with first order absorption.
    • Two compartment model with elimination from and first order

      absorption into central compartment

  • General linear compartment model described by a system of

    first-order \underline{linear} Ordinary Differential Equations (ODEs).

  • General compartment model described by a system of first order ODEs.
  • Mix compartment model with PK forcing function described by a linear

    one or two compartment model.

Change Summary:

No change from 20.06 Blueprint

Ubuntu (OS): (v18.04.5)

Ubuntu is a complete Linux operating system, freely available with both community and professional support.

Change Summary:

Latest security patches from the 18.04.4 to 18.04.5 update. No user impact

Visual Studio Code (VSCode): (v 1.52.1)

Visual Studio Code is a powerful lightweight source code editor which runs on desktop, available for Windows, macOS, and Linux. It comes with built-in support for JavaScript, TypeScript, and Node.js with a variety of extensions for other languages.

Change Summary:

No change from 20.06 Blueprint