-
Notifications
You must be signed in to change notification settings - Fork 1
/
README.Rmd
127 lines (90 loc) · 3.72 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
---
output: github_document
editor_options:
markdown:
wrap: 72
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```
# GeneSelectR
<!-- badges: start -->
[![R-CMD-check](https://github.com/dzhakparov/GeneSelectR/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/dzhakparov/GeneSelectR/actions/workflows/R-CMD-check.yaml)
![Docker-Deploy](https://github.com/dzhakparov/GeneSelectR/actions/workflows/GeneSelectR-Docker-Deploy.yaml/badge.svg)
<!-- badges: end -->
## Overview
<img src="man/figures/GeneSelectR.png" style="float: right; margin: 0px 0px 10px 10px;" width="120px"/>
GeneSelectR is an R package designed to streamline the process of gene
selection and evaluation in bulk RNAseq datasets. Built on top of the
powerful scikit-learn Python library via the reticulate package,
GeneSelectR offers a seamless integration of machine learning and
bioinformatics capabilities in a single workflow.
### Features
Comprehensive Workflow GeneSelectR provides an end-to-end solution for
feature selection, combining the machine learning prowess of
scikit-learn with the bioinformatics utilities of R packages like
clusterprofiler and simplifyEnrichment.
### Customizable Yet User-Friendly
While GeneSelectR offers a high degree of customization to cater to
specific research needs, it also comes with preset configurations that
are suitable for most use-cases, making it accessible for both novice
and experienced users.
### Diverse Feature Selection Methods
The package includes a variety of inbuilt feature selection methods,
such as:
- SelectFromModel with RandomForest
- SelectFromModel with Logistic Regression (L1 penalty)
- Boruta
- Univariate Filtering
### Main Functionality
The core function, GeneSelectR, performs gene selection using various
methods and evaluates their performance through cross-validation. It
also supports hyperparameter tuning, permutation feature importance
calculation, and more.
```{r, echo=FALSE}
knitr::include_graphics("vignettes/images/package_workflow.png")
```
### Installation
GeneSelectR depends on reticulate that creates a conda working
environment. Please, install
[Anaconda](https://www.anaconda.com/download) distribution before you
proceed.
A stable CRAN release can be installed with:
```{r, eval=FALSE}
install.packages('GeneSelectR')
```
You can install the development version of GeneSelectR from
[GitHub](https://github.com/) with:
```{r, eval=FALSE}
# install.packages("devtools")
devtools::install_github("dzhakparov/GeneSelectR")
```
### Usage and Example
A tutorial detailing how to use GeneSelectR can be accessed in this
[vignette](https://dzhakparov.github.io/GeneSelectR/vignettes/example.html).
### Docker Image
GeneSelectR is available as a container image on Docker Hub. You can
pull the image using the following command:
```{bash eval=FALSE, echo=TRUE, results='asis'}
docker pull dzhakparov/geneselectr-image:latest
docker run -e PASSWORD=your_password -p 8787:8787 dzhakparov/geneselectr-image:latest
```
After running these commands, open your browser and go to localhost:8787
(http//local-ip-address:8787 in Windows). You will be prompted to enter
username and password. The default username is rstudio and the password
is the one you specified in the command above.
### Citation
Please cite the following paper if you use GeneSelectR in your research:
### Feedback and Contribution
Any feedback is welcome and appreciated! Feel free to create issues or
pull requests. For any other questions please write to:
[damir.zhakparov\@uzh.ch](mailto:damir.zhakparov@uzh.ch){.email}.
---
output: github_document
---