21.08 Software


Scope

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

Metworx 21.08 Software

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.12 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.12 Blueprint

Go: (v1.16.5)

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:

The upgrade from 1.15.2 to 1.16.5 should not have any user facing impact. Full Go 1.16 release notes are available at https://golang.org/doc/go1.16

Guacamole: (v1.3.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.2 to 1.3 should not have any user facing impact, beyond stability and performance enhancements. The full changelog is available at https://guacamole.apache.org/releases/1.3.0/

Julia: (v1.6.5)

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:

According to the Julia developers, the Julia 1.6 series “is likely to become the next long-term support (LTS) release of Julia.” As a result, the 1.6 release includes features necessary for the future health of the Julia ecosystem. For detailed release information, click here https://docs.julialang.org/en/v1/NEWS/

JupyterLab: (v3.1.6)

JupyterLab is a next-generation web-based user interface for Project Jupyter that enables users to work with documents and activities such as Jupyter notebooks, text editors, terminals, and custom components in a flexible, integrated, and extensible manner.

You can arrange multiple documents and activities side by side in the work area using tabs and splitters. Documents and activities integrate with each other, enabling new workflows for interactive computing, for example:

  • Code Consoles provide transient scratchpads for running code interactively, with full support for rich output. A code console can be linked to a notebook kernel as a computation log from the notebook, for example.
  • Kernel-backed documents enable code in any text file (Markdown, Python, R, LaTeX, etc.) to be run interactively in any Jupyter kernel.
  • Notebook cell outputs can be mirrored into their own tab, side by side with the notebook, enabling simple dashboards with interactive controls backed by a kernel.
  • Multiple views of documents with different editors or viewers enable live editing of documents reflected in other viewers. For example, it is easy to have live preview of Markdown, Delimiter-separated Values, or Vega/Vega-Lite documents.

JupyterLab is accessible via RStudio Workbench on Metworx.

Change Summary:

New with 21.08 Blueprint

Jupyter Notebook: (v6.4.3)

Jupyter Notebook extends the console-based approach to interactive computing in a qualitatively new direction, providing a web-based application suitable for capturing the whole computation process: developing, documenting, and executing code, as well as communicating the results. It combines two components:

  • A web application: a browser-based tool for interactive authoring of documents which combine explanatory text, mathematics, computations, and their rich media output.
  • Notebook documents: a representation of all content visible in the web application, including inputs and outputs of the computations, explanatory text, mathematics, images, and rich media representations of objects.

Jupyter Notebook is accessible via RStudio Workbench on Metworx.

Change Summary:

New with 21.08 Blueprint

LaTeX: (v2021)

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:

A summary of the changes for the June 2021 LaTeX updates can be found here https://www.latex-project.org/news/2021/06/01/issue33-of-latex2e-released/

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:

No change from 20.12 Blueprint

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:

No change from 20.12 Blueprint

MPN: (2021-07-23)

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 2022-08-31 snapshot. Details associated with this snapshot can be found here https://mpn.metworx.com/docs/snapshots/2021-07-23.

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:

No change from 20.12 Blueprint

pkgr: (v3.0.0)

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:

pkgr now defaults to auto-update on installation of packages with new repositories. To use the old behavior you may use the flag --no-update. This was in response to most users expecting packages to be upgraded, and problems with reproducibility when users forgot to upgrade

Perl speaks NONMEM (PsN): (v5.2.6)

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:

Upgraded from 4.9.0 to 5.2.6 for Metworx 21.08. A summary of the new features added as a result of the upgrade can be found here https://uupharmacometrics.github.io/PsN/index.html

Some particularly user-relevant updates include:

  • Usage of the new Pharmpy python package.
  • scm plus was merged into PsN.
  • New file formats for FREM results: results.json and results.csv. One machine readable and one human readable. The new machine readable results.json file created also for cdd, scm, simeval, bootstrap and qa.

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.12 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 21.08.

Change Summary:

No change from 20.12 Blueprint

R: (v4.1.1 (default), v4.0.5, v3.6.3, v3.5.3)

R version (v4.1.1) (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.1.1/bin/R --> also symlinked to /usr/local/bin/R

/opt/R/4.0.5/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 older Metworx 20.X workflows may need to be reinstalled. Our recommendation is to do a clean install.

RStudio Connect: (v1.9.0)

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

Change Summary:

List of new features and changes for RSConnect 1.9.0 available at: https://docs.rstudio.com/connect/news/#rstudio-connect-190

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.4.1717)

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.4.1717, to mirror the interface and featureset of RStudio Workbench.

RStudio Workbench: (v1.4.1717)

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

Change Summary:

With RStudio’s change to RStudio Workbench, users have the ability to use their preferred IDE, whether that is RStudio, JupyterLab, Jupyter Notebooks, or VS Code. More information provided here https://blog.rstudio.com/2021/06/02/announcing-rstudio-workbench/

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.12 Blueprint

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.12 Blueprint

Ubuntu (OS): (v18.04.5)

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

Change Summary:

No change from 20.12 Blueprint

Visual Studio Code (VSCode): (v 1.59.0)

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:

Upgrade from 1.52.1 to 1.59.0, details surrounding 1.59 VSCode version provided here https://code.visualstudio.com/updates/v1_59

Visual Studio Code Pro Server (VSCode): (v 1.54.2)

Available via RStudio Workbench. More information about running a VSCode Session via RStudio Workbench provided here https://blog.rstudio.com/2021/06/02/rstudio-workbench-vscode-sessions/

Change Summary:

New with 21.08 Blueprint

Docker is not currently available on 21.08 Blueprint