Development repository for the Bioconductor package 'mixOmics '
This repository contains the R
package now hosted on
Bioconductor
and our stable and development GitHub
versions.
(macOS users only: Ensure you have installed
XQuartz first.)
Make sure you have the latest R version and the latest BiocManager
package installed following these
instructions (if you use legacy
R versions (<=3.5.0) refer to the instructions at the end of the
mentioned page).
## install BiocManager if not installed
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
Ensure the following returns TRUE
, or follow the guidelines provided
by the output.
BiocManager::valid()
For installation in R, see options a) and b). For Docker containers, see
c).
Bioconductor
ReleaseYou can then install mixOmics
using the following code:
## install mixOmics
BiocManager::install('mixOmics')
GitHub
VersionsInstall the latest stable version (see below for latest
development
version) of mixOmics
from GitHub
(as bug-free as it can be):
BiocManager::install("mixOmicsTeam/mixOmics")
Check after installation that the following code does not throw any
error (especially Mac users - refer to installation
instructions) and that the welcome message confirms you
have installed the latest
version:
library(mixOmics)
#> Loaded mixOmics ?.?.?
You can also install the development
version
for new features yet to be widely tested (see What’s
New):
BiocManager::install("mixOmicsTeam/mixOmics@devel")
Docker
container of the stable GitHub versionNote: this requires root privileges
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.
docker pull mixomicsteam/mixomics
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
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
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)
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
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.
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.
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()
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!
mixOmics
teammixOmics
is collaborative project between Australia (Melbourne),
France (Toulouse), and Canada (Vancouver). The core team includes
Kim-Anh Lê Cao - https://lecao-lab.science.unimelb.edu.au (University
of Melbourne), Florian Rohart - http://florian.rohart.free.fr
(Toulouse) and Sébastien Déjean -
https://perso.math.univ-toulouse.fr/dejean/. We also have key
contributors, past (Benoît Gautier, François Bartolo) and present (Al
Abadi, University of Melbourne) and several collaborators including
Amrit Singh (University of British Columbia), Olivier Chapleur (IRSTEA,
Paris), Antoine Bodein (Universite de Laval) - it could be you too, if
you wish to be involved!.
The project started at the Institut de Mathématiques de Toulouse in
France, and has been fully implemented in Australia, at the University
of Queensland, Brisbane (2009 – 2016) and at the University of
Melbourne, Australia (from 2017). We focus on the development of
computational and statistical methods for biological data integration
and their implementation in mixOmics
.
mixOmics
offers a wide range of novel multivariate methods for the
exploration and integration of biological datasets with a particular
focus on variable selection. Single ’omics analysis does not provide
enough information to give a deep understanding of a biological system,
but we can obtain a more holistic view of a system by combining multiple
’omics analyses. Our mixOmics
R package proposes a whole range of
multivariate methods that we developed and validated on many biological
studies to gain more insight into ’omics biological studies.
www.mixOmics.org (tutorials and resources)
Our latest bookdown vignette:
https://mixomicsteam.github.io/Bookdown/.
We have developed 17 novel multivariate methods (the package includes 19
methods in total). The names are full of acronyms, but are represented
in this diagram. PLS stands for Projection to Latent Structures
(also called Partial Least Squares, but not our preferred nomenclature),
CCA for Canonical Correlation Analysis.
That’s it! Ready! Set! Go!
Thank you for using mixOmics
!
perf()
can now handle features with a (s)pls
which have nearpredict()
can now handle when the testing and training data haveindY
parameter is used in block.spls()
, circosPlot()
can nowperf()
now returns values for the choice.ncomp
component whennrepeat
NA
s.cim()
pca
objects as input.tune.spca()
can now handle NA
values appropriately.plotArrow()
(mint).(s)plsda
object.splsda
perf()
.plotLoadings()
now returns the loading values for features from(mint).(block).(s)plsda
object.tune.mint.splsda()
andperf.mint.splsda()
calculate balanced error rate (BER) as thereverbose.call
was added to most of the methods. Thisbackground.predict()
can now operate on mint.splsda
objects andplotIndiv()
.plotMarkers
to visualise the selected features intune.spls
now able to tune the selected variables on both X
andY
. See ?tune.spls
impute.nipals
to impute missing values using thetune.spca
to tune the number of selected variablescircosPlot
now has methods for block.spls
objects. It can now?circosPlot
biplot
function for pca
and pls
objects. See?mixOmics::biplot
plotDiablo
now takes col.per.group
(see #119)plotIndiv
now supports (weighted) consensus plots for blockplotIndiv(..., ind.names=FALSE)
warningperf.block.splsda
now supports calculation of combined AUCblock.splsda
bug which could drop some classes withnear.zero.variance=TRUE
now fixed