SkillAgentSearch skills...

MixOmics

Development repository for the Bioconductor package 'mixOmics '

Install / Use

/learn @mixOmicsTeam/MixOmics

README

<!-- PLEASE DO NOT EDIT ./README.md BY HAND, EDIT ./inst/README.Rmd AND RENDER TO CREATE ./README.md -->

download R build
status license dependencies

This repository contains the R package which is hosted on Bioconductor and our development GitHub versions. Go to www.mixomics.org for information on how to use mixOmics.

Installation

(macOS users only: Ensure you have installed XQuartz first.)

From Bioconductor (recommended)

The best way to install mixOmics is using Bioconductor. You can see the landing page for the release version of mixOmics on Bioconductor here. Make sure you have the latest R version and the latest BiocManager package installed following these instructions.

## install BiocManager if not installed
if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

## install mixOmics
BiocManager::install('mixOmics')

## load mixOmics
library(mixOmics) 

From Github

Bioconductor versions are updated twice a year, between these updates you can download the latest version of mixOmics from Github. Note that this latest version of mixOmics is under development and may not be stable, check the gitHub page for releases which have passed package testing.

## install devtools
install.packages("devtools")

## install latest github version of mixOmics
devtools::install_github("mixOmicsTeam/mixOmics")

From Docker container

You can install our latest stable Github version of mixOmics via our Docker container. You can do this by downloading and using the Docker desktop application or via the command line as described below.

<details> <summary> Click to expand </summary>

Note: this requires root privileges

  1. Install Docker following instructions at https://docs.docker.com/docker-for-mac/install/

if your OS is not compatible with the latest version download an older version of Docker from the following link:

Then open your system’s command line interface (e.g. Terminal for MacOS and Command Promot for Windows) for the following steps.

MacOS users only: you will need to launch Docker Desktop to activate your root privileges before running any docker commands from the command line.

  1. Pull mixOmics container
docker pull mixomicsteam/mixomics
  1. Ensure it is installed

The following command lists the running images:

docker images

This lists the installed images. The output should be something similar to the following:

$ docker images 
  > REPOSITORY                       TAG       IMAGE ID       CREATED         SIZE
  > mixomicsteam/mixomics            latest    e755393ac247   2 weeks ago     4.38GB

4) Activate the container

Running the following command activates the container. You must change your_password to a custom password of your own. You can also customise ports (8787:8787) if desired/necessary. see https://docs.docker.com/config/containers/container-networking/ for details.

docker run -e PASSWORD=your_password --rm -p 8787:8787 mixomicsteam/mixomics
  1. Run

In your web browser, go to http://localhost:8787/ (change port if necessary) and login with the following credentials:

username: rstudio
password: (your_password set in step 4)

  1. Inspect/stop

The following command lists the running containers:

sudo docker ps

The output should be something similar to the following:

$ sudo docker ps
  > CONTAINER ID   IMAGE                   COMMAND   CREATED         STATUS         PORTS                    NAMES
  > f14b0bc28326   mixomicsteam/mixomics   "/init"   7 minutes ago   Up 7 minutes   0.0.0.0:8787->8787/tcp   compassionate_mestorf

The listed image ID can then be used to stop the container (here f14b0bc28326)

docker stop f14b0bc28326
</details>

Contribution

We welcome community contributions concordant with our code of conduct. We strongly recommend adhering to Bioconductor’s coding guide for software consistency if you wish to contribute to mixOmics R codes.

Bug reports and pull requests

To report a bug (or offer a solution for a bug!) visit: https://github.com/mixOmicsTeam/mixOmics/issues. We fully welcome and appreciate well-formatted and detailed pull requests. Preferably with tests on our datasets.

<details> <summary> Set up development environment </summary>
  • Install the latest version of R
  • Install RStudio
  • Clone this repo, checkout master branch, pull origin and then run:
install.packages("renv", Ncpus=4)
install.packages("devtools", Ncpus=4)

# restore the renv environment
renv::restore()

# or to initialise renv
# renv::init(bioconductor = TRUE)

# update the renv environment if needed
# renv::snapshot()

# test installation
devtools::install()
devtools::test()

# complete package check (takes a while)
devtools::check()
</details>

Discussion forum

We wish to make our discussions transparent so please direct your analysis questions to our discussion forum https://mixomics-users.discourse.group. This forum is aimed to host discussions on choices of multivariate analyses, as well as comments and suggestions to improve the package. We hope to create an active community of users, data analysts, developers and R programmers alike! Thank you!

What’s New

April 2025

** Version 6.32.0 **

Bioconductor release version 6.32.0 released 17th April 2025 mixOmics can now be downloaded using Bioconductor version 3.21 and is compatable with R 4.5.0

  • feature request #345 updated functionality for plotLoadings() so can plot in ggplot2 style and customise aesthetics
  • bug fix implemented for #357 plotIndiv() not handing pch ordering correctly
  • enhancement request #332 increased test coverage for plotIndiv()
  • implemented a new unit testing framework for plotting functions using vdiffr package

March 2025

  • enhancement request #353 better error message in perf() when one sample in a class
  • enhancement request #340 expand test coverage for main functions
  • enhancement request #336 streamline multiblock functions by removing scheme and init args

Also explored potential unusual behaviour of: * zero variance handling in block.splsda #352 * perf() giving non-intuitve per-class error rates #355

November 2024

  • enhancement request #216 implemented parallel processing using BPPARAM across all tune() functions
  • feature request #335 added seed argument to perf() functions for better reproducibility
  • feature request #334 added seed argument to tune() functions for better reproducibility
  • bug fix implemented for #303 multiple solutions found in perf() returns error
  • bug fix implemented for #307 plotIndiv() ellipses colours not matching points, now sample group order is respected and colours can be customised for points and ellipses
  • updated documentation to fix issue #297 broken link in bookdown vignette
  • updated documentation to fix issue #296 typo in vignette

The performance assessment and parameter tuning workflow has been streamlined as described in issue #343

  • New function: perf.assess() This function essentially runs perf() on final model but only returns performance metrics for the number of components used in the final model. Designed to be used in the final step of the workflow for quantifying final model performance. Outputs a list of values but no plotting functionality avaliable. See PR #344 for more details.

  • Additional functionalit

Related Skills

View on GitHub
GitHub Stars233
CategoryDevelopment
Updated11d ago
Forks66

Languages

R

Security Score

85/100

Audited on Mar 30, 2026

No findings