Git Product home page Git Product logo

mixomics's Introduction

R build status download license dependencies

This repository contains the R package now hosted on Bioconductor and our stable and development GitHub versions.

Installation

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

a) Latest Bioconductor Release

You can then install mixOmics using the following code:

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

b) GitHub Versions

Stable version

Install 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 ?.?.?
Development version

You can also install the development version for new features yet to be widely tested (see What’s New):

BiocManager::install("mixOmicsTeam/mixOmics@devel")

c) Docker container of the stable GitHub version

Click to expand

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.

  1. Pull mixOmics container 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
  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
  1. Active 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

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.

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!

About the mixOmics team

mixOmics 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.

Why this toolkit?

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.

Want to know more?

www.mixOmics.org (tutorials and resources)

Our latest bookdown vignette: https://mixomicsteam.github.io/Bookdown/.

Different types of methods

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!

What’s New

July 2021

  • new function plotMarkers to visualise the selected features in block analyses (see mixOmicsTeam#134)
  • tune.spls now able to tune the selected variables on both X and Y. See ?tune.spls
  • new function impute.nipals to impute missing values using the nipals algorithm
  • new function tune.spca to tune the number of selected variables for pca components
  • circosPlot now has methods for block.spls objects. It can now handle similar feature names across blocks. It is also much more customisable. See advanced arguments in ?circosPlot
  • new biplot function for pca and pls objects. See ?mixOmics::biplot
  • plotDiablo now takes col.per.group (see #119)

April 2020

  • weighted consensus plots for DIABLO objects now consider per-component weights

March 2020

  • plotIndiv now supports (weighted) consensus plots for block analyses. See the example in this issue
  • plotIndiv(..., ind.names=FALSE) warning issue now fixed

January 2020

  • perf.block.splsda now supports calculation of combined AUC
  • block.splsda bug which could drop some classes with near.zero.variance=TRUE now fixed

mixomics's People

Contributors

aljabadi avatar frohart avatar kayla-morrell avatar lecaolab avatar llrs avatar lshep avatar mixomicsteam avatar nturaga avatar vobencha avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.