Menu

Tree [d47e93] master /
 History

HTTPS access


File Date Author Commit
 .github 2021-04-03 Konrad Stawiski Konrad Stawiski [63ae89] env change in action
 .venv 2021-03-27 Konrad Stawiski Konrad Stawiski [bc7cb9] codespaces update
 R 2021-04-04 Konrad Stawiski Konrad Stawiski [585528] typos
 article 2021-03-04 Konrad Stawiski Konrad Stawiski [a41281] case study prep
 data 2021-03-04 Konrad Stawiski Konrad Stawiski [a41281] case study prep
 docker 2021-04-04 Konrad Stawiski Konrad Stawiski [a61855] typos
 example 2020-09-29 Konrad Stawiski Konrad Stawiski [fb16b2] Transfer from miRNAselector
 extensions 2021-03-19 Konrad Stawiski Konrad Stawiski [1f7769] metaindex as harmonic mean
 inst 2021-02-03 Konrad Stawiski Konrad Stawiski [dd7c19] OmicSelector_log("[OmicSelector: TASK COMPLETED...
 man 2021-03-03 Konrad Stawiski Konrad Stawiski [eaf946] DeepLearning Tutorial v1.0
 pythonenv3.8 2020-10-06 Konrad Stawiski Konrad Stawiski [f03562] timeout fix for public
 shiny 2021-04-05 Konrad Stawiski Konrad Stawiski [d47e93] gpu override
 static 2021-04-05 Konrad Stawiski Konrad Stawiski [2afb4c] a
 templetes 2021-02-03 Konrad Stawiski Konrad Stawiski [f97f4b] typos
 vignettes 2021-04-04 Konrad Stawiski Konrad Stawiski [4ea538] clean temp in tutorial rendering
 .Rbuildignore 2020-09-29 Konrad Stawiski Konrad Stawiski [fb16b2] Transfer from miRNAselector
 .gitattributes 2020-10-06 Konrad Stawiski Konrad Stawiski [666d0a] ignore php to make R primary in liguist
 .gitignore 2020-09-29 Konrad Stawiski Konrad Stawiski [fb16b2] Transfer from miRNAselector
 .gitmodules 2020-12-30 Konrad Stawiski Konrad Stawiski [f7229e] delete submodule
 DESCRIPTION 2021-02-04 Konrad Stawiski Konrad Stawiski [c0c195] rebranding
 Dockerfile 2021-04-04 Konrad Stawiski Konrad Stawiski [497853] rename
 Dockerfile.cpu 2021-04-03 Konrad Stawiski Konrad Stawiski [51d690] Ainize
 Dockerfile.gpu 2021-04-04 Konrad Stawiski Konrad Stawiski [f1a395] speed up for ainize
 Dockerfile.public 2021-03-28 Konrad Stawiski Konrad Stawiski [3c4a83] add libv8-dev for broom
 LICENSE 2020-09-29 Konrad Stawiski Konrad Stawiski [fb16b2] Transfer from miRNAselector
 NAMESPACE 2021-02-03 Konrad Stawiski Konrad Stawiski [f97f4b] typos
 OmicSelector.Rproj 2020-09-29 Konrad Stawiski Konrad Stawiski [fb16b2] Transfer from miRNAselector
 README.md 2021-04-04 Konrad Stawiski Konrad Stawiski [09f1ea] docs update
 _config.yml 2021-02-03 Konrad Stawiski Konrad Stawiski [f97f4b] typos
 _pkgdown.yml 2021-04-04 Konrad Stawiski Konrad Stawiski [09f1ea] docs update
 build.R 2020-09-29 Konrad Stawiski Konrad Stawiski [fb16b2] Transfer from miRNAselector
 index.md 2021-04-04 Konrad Stawiski Konrad Stawiski [09f1ea] docs update

Read Me

OmicSelector

Docker R package

OmicSelector is an environment, Docker-based web application, and R package for biomarker signature selection (feature selection) from high-throughput experiments and others. It was initially developed for miRNA-seq (small RNA, smRNA-seq; hence the previous name was miRNAselector), RNA-seq and qPCR, but can be applied for every problem where numeric features should be selected to counteract overfitting of the models. Using our tool you can for example select the miRNAs with the greatest diagnostic potential (based on the results of miRNA-seq, for validation in qPCR experiments).

The main purpose of OmicSelector is to provide you with the set of candidate features (biomarkers) for further validation of biomarker study from e.g. high-throughput experiments. The package performs feature selection first. In the next step, the sets of features are tested in the process called “benchmarking”. In benchmarking we test all of those sets of features (biomarkers) using various data-mining (machine learning) methods. Based on the average performance of sets in cross-validation or holdout-validation (testing on the test set and/or validation set) we can suggest which of the signatures (set of features) has the greatest potential in further validation.

Go to https://biostat.umed.pl/OmicSelector/ for more details.

Try it out

Run on Ainize

Link: https://master-omic-selector-kstawiski.endpoint.ainize.ai/

Please note that uploading real data to this instance is not safe. You're data and analysis files will be accessible by anyone. You can fork the repo if you want your own free tesing copy using Ainize.

Quick start

Docker (with GUI):

  1. GPU-based, using Nvidia CUDA: kstawiski/omicselector-gpu
docker run --name OmicSelector --restart always -d -p 28888:80 --gpus all -v $(pwd)/:/OmicSelector/host/ kstawiski/omicselector-gpu
  1. CPU-based: kstawiski/omicselector
docker run --name OmicSelector --restart always -d -p 28888:80 -v $(pwd)/:/OmicSelector/host/ kstawiski/omicselector

As docker image updates itself, it may take few minutes for the app to be operational. You can check logs using docker logs OmicSelector. The GUI is accessable via http://your-host-ip:28888/. If you use command above, your working directory will be binded as /OmicSelector/host/.

Video tutorial is available here:

OmicSelector - feature selection and deep learnining with GUI - tutorial

This tutorial shows how OmicSelector' GUI works and how to perform (without programming knowledge):

  • Feature selection
  • Benchmarking (selecting best set of variables based on the performance of data-mining models)
  • Deep learning model development (feedforward neural network up to 3 hidden layers and with/without autoencoders; grid search of hyperparameters)
  • Exploratory analysis (differential expression using t-test, imputation of missing data using predictive mean matching, correcting the batch effect using ComBat, generating heatmaps and volcano plots).

R package (without GUI):

Own enviorment:

library("devtools") # if not installed, install via install.packages('devtools')
source_url("https://raw.githubusercontent.com/kstawiski/OmicSelector/master/vignettes/setup.R")
install_github("kstawiski/OmicSelector", force = T)
library(keras)
install_keras()
library(OmicSelector)
OmicSelector_setup()

Linux/macOS using conda

  1. Installing the package in own Anaconda enviorment:

Use e.g. conda create -n OmicSelector and conda activate OmicSelector to set up your enviorment. Please note the this will work only when running on Linux (Ubuntu) OS or macOS.

conda install --channel "conda-forge" --channel "anaconda" --channel "r" tensorflow keras jupyter jupytext numpy pandas r r-devtools r-rgl r-rjava r-mnormt r-purrrogress r-xml gxx_linux-64 libxml2 pandoc r-rjava r-magick opencv pkgconfig gfortran_linux-64
echo "options(repos=structure(c(CRAN='http://cran.r-project.org')))" >> ~/.Rprofile
Rscript -e 'update.packages(ask = F); install.packages(c("devtools","remotes")); remotes::install_cran("pkgdown");'
Rscript -e 'devtools::source_url("https://raw.githubusercontent.com/kstawiski/OmicSelector/master/vignettes/setup.R")'

If you have compatible GPU you can consider changing tensorflow to tensorflow-gpu in mamba install command.

Windows OS

You can download our Windows-based R enviroment from here: https://studumedlodz-my.sharepoint.com/:u:/g/personal/btm_office365_umed_pl/EQUihquz915JoVhsQQShcnoBZaukMkwd3MnC1LER0iORNw?e=W6KEyu

After unpacking, if you wish to use our enviorment please consider setting the our R version in your R Studio installation:

Footnote

Citation:

In press.

Authors:

Supervised by: prof. Wojciech Fendler, M.D., Ph.D.

For any troubleshooting use https://github.com/kstawiski/OmicSelector/issues.

Department of Biostatistics and Translational Medicine, Medical Univeristy of Lodz, Poland (https://biostat.umed.pl)

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.