generated from allisonhorst/meds-distill-template
-
Notifications
You must be signed in to change notification settings - Fork 10
/
day_1.qmd
125 lines (95 loc) · 7.66 KB
/
day_1.qmd
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
---
title: "Day 1 - Reproducible & Collaborative Workflows"
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
<br>
| **Time (PST)** | **Activity** |
|-------------------|--------------------------------------------------------------------------|
| 10:00am - 10:50am | *Lecture 1: [Course Introduction](https://docs.google.com/presentation/d/e/2PACX-1vQoawMQwTyWma4JsDePgainH7WNrRGWBEBVm794FCjrp6gyYoi6RrfBDJM5thJCLy4GAqJES8AR-5GB/pub?start=false&loop=false&delayms=3000){target="_blank"}; [Reproducible workflows](https://docs.google.com/presentation/d/e/2PACX-1vRO81O7IJeTHihyMu6yXTsHhWozBbTWWVHy9YJ2ytilrOBji24dzhDTMilQc0hna9prfXLlsLnafa1B/pub?start=false&loop=false&delayms=60000){target="_blank"} (50 min)* |
| 10:50am - 11:00am | *Break (10 min)* |
| 11:00am - 12:00pm | *Interactive Session 1: [Flow charts](day1-pseudocode.html){target="_blank"}; [Drawing board + reporting](day1-hands-on_drawings.html){target="_blank"} (60 min)* |
| 12:00pm - 12:30pm | *Lecture 2: [git discussion](https://brunj7.github.io/EDS-214-analytical-workflows/day1-git_github_recap.html){target="_blank"}; [Coding together](day1-coding_together.html){target="_blank"} (30 min)* |
| 12:30pm - 1:30pm | *Lunch* |
| 1:30pm - 2:20pm | *Interactive Session 2: [Collaborative coding with GitHub](day1-github_collab.html){target="_blank"} - Fork (50 min)* |
| 2:20pm - 2:30pm | *Break (10 min)*
| 2:30pm - 3:00pm | *Interactive Session 3: [Collaborative coding with GitHub](day1-github_collab.html){target="_blank"} - Branches (60 min)* |
| 3:00pm - 3:10pm | *Break (10 min)* |
| 3:10pm - 4:00pm | *[git conflicts](day1-git-collaboration-conflicts.html){target="_blank"} (50 min)* |
<br>
<br>
## Further reading
Here are a few selected publications to help you to learn more about these topics.
### Data and scientific workflow management:
- The Practice of Reproducible Research-Case Studies and Lessons from the Data-Intensive Sciences:\
Kitzes, Justin, Daniel Turek, and Fatma Deniz. n.d. <http://www.practicereproducibleresearch.org/>
- Good enough practices in Scientific Computing: \
[https://doi.org/10.1371/journal.pcbi.1005510](https://doi.org/10.1371/journal.pcbi.1005510)
- Script your analysis: \
[https://doi.org/10.1038/nj7638-563a](https://doi.org/10.1038/nj7638-563a)
- Principles for data analysis workflows: \
<https://doi.org/10.1371/journal.pcbi.1008770>
- Benureau, F.C.Y., Rougier, N.P., 2018. Re-run, Repeat, Reproduce, Reuse, Replicate: Transforming Code into Scientific Contributions. Front. Neuroinform. 0. https://doi.org/10.3389/fninf.2017.00069
- Sandve, G.K., Nekrutenko, A., Taylor, J., Hovig, E., 2013. Ten Simple Rules for Reproducible Computational Research. PLOS Computational Biology 9, e1003285. https://doi.org/10.1371/journal.pcbi.1003285
- Some Simple Guidelines for Effective Data Management: \
[https://doi.org/10.1890/0012-9623-90.2.205](https://doi.org/10.1890/0012-9623-90.2.205)
- Basic concepts of data management: \
[https://www.dataone.org/education-modules](https://www.dataone.org/education-modules)
### Open Science
- The Tao of open science for ecology: \
[https://doi.org/10.1890/ES14-00402.1](https://doi.org/10.1890/ES14-00402.1)
- Challenges and Opportunities of Open Data in Ecology: \
[https://doi.org/10.1126/science.1197962](https://doi.org/10.1126/science.1197962)
- Scientific computing: Code alert \
[https://doi.org/10.1038/nj7638-563a](https://doi.org/10.1038/nj7638-563a)
- Our path to better science in less time using open data science tools \
[https://doi.org/10.1038%2Fs41559-017-0160](https://doi.org/10.1038%2Fs41559-017-0160)
- FAIR data guiding principles \
[https://doi.org/10.1038/sdata.2016.18](https://doi.org/10.1038/sdata.2016.18)
- Skills and Knowledge for Data-Intensive Environmental Research [https://doi.org/10.1093/biosci/bix025](https://doi.org/10.1093/biosci/bix025)
- Let go your data \
[https://doi.org/10.1038/s41563-019-0539-5](https://doi.org/10.1038/s41563-019-0539-5)
### Collaborative coding
- A new grad's guide to coding as a team - Atlassian:
<https://www.atlassian.com/blog/wp-content/uploads/HelloWorldEbook.pdf>
- 10 tips for efficient programming:
<https://www.devx.com/enterprise/top-10-tips-for-efficient-team-coding.html>
- Agile Manifesto: <https://moodle2019-20.ua.es/moodle/pluginfile.php/2213/mod_resource/content/2/agile-manifesto.pdf>
### Code Review
- Small-Group Code Reviews For Education: <https://cacm.acm.org/blogs/blog-cacm/175944-small-group-code-reviews-for-education/fulltext>
### Branches
- Interactive tutorial to learn more about git branches and more <https://learngitbranching.js.org/>
### GitHub Workflow
- GitHub:
- guides on how to use GitHub: [https://guides.github.com/](https://guides.github.com/)
- GitHub from RStudio: [http://r-pkgs.had.co.nz/git.html#git-pull](http://r-pkgs.had.co.nz/git.html#git-pull)
- Forking:
- [https://help.github.com/articles/fork-a-repo/](https://help.github.com/articles/fork-a-repo/)
- [https://guides.github.com/activities/forking/](https://guides.github.com/activities/forking/)
- Comparison of git repository host services: <https://www.git-tower.com/blog/git-hosting-services-compared/>
- Branches
- interactive tutorial on branches: <http://learngitbranching.js.org/>
- using git in a collaborative environment: <https://www.atlassian.com/git/tutorials/comparing-workflows/centralized-workflow>
https://moodle2019-20.ua.es/moodle/pluginfile.php/2213/mod_resource/content/2/agile-manifesto.pdf
#### Git using RStudio
- Happy Git and GitHub for the useR:<http://happygitwithr.com/>
- R packages - Git and GitHub: <http://r-pkgs.had.co.nz/git.html#git-init>
Git mainly from the command line:
- Interactive git 101: [https://try.github.io/](https://try.github.io/)
- Very good tutorial about git: [https://www.atlassian.com/git/tutorials/what-is-version-control](https://www.atlassian.com/git/tutorials/what-is-version-control)
- Git tutorial geared towards scientists: [http://nyuccl.org/pages/gittutorial/](http://nyuccl.org/pages/gittutorial/)
- Short intro to git basics: [https://github.com/mbjones/gitbasics](https://github.com/mbjones/gitbasics)
- Git documentation about the basics: [http://gitref.org/basic/](http://gitref.org/basic/)
- Git documentation - the basics: [https://git-scm.com/book/en/v2/Getting-Started-Git-Basics](https://git-scm.com/book/en/v2/Getting-Started-Git-Basics)
- Git terminology: [https://www.atlassian.com/git/glossary/terminology](https://www.atlassian.com/git/glossary/terminology)
- In trouble, guide to know what to do: [http://justinhileman.info/article/git-pretty/git-pretty.png](http://justinhileman.info/article/git-pretty/git-pretty.png)
- Want to undo something? <https://github.com/blog/2019-how-to-undo-almost-anything-with-git>
- Git terminology: <https://www.atlassian.com/git/glossary/terminology>
- 8 tips to work better with git: <https://about.gitlab.com/2015/02/19/8-tips-to-help-you-work-better-with-git/>
- GitPro book (2nd edition): <https://git-scm.com/book/en/v2>
#### Undoing things
- Help to decide how to undo your problem: <http://justinhileman.info/article/git-pretty/git-pretty.png>
- Undo almost everything with git <https://blog.github.com/2015-06-08-how-to-undo-almost-anything-with-git/>
- Difference between git reset soft, mixed and hard <https://davidzych.com/difference-between-git-reset-soft-mixed-and-hard/>
- Resetting, Checking Out & Reverting <https://www.atlassian.com/git/tutorials/resetting-checking-out-and-reverting>