-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path01-computer.Rmd
130 lines (86 loc) · 4.64 KB
/
01-computer.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
# Computing Tips {#computing}
Below are some tips for dealing with your computers, which will be instrumental
to getting things done in informatics and computational biology.
These are just opininated suggestions on making your life easier. There are
definitely other ways to do it.
## Shell Terminals and Command Line Environments
You will have to get comfortable with a terminal, such as `bash`.
Lots of scientific computing tools run exclusively or just easier in the terminal.
Like learning a new language, you'll want to start simple and incrementally build your command toolbox.
Don't worry about not being fluent at the start.
Experiment with commands occasionally by reading the documentation, which can be accessed using the `man` command.
For example, if you want to learn more about the `ls` command, you can type `man ls` to read more.
Great places to find a good list of useful commands are
[the-art-of-command-line](https://github.com/jlevy/the-art-of-command-line)
and
[The Grymoire](https://www.grymoire.com/Unix/index.html).
If you don't have access to a bash environment or want easy access, take a look at
[Repl.it](http://repl.it/), which is a place to experiment with not only `bash` environments, but also a large list of other programming languages.
## GitHub
If you do not already have one, set up a [GitHub account](https://github.com) account (it's free).
Make sure that you get the [education discount](https://education.github.com/)
so you can set up private repos, plus some other goodies, too.
![](http://imgs.xkcd.com/comics/git.png)
## R Programming
If you don't already have it, download [`R`](https://cran.r-project.org) and, definitely, [RStudio](https://www.rstudio.com/products/rstudio/#Desktop).
RStudio has an excellent
[collection of cheatsheets](https://www.rstudio.com/resources/cheatsheets/)
for different R packages.
Miscellaneous resources for R programming:
- [STAT545](http://stat545.com/) - Data wrangling, exploration, and analysis
with R
- [R for Data Science](https://r4ds.had.co.nz/) - R specific, but general
principles on doing data science from transforming data to communicating.
- [Advanced R](https://adv-r.hadley.nz/) - Dig deeper into R.
- [RStudio Resources](https://resources.rstudio.com/) - Webinars on various R
packages and RStudio.
## Python Programming
### Anaconda {#anaconda}
![](https://upload.wikimedia.org/wikipedia/en/c/cd/Anaconda_Logo.png)
[Anaconda](https://www.anaconda.com/download/) is a bundle of software with a
[package manager](https://en.wikipedia.org/wiki/Package_manager),
[`conda`](https://conda.io/), and it installs a variety of popular data science
packages. Generally, this should cover most data analysis cases you may
encounter.
### Conda {#conda}
![](https://conda.io/en/master/_images/conda_logo.svg)
`conda` is a package manager and environment manager to help manager your
Python instance. Ideally, it should allow you to define your development
environment so you can reproducibly
[create](https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#creating-an-environment-from-an-environment-yml-file)
and
[share](https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#sharing-an-environment)
your specific development environment.
You can get started with `conda`
[here](https://conda.io/projects/conda/en/latest/user-guide/getting-started.html).
### Jupyter Notebooks
> Project Jupyter exists to develop open-source software, open-standards, and
> services for interactive computing across dozens of programming languages.
[Jupyter Notebooks](https://jupyter.org/) should be installed already if you've
already read through Section \@ref(anaconda).
## Programming Environment Alternatitves
Here are some options if you have issues setting up your development
environmental locally.
- [Repl.it](https://repl.it/) - Online coding platform with many languages;
great for Python but okay for R
- [Google Collaboratory](https://colab.research.google.com/notebook) - Run
Jupyter Notebooks online
## Windows
TODO
### Path Management
TODO
## macOS {#macos}
TODO
## Linux {#linux}
TODO
## State Server
Students in DMICE have access to a server `state.ohsu.edu`, which can be accessed by
```bash
```
while replacing `username` with your school ID.
To reduce headaches of managing software installations, it is recommended to use either Linuxbrew (see \@ref(linux)) or conda (see \@ref(conda)).
## Exacloud Compute Cluster
Exacloud is the supercomputing cluster resource. If you have access to it,
[this tutorial](https://laderast.github.io/exacloud_tutorial/) will be
invaluable to you when you do analyses onto the cluster.