-
Notifications
You must be signed in to change notification settings - Fork 3
/
01-intro_R.Rmd
219 lines (168 loc) · 9.51 KB
/
01-intro_R.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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
# Inauguración CDSB2021 {-}
<script async class="speakerdeck-embed" data-id="2183a59718804e359fedef8de75606d2" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script>
# Introducción a R y RStudio
Instructor: [Leonardo Collado Torres](https://comunidadbioinfo.github.io/es/authors/lcollado/)
## R
* R: es gratis, de acceso libre, utilizado para muchos campos de trabajo, fuerte en la bioinformática a través de Bioconductor
* Instalación a través de CRAN: https://cran.r-project.org/
* Para explorar que se puede hacer con R:
- R Weekly https://rweekly.org/
- R Bloggers https://www.r-bloggers.com/
- Twitter https://twitter.com/search?q=%23rstats&src=typed_query
- Twitter en español https://twitter.com/search?q=%23rstatsES&src=typed_query
- TidyTuesday https://twitter.com/search?q=%23TidyTuesday&src=typed_query
- DatosDeMiercoles https://twitter.com/search?q=%23datosdemiercoles&src=typed_query
* Para pedir ayuda hay muchas opciones
- https://lcolladotor.github.io/bioc_team_ds/how-to-ask-for-help.html
* Material en el que estoy involucrado:
- https://twitter.com/lcolladotor
- https://www.youtube.com/c/LeonardoColladoTorres/playlists
- LIBD rstats club https://docs.google.com/spreadsheets/d/1is8dZSd0FZ9Qi1Zvq1uRhm-P1McnJRd_zxdAfCRoMfA/edit?usp=sharing
- https://twitter.com/CDSBMexico, https://twitter.com/LIBDrstats, https://twitter.com/Bioconductor
- https://comunidadbioinfo.github.io/
- YouTube CDSB: https://www.youtube.com/channel/UCHCdYfAXVzJIUkMoMSGiZMw
- _Orchestrating Spatially Resolved Transcriptomics Analysis with Bioconductor_ https://lmweber.org/OSTA-book/
<img src="https://raw.githubusercontent.com/lcolladotor/rnaseq_LCG-UNAM_2021/master/icon_192.png">
<blockquote class="twitter-tweet"><p lang="es" dir="ltr">Thank you <a href="https://twitter.com/Bioconductor?ref_src=twsrc%5Etfw">@Bioconductor</a> for welcoming me & providing me a foundation & platform for my career<br><br>Gracias BioC por darme una oportunidad y plataforma para desarrollar mi carrera<br><br>Time to pass it on/Toca enseñar y crecer la bola de nieve ❄️ <a href="https://twitter.com/CDSBMexico?ref_src=twsrc%5Etfw">@CDSBMexico</a> 🇲🇽<a href="https://twitter.com/hashtag/BioC2021?src=hash&ref_src=twsrc%5Etfw">#BioC2021</a> <a href="https://twitter.com/hashtag/rstats?src=hash&ref_src=twsrc%5Etfw">#rstats</a> <a href="https://twitter.com/hashtag/rstatsES?src=hash&ref_src=twsrc%5Etfw">#rstatsES</a> <a href="https://t.co/8cDXP4Pf2W">https://t.co/8cDXP4Pf2W</a> <a href="https://t.co/rpQgH8UsWW">pic.twitter.com/rpQgH8UsWW</a></p>— 🇲🇽 Leonardo Collado-Torres (@lcolladotor) <a href="https://twitter.com/lcolladotor/status/1423385604314865664?ref_src=twsrc%5Etfw">August 5, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
## GitHub
* Permite compartir código
* Se complementa con Git que es para tener un control de versiones de tu código
- https://github.com/ComunidadBioInfo/cdsb2020/blob/master/presentaciones_flujos-de-trabajo/Introduccion-al-flujo-de-trabajo-orientado-a-proyectos.pdf
* Puedes tener páginas web estáticas
- https://pages.github.com/
- https://github.com/ComunidadBioInfo/cdsb2021_scRNAseq/. En especial https://github.com/ComunidadBioInfo/cdsb2021_scRNAseq/tree/gh-pages se convierte en https://comunidadbioinfo.github.io/cdsb2021_scRNAseq/
- Página personal: https://github.com/lcolladotor/lcolladotor.github.com se convierte en http://lcolladotor.github.io/. Está todo hecho con https://github.com/lcolladotor/lcolladotorsource
* Tip: usen el mismo nombre de usuario en GitHub, Twitter, Gmail, etc.
- How to be a Modern Scientist: https://lcolladotor.github.io/bioc_team_ds/how-to-be-a-modern-scientist.html
## RStudio
* RStudio Desktop es gratis http://www.rstudio.com/products/rstudio/download/preview/
* Nos ayuda a realizar muchas cosas con R de forma más rápida
- Demo `rsthemes`
```{r install_rsthemes, eval = FALSE}
remotes::install_github(c(
"gadenbuie/rsthemes"
))
remotes::install_cran("suncalc")
rsthemes::install_rsthemes(include_base16 = TRUE)
```
```{r r_profile, eval = FALSE}
usethis::edit_r_profile()
## From https://www.garrickadenbuie.com/project/rsthemes/
if (interactive() && requireNamespace("rsthemes", quietly = TRUE)) {
# Set preferred themes if not handled elsewhere..
rsthemes::set_theme_light("Solarized Light {rsthemes}") # light theme
rsthemes::set_theme_dark("base16 Monokai {rsthemes}") # dark theme
rsthemes::set_theme_favorite(c(
"Solarized Light {rsthemes}",
"base16 Monokai {rsthemes}",
"One Dark {rsthemes}"
))
# Whenever the R session restarts inside RStudio...
setHook("rstudio.sessionInit", function(isNewSession) {
# Automatically choose the correct theme based on time of day
## Used rsthemes::geolocate() once
rsthemes::use_theme_auto(lat = 39.2891, lon = -76.5583)
}, action = "append")
}
## https://blog.rstudio.com/2013/06/10/rstudio-cran-mirror/
options(repos = c(CRAN = "https://cloud.r-project.org"))
```
* Es actualizado con bastante frecuencia
* RStudio cheatsheets https://www.rstudio.com/resources/cheatsheets/
- https://github.com/rstudio/cheatsheets/raw/master/rstudio-ide.pdf
* RStudio projects: usalos para organizar tu código
- https://github.com/ComunidadBioInfo/cdsb2020/blob/master/presentaciones_flujos-de-trabajo/Trabajando-con-proyectos.pdf
```{r proj, eval = FALSE}
usethis::create_project("~/Desktop/cdsb2021_scRNAseq_notas")
```
```{r create_setup, eval = FALSE}
## Inicien un archivo para sus notas
usethis::use_r("01-notas.R")
```
O por ejemplo el archivo [01-visualizar-mtcars.R](https://github.com/lcolladotor/rnaseq_2021_notas_en_vivo/blob/master/R/01-visualizar-mtcars.R)
```{r create_01-visualizar-mtcars, eval = FALSE}
## Creemos el archivo R/01-visualizar-mtcars.R
usethis::use_r("01-visualizar-mtcars.R")
```
con el siguiente contenido:
```{r vis_mtcars, eval = FALSE}
## Cargar paquetes que usaremos en este código
library("sessioninfo")
library("here")
library("ggplot2")
## Hello world
print("Soy Leo")
## Crear directorio para las figuras
dir.create(here::here("figuras"), showWarnings = FALSE)
## Hacer una imagen de ejemplo
pdf(here::here("figuras", "mtcars_gear_vs_mpg.pdf"),
useDingbats = FALSE
)
ggplot(mtcars, aes(group = gear, y = mpg)) +
geom_boxplot()
dev.off()
## Para reproducir mi código
options(width = 120)
sessioninfo::session_info()
```
* Configura `usethis` con GitHub vía https://usethis.r-lib.org/articles/articles/git-credentials.html
```{r use_git_init, eval = FALSE}
## Para poder conectar tu compu con GitHub
usethis::create_github_token() ## Abrirá una página web, escoje un nombre único
## y luego da click en el botón verde al final. Después copia el token
## (son 40 caracteres)
gitcreds::gitcreds_set() ## Ojo, copia el token, no tu password de git!
## Si no, terminaras en la situación descrita en
## https://github.com/r-lib/usethis/issues/1347
```
```{r use_git_cont, eval = FALSE}
## Configura tu usuario de GitHub
usethis::edit_git_config()
# [user]
# name = Leonardo Collado Torres
# email = [email protected]
## Para inicializar el repositorio de Git
usethis::use_git()
## Para conectar tu repositorio local de Git con los servidores de GitHub
usethis::use_github()
```
Resultado ejemplo: https://github.com/lcolladotor/cdsb2021_scRNAseq_notas. El que hice en vivo está disponible vía https://github.com/lcolladotor/cdsb2021_scRNAseq_notas_en_vivo (o https://github.com/lcolladotor/rnaseq_2021_notas_en_vivo para un ejemplo de febrero 2021).
Una vez que termines, agrega la liga al repositorio con tus notas del curso en el [Google Sheet](https://docs.google.com/spreadsheets/d/13xHCfRb3vATXCFxS1prIA5cYgHNFnzI0GLlcIjtenyw/edit?usp=sharing) del curso. (De ser necesario, pide permisos para editar el archivo.)
## Material del curso
* Pueden descargar la versión estática con `usethis::use_course('ComunidadBioInfo/cdsb2021_scRNAseq')`
* Pueden verlo en línea a través de [**ComunidadBioInfo.github.io/cdsb2021_scRNAseq**](http://ComunidadBioInfo.github.io/cdsb2021_scRNAseq)
* Pueden **clonarlo** desde GitHub de tal forma que podrán actualizarlo fácilmente usando *git pull*
```{bash clone_course, eval = FALSE}
git clone https://github.com/ComunidadBioInfo/cdsb2021_scRNAseq.git
## Si tienen su SSH key configurarda pueden usar
## Info sobre SSH keys de GitHub:
## https://docs.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
git clone [email protected]:ComunidadBioInfo/cdsb2021_scRNAseq.git
```
O desde R con:
```{r clone_repo, eval = FALSE}
## Opción más nueva:
library("gert")
repo <- git_clone(
"https://github.com/ComunidadBioInfo/cdsb2021_scRNAseq",
"~/Desktop/cdsb2021_scRNAseq"
)
setwd(repo)
## Otra opción:
git2r::clone(
"https://github.com/ComunidadBioInfo/cdsb2021_scRNAseq",
"~/Desktop/cdsb2021_scRNAseq"
)
```
## Detalles de la sesión de R
```{r}
## Información de la sesión de R
Sys.time()
proc.time()
options(width = 120)
sessioninfo::session_info()
```
## Patrocinadores {-}
Agradecemos a nuestros patrocinadores:
<a href="https://comunidadbioinfo.github.io/es/post/cs_and_s_event_fund_award/#.YJH-wbVKj8A"><img src="https://comunidadbioinfo.github.io/post/2021-01-27-cs_and_s_event_fund_award/spanish_cs_and_s_award.jpeg" width="400px" align="center"/></a>
<a href="https://www.r-consortium.org/"><img src="https://www.r-consortium.org/wp-content/uploads/sites/13/2016/09/RConsortium_Horizontal_Pantone.png" width="400px" align="center"/></a>