Skip to content

Commit f793a35

Browse files
committed
2 parents f6a87c6 + 37802b6 commit f793a35

55 files changed

Lines changed: 174 additions & 82 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

aplicaciones_bioinformáticas/ciencia_reproducible.html renamed to aplicaciones_bioinformaticas/ciencia_reproducible.html

Lines changed: 79 additions & 46 deletions
Large diffs are not rendered by default.

aplicaciones_bioinformáticas/ciencia_reproducible.qmd renamed to aplicaciones_bioinformaticas/ciencia_reproducible.qmd

Lines changed: 68 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ Git es capaz de rastrear todos los archivos contenidos en un repositorio. Para c
219219

220220
Se puede hacer mediante línea de comandos en la terminal y también mediante la pestaña integrada en RStudio, pero el proceso es el mismo.
221221

222-
![Opciones de Git en RStudio](images/git_RStudio.png){alt="Opciones de Git en RStudio" fig-align="center" width="486"}
222+
![Opciones de Git en RStudio](images/git_RStudio.png){fig-align="center" width="486"}
223223

224224
Al principio todos los cambios realizados aparecen en amarillo porque Git no sabe que hacer con ellos. Estamos en el directorio de trabajo y puede que no nos interese guardar todos los cambios para el futuro.
225225

@@ -231,11 +231,11 @@ Para registrar los cambios que nos interesen hay que utilizar `git commit` (en l
231231

232232
- `git commit -m "mensaje corto y descriptivo"`
233233

234-
![Commit en RStudio](images/commit_RStudio.png){alt="Commit en RStudio" fig-align="center" width="545"}
234+
![Commit en RStudio](images/commit_RStudio.png){fig-align="center" width="545"}
235235

236236
💡Usar `git commit` es para el proyecto como usar anclajes cuando estamos escalando una pared de roca. Desarrollar un script sin commits es como escalar sin asegurarse: puedes avanzar mucho más rápido a corto plazo, pero a largo plazo las probabilidades de fallo catastrófico son altas. Por otro lado, hacer muchos commits va a ralentizar tu progreso. Lo mejor: usar más commits cuando estás en un territorio incierto o peligroso.
237237

238-
![Lineas de trabajo (cuerdas) aseguradas con varios commits (anclajes)](images/climbing.png){alt="Lineas de trabajo (cuerdas) aseguradas con varios commits (anclajes)"}
238+
![Lineas de trabajo (cuerdas) aseguradas con varios commits (anclajes)](images/climbing.png)
239239

240240
Por último, `git push` permite subir los cambios que hemos hecho a GitHub y quedarán visibles para nuestros colaboradores (en la pestaña Git de RStudio se hace clickando el botón "*Push*"). Básicamente, `git commit` registra los cambios en el repositorio local y `git push` actualiza el repositorio remoto con los cambios y archivos asociados.
241241

@@ -265,7 +265,7 @@ El historial del proyecto y de los archivos también es accesible a través de R
265265

266266
💡Más información sobre como navegar en el pasado del proyecto aquí: <https://happygitwithr.com/time-travel-see-past.html>
267267

268-
![Historial de un repositorio](images/hist.jpg){alt="Historial de un repositorio"}
268+
![Historial de un repositorio](images/hist.jpg)
269269

270270
💡En los *issues* se puede referenciar a una línea concreta de código de un estado concreto del proyecto entrando en el archivo en la pestaña *Code* y clickando en el número de línea que se quiere comentar, o a un *commit* entero copiando el SHA.
271271

@@ -290,7 +290,7 @@ Git permite crear una "rama" (*branch*) paralela al proyecto si se desea seguir
290290

291291
Las ramas se pueden generar en la [terminal](https://github.com/DatSciR/intro_git-github/blob/main/centra/dia2_colaboracion.md) y en la pestaña Git de RStudio. En la pestaña Git se generan mediante el botón "*New Branch*". Al lado de "*New Branch"* podemos observar todas las ramas que contiene el repositorio y nos permite cambiar de rama fácilmente clickando en ellas.
292292

293-
![Proceso de creación de la rama PPP y la rama monchi](images/ramas.png){alt="Proceso de creación de la rama PPP y la rama monchi" fig-align="center"}
293+
![Proceso de creación de la rama PPP y la rama monchi](images/ramas.png){fig-align="center"}
294294

295295
### 📝Ejercicio 2.2
296296

@@ -306,27 +306,27 @@ Las ramas se pueden generar en la [terminal](https://github.com/DatSciR/intro_gi
306306

307307
Cuando el trabajo desarrollado en una rama se da por finalizado hay que hacer la unión a la rama principal ("*main*"). Esto se puede hacer en la [terminal](https://github.com/DatSciR/intro_git-github/blob/main/centra/dia2_colaboracion.md) y con el botón "*pull request*" en la página del proyecto en GitHub siguiendo los pasos que se explican a continuación.
308308

309-
![Proceso de creación y unión de ramas. Ejemplo de unión (merge) de la rama monchi a la rama main](images/merge.jpg){alt="Proceso de creación y unión de ramas. Ejemplo de unión (merge) de la rama monchi a la rama main"}
309+
![Proceso de creación y unión de ramas. Ejemplo de unión (merge) de la rama monchi a la rama main](images/merge.jpg)
310310

311311
Una vez que hemos realizado los cambios que queríamos en la rama y están subidos a GitHub (`git add` + `git commit` + `git push`), en GitHub aparece la opción de "Compare & pull request". Aquí se genera el *pull request* ("*Create pull request*") añadiendo un mensaje para saber lo que se está uniendo. GitHub os indicará si existen conflictos o no. Si no existen conflictos, podréis realizar el *pull request* sin problema y, si existen conflictos, hay que resolverlos manualmente.
312312

313313
![](images/pullrequest1.jpg){fig-align="center"}
314314

315315
![](images/pullrequest1.1.jpg)
316316

317-
![Características del merge a realizar](images/pullrequest2.jpg){alt="Características del merge a realizar" fig-align="center"}
317+
![Características del merge a realizar](images/pullrequest2.jpg){fig-align="center"}
318318

319319
![](images/pullrequest3.jpg){fig-align="center"}
320320

321-
![Confirmacion y fin del proceso](images/pullrequest3.1.jpg){alt="Confirmacion y fin del proceso" fig-align="center"}
321+
![Confirmacion y fin del proceso](images/pullrequest3.1.jpg){fig-align="center"}
322322

323323
## Resolución de conflictos
324324

325325
Git puede encontrar conflictos al fusionar ramas que hay que arreglar manualmente (GitHub os indicará "Can't automatically merge"). Esto ocurrirá si en las dos ramas se han cambiado las mismas líneas de un archivo. Hay que generar el pull request y "*Resolve conflicts*".
326326

327-
![Aparición de conflictos](images/cant_merge.png){alt="Aparición de conflictos"}
327+
![Aparición de conflictos](images/cant_merge.png)
328328

329-
![Resolución de conflictos](images/cant_merge2.png){alt="Resolución de conflictos"}
329+
![Resolución de conflictos](images/cant_merge2.png)
330330

331331
Git muestra dónde están los conflictos así:
332332

@@ -354,15 +354,15 @@ Quarto (<https://quarto.org/>) es un sistema de publicación científica y técn
354354

355355
La extensión de Quarto es `.qmd` y utiliza filtros Lua que es el lenguaje de extensión de Pandoc (<https://quarto.org/docs/extensions/lua.html>). Para ello, Quarto utiliza un *engine* como `knitr` para ejecutar el código y generar una salida temporal `.md`. El archivo `.md` se procesa mediante Pandoc y los filtros Lua de Quarto + Bootstrap CSS para HTML o LaTeX para PDF.
356356

357-
![Figura de jthomasmock.github.io/quarto-2hr-webinar](images/qmd-universe.png){alt="Figura de jthomasmock.github.io/quarto-2hr-webinar"}
357+
![Figura de jthomasmock.github.io/quarto-2hr-webinar](images/qmd-universe.png)
358358

359359
La diferencia principal de Quarto respecto a R Markdown es que Quarto se ha generado para la colaboración de más de una comunidad (es decir, no solo usuarios de R o Python) y utiliza una sintaxis y formato compartido entre distintos lenguajes. Además, a medida que se añadían más capacidades a R Markdown a través de paquetes externos de R, la sintaxis para las tareas básicas se volvía incoherente.
360360

361-
![Diagrama de funcionamiento de R Markdown. Figura de jthomasmock.github.io/quarto-2hr-webinar](images/knitr-diagram-rmd.png){alt="Diagrama de funcionamiento de R Markdown. Figura de jthomasmock.github.io/quarto-2hr-webinar"}
361+
![Diagrama de funcionamiento de R Markdown. Figura de jthomasmock.github.io/quarto-2hr-webinar](images/knitr-diagram-rmd.png)
362362

363-
![Diagrama de funcionamiento de Quarto. Figura de jthomasmock.github.io/quarto-2hr-webinar](images/knitr-diagram-qmd.png){alt="Diagrama de funcionamiento de Quarto. Figura de jthomasmock.github.io/quarto-2hr-webinar"}
363+
![Diagrama de funcionamiento de Quarto. Figura de jthomasmock.github.io/quarto-2hr-webinar](images/knitr-diagram-qmd.png)
364364

365-
![Diagramas de funcionamiento de Quarto. Figura de jthomasmock.github.io/quarto-2hr-webinar](images/knitr-diagram-qmd-jupyter.png){alt="Diagramas de funcionamiento de Quarto. Figura de jthomasmock.github.io/quarto-2hr-webinar"}
365+
![Diagramas de funcionamiento de Quarto. Figura de jthomasmock.github.io/quarto-2hr-webinar](images/knitr-diagram-qmd-jupyter.png)
366366

367367
Sea cual sea el sistema, Quarto y R Markdown aumentan de la eficiencia de trabajo (a medio-largo plazo), permiten centrarse en el texto sin perder tiempo en el diseño y permiten la producción de documentos de alta calidad.
368368

@@ -390,8 +390,8 @@ Son compatibles con muchos lenguajes de programación:
390390

391391
```{r reticulate}
392392
#| echo: FALSE
393-
#| #| eval: TRUE
394-
#| #| warning: FALSE
393+
#| eval: TRUE
394+
#| warning: FALSE
395395
396396
library(knitr)
397397
names(knitr::knit_engines$get())
@@ -452,7 +452,7 @@ Tablas:
452452

453453
Figuras:
454454

455-
![Esto es el pie de figura](images/rmarkdown.png){alt="Esto es el pie de figura" width="30%"}
455+
![Esto es el pie de figura](images/rmarkdown.png){width="30%"}
456456

457457
Videos:
458458

@@ -574,51 +574,83 @@ Genera una plantilla de formato y modifica los colores, tamaño de los títulos,
574574

575575
# Optimización de los flujos de trabajo
576576

577-
Google drive
577+
## Estilo
578+
579+
- [Style guide](http://adv-r.had.co.nz/Style.html)
580+
581+
- [Tidyverse style guide](https://style.tidyverse.org/)
582+
583+
## Uso de bases de datos en la nube
578584

579-
```{r}
585+
Se pueden descargar los datos actualizados cada vez que se vayan a utilizar o tener los datos almacenados en carpetas compartidas pero con acceso local.
586+
587+
```{r googledrive}
588+
#| eval: false
580589
581590
library(googledrive)
582591
583-
# drive_download(file = "https://docs.google.com/spreadsheets/d/10WaVa8EL971KOde4Y_iTgRBx61Wyr11s/edit?gid=102568759#gid=102568759",
584-
# path = "data/raw_data.xlsx", overwrite = TRUE)
592+
# drive_download(file = "https://docs.google.com/spreadsheets/d/1gOII3LXas0wkS3QCZzFiqC5sGbCaAoHl6MiHGRxssPw/edit?gid=0#gid=0", path = "aplicaciones_bioinformaticas/data/raw_data.xlsx", overwrite = TRUE)
593+
594+
library(readxl)
595+
raw_data <- read_excel("aplicaciones_bioinformaticas/data/raw_data.xlsx", sheet = 1)
585596
586597
```
587598

588-
## Colaboración en documentos
599+
### 📝Ejercicio 4.1
589600

590-
\- En RStudio al parecer no se pueden visualizar los cambios por palabras a no ser que se usen herramientas externas o, la solución que más me ha convencido, pero aún así es un poco rollo, que es poner en la terminal "git diff --word-diff". Con esto te va saliendo en la terminal todo el texto del archivo (dandole a intro todo el rato) con las palabras específicas cambiadas resaltadas. Para salir de aquí en la terminal se pone ":q".
601+
Crea una hoja de cálculo de Google y compartela con tus compañeros de equipo. Descargarla todos a vuestro directorio de trabajo.
591602

592-
\- En GitHub, si le dais al historial del repositorio (donde pone "100 commits" en la imagen de abajo), están todos los commits que se han ido haciendo. Si le dais a alguno, salen los cambios respecto al commit anterior en rojo y verde, pero con las palabras específicas resaltadas en un tono más oscuro (ver segunda imagen). Así tendríais que ir cambiando entre GitHub y RStudio, pero igual es más fácil.
603+
## Colaboración en documentos a través de RStudio
593604

594-
# Algunos enlaces interesantes
605+
Lo ideal sería que todos los colaboradores del proyecto manejaran Git, GitHub y RStudio, pero...
595606

596-
**Ciencia reproducible**
607+
![Algunos directores de tesis usando R](images/advisor.png){width="425"}
597608

598-
- [Ciencia reproducible: qué, por qué, cómo](https://github.com/ecoinfAEET/Reproducibilidad)
609+
Existen algunas funciones que pueden ayudarnos.
599610

600-
**Control de versiones (Git)**
611+
```{r subir_bajar}
601612
602-
- [Manual de referencia de Git](https://git-scm.com/docs)
613+
# carpeta <- drive_get("ejemplos_ciencia_reproducible") # Busca la carpeta por nombre
603614
604-
- [Software Carpentry](http://swcarpentry.github.io/git-novice/)
615+
# drive_upload("aplicaciones_bioinformaticas/ejemplo_quarto.docx",
616+
# path = as_id(carpeta),
617+
# overwrite = TRUE)
605618
606-
- [Atlassian Bitbucket](https://www.atlassian.com/git/tutorials)
619+
# drive_download(file = "https://docs.google.com/document/d/1aAqSYS44o28KqNscysalqrx_LdU39Tvj/edit#bookmark=id.cbk5j26lx6k5", path = "aplicaciones_bioinformaticas/ejemplo_quarto.docx", overwrite = TRUE)
607620
608-
- [Oh Shit, Git!?!](https://ohshitgit.com/)
609621
610-
- [git - la guía sencilla](https://rogerdudler.github.io/git-guide/index.es.html)
622+
```
611623

612-
- [Pro Git](https://git-scm.com/book/es/v2)
624+
En el caso de que los colaboradores utilicen Git, GitHub y RStudio:
613625

614-
**Integrar Git, GitHub y RStudio**
626+
En RStudio se pueden visualizar los cambios hechos en el archivo Quarto utilizando *Diff* pero no se pueden visualizar los cambios por palabras a no ser que se usen herramientas externas.
615627

616-
- [Happy Git and GitHub for the useR](https://happygitwithr.com/)
628+
- Con la terminal: `git diff --word-diff`. Con esto te va saliendo en la terminal todo el texto del archivo (dandole a intro todo el rato) con las palabras específicas cambiadas resaltadas en verde (adiciones) o en rojo (eliminaciones).
629+
630+
💡Para salir de aquí en la terminal se pone `:q`.
631+
632+
- En GitHub, en el historial del repositorio, aparecen los cambios respecto al commit anterior en rojo y verde, pero con las palabras específicas resaltadas en un tono más oscuro.
633+
634+
# Algunos enlaces interesantes
635+
636+
- [Ciencia reproducible: qué, por qué, cómo](https://github.com/ecoinfAEET/Reproducibilidad)
637+
638+
- [Manual de referencia de Git](https://git-scm.com/docs)
639+
640+
- [Oh Shit, Git!?!](https://ohshitgit.com/)
641+
642+
- [git - la guía sencilla](https://rogerdudler.github.io/git-guide/index.es.html)
617643

618644
- [¡Se puede entender cómo funcionan Git y GitHub!](https://www.revistaecosistemas.net/index.php/ecosistemas/article/view/2332)
619645

646+
- [Happy Git and GitHub for the useR](https://happygitwithr.com/)
647+
620648
- [Ciencia reproducible y colaborativa con R, Git y GitHub (DatSciR)](https://github.com/DatSciR/intro_git-github)
621649

650+
Y recordad:
651+
652+
![](images/in_case_of_fire.png){width="339"}
653+
622654
<details>
623655

624656
<summary>Session Info</summary>
6.67 KB

aplicaciones_bioinformáticas/ciencia_reproducible_files/figure-html/example-1.png renamed to aplicaciones_bioinformaticas/ciencia_reproducible_files/figure-html/example-1.png

File renamed without changes.

aplicaciones_bioinformáticas/ciencia_reproducible_files/libs/bootstrap/bootstrap-icons.css renamed to aplicaciones_bioinformaticas/ciencia_reproducible_files/libs/bootstrap/bootstrap-icons.css

File renamed without changes.

aplicaciones_bioinformáticas/ciencia_reproducible_files/libs/bootstrap/bootstrap-icons.woff renamed to aplicaciones_bioinformaticas/ciencia_reproducible_files/libs/bootstrap/bootstrap-icons.woff

File renamed without changes.

aplicaciones_bioinformáticas/ciencia_reproducible_files/libs/bootstrap/bootstrap.min.css renamed to aplicaciones_bioinformaticas/ciencia_reproducible_files/libs/bootstrap/bootstrap.min.css

File renamed without changes.

aplicaciones_bioinformáticas/ciencia_reproducible_files/libs/bootstrap/bootstrap.min.js renamed to aplicaciones_bioinformaticas/ciencia_reproducible_files/libs/bootstrap/bootstrap.min.js

File renamed without changes.

aplicaciones_bioinformáticas/ciencia_reproducible_files/libs/clipboard/clipboard.min.js renamed to aplicaciones_bioinformaticas/ciencia_reproducible_files/libs/clipboard/clipboard.min.js

File renamed without changes.

aplicaciones_bioinformáticas/ciencia_reproducible_files/libs/quarto-html/anchor.min.js renamed to aplicaciones_bioinformaticas/ciencia_reproducible_files/libs/quarto-html/anchor.min.js

File renamed without changes.

0 commit comments

Comments
 (0)