You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: aplicaciones_bioinformaticas/ciencia_reproducible.qmd
+68-36Lines changed: 68 additions & 36 deletions
Original file line number
Diff line number
Diff line change
@@ -219,7 +219,7 @@ Git es capaz de rastrear todos los archivos contenidos en un repositorio. Para c
219
219
220
220
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.
221
221
222
-
{alt="Opciones de Git en RStudio" fig-align="center" width="486"}
222
+
{fig-align="center" width="486"}
223
223
224
224
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.
225
225
@@ -231,11 +231,11 @@ Para registrar los cambios que nos interesen hay que utilizar `git commit` (en l
231
231
232
232
-`git commit -m "mensaje corto y descriptivo"`
233
233
234
-
{alt="Commit en RStudio" fig-align="center" width="545"}
234
+
{fig-align="center" width="545"}
235
235
236
236
💡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.
237
237
238
-
{alt="Lineas de trabajo (cuerdas) aseguradas con varios commits (anclajes)"}
238
+

239
239
240
240
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.
241
241
@@ -265,7 +265,7 @@ El historial del proyecto y de los archivos también es accesible a través de R
265
265
266
266
💡Más información sobre como navegar en el pasado del proyecto aquí: <https://happygitwithr.com/time-travel-see-past.html>
267
267
268
-
{alt="Historial de un repositorio"}
268
+

269
269
270
270
💡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.
271
271
@@ -290,7 +290,7 @@ Git permite crear una "rama" (*branch*) paralela al proyecto si se desea seguir
290
290
291
291
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.
292
292
293
-
{alt="Proceso de creación de la rama PPP y la rama monchi" fig-align="center"}
293
+
{fig-align="center"}
294
294
295
295
### 📝Ejercicio 2.2
296
296
@@ -306,27 +306,27 @@ Las ramas se pueden generar en la [terminal](https://github.com/DatSciR/intro_gi
306
306
307
307
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.
308
308
309
-
{alt="Proceso de creación y unión de ramas. Ejemplo de unión (merge) de la rama monchi a la rama main"}
309
+

310
310
311
311
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.
312
312
313
313
{fig-align="center"}
314
314
315
315

316
316
317
-
{alt="Características del merge a realizar" fig-align="center"}
317
+
{fig-align="center"}
318
318
319
319
{fig-align="center"}
320
320
321
-
{alt="Confirmacion y fin del proceso" fig-align="center"}
321
+
{fig-align="center"}
322
322
323
323
## Resolución de conflictos
324
324
325
325
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*".
326
326
327
-
{alt="Aparición de conflictos"}
327
+

328
328
329
-
{alt="Resolución de conflictos"}
329
+

330
330
331
331
Git muestra dónde están los conflictos así:
332
332
@@ -354,15 +354,15 @@ Quarto (<https://quarto.org/>) es un sistema de publicación científica y técn
354
354
355
355
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.
356
356
357
-
{alt="Figura de jthomasmock.github.io/quarto-2hr-webinar"}
357
+

358
358
359
359
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.
360
360
361
-
{alt="Diagrama de funcionamiento de R Markdown. Figura de jthomasmock.github.io/quarto-2hr-webinar"}
361
+

362
362
363
-
{alt="Diagrama de funcionamiento de Quarto. Figura de jthomasmock.github.io/quarto-2hr-webinar"}
363
+

364
364
365
-
{alt="Diagramas de funcionamiento de Quarto. Figura de jthomasmock.github.io/quarto-2hr-webinar"}
365
+

366
366
367
367
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.
368
368
@@ -390,8 +390,8 @@ Son compatibles con muchos lenguajes de programación:
390
390
391
391
```{r reticulate}
392
392
#| echo: FALSE
393
-
#| #| eval: TRUE
394
-
#| #| warning: FALSE
393
+
#| eval: TRUE
394
+
#| warning: FALSE
395
395
396
396
library(knitr)
397
397
names(knitr::knit_engines$get())
@@ -452,7 +452,7 @@ Tablas:
452
452
453
453
Figuras:
454
454
455
-
{alt="Esto es el pie de figura" width="30%"}
455
+
{width="30%"}
456
456
457
457
Videos:
458
458
@@ -574,51 +574,83 @@ Genera una plantilla de formato y modifica los colores, tamaño de los títulos,
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.
\- 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.
591
602
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
593
604
594
-
# Algunos enlaces interesantes
605
+
Lo ideal sería que todos los colaboradores del proyecto manejaran Git, GitHub y RStudio, pero...
595
606
596
-
**Ciencia reproducible**
607
+
{width="425"}
597
608
598
-
-[Ciencia reproducible: qué, por qué, cómo](https://github.com/ecoinfAEET/Reproducibilidad)
609
+
Existen algunas funciones que pueden ayudarnos.
599
610
600
-
**Control de versiones (Git)**
611
+
```{r subir_bajar}
601
612
602
-
-[Manual de referencia de Git](https://git-scm.com/docs)
613
+
# carpeta <- drive_get("ejemplos_ciencia_reproducible") # Busca la carpeta por nombre
-[git - la guía sencilla](https://rogerdudler.github.io/git-guide/index.es.html)
622
+
```
611
623
612
-
-[Pro Git](https://git-scm.com/book/es/v2)
624
+
En el caso de que los colaboradores utilicen Git, GitHub y RStudio:
613
625
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.
615
627
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)
617
643
618
644
-[¡Se puede entender cómo funcionan Git y GitHub!](https://www.revistaecosistemas.net/index.php/ecosistemas/article/view/2332)
619
645
646
+
-[Happy Git and GitHub for the useR](https://happygitwithr.com/)
647
+
620
648
-[Ciencia reproducible y colaborativa con R, Git y GitHub (DatSciR)](https://github.com/DatSciR/intro_git-github)
0 commit comments