README.md 4.69 KB
Newer Older
Todor Kondic's avatar
Todor Kondic committed
1
# Environmental Cheminformatics Platform: Plan B
Todor Kondic's avatar
Todor Kondic committed
2
3
4
5

This repository contains a collection of ansible scripts which can be
used to provision an Ubuntu/Debian based virtual machine in a public
cloud. The scripts have been written for a specific Digital Ocean
Todor Kondic's avatar
Todor Kondic committed
6
7
_droplet_, but can easily be adapted for something else. Indeed,
they are now adapted to automate configuration of ECI workstations.
Todor Kondic's avatar
Todor Kondic committed
8
9
10
11
12
13


## Access

The desktop environment on the compute node *alien-one* is accessible
through VNC protocol. Any VNC viewer can be used. If in doubt, try the
Todor Kondic's avatar
Todor Kondic committed
14
cross-platform TigerVNC viewer [available from here for
Todor Kondic's avatar
Todor Kondic committed
15
Windows](https://bintray.com/tigervnc/stable/download_file?file_path=vncviewer-1.11.0.exe),
Emma Schymanski's avatar
Emma Schymanski committed
16
17
or as a package from your GNU/Linux distribution. 
For Mac users, 
Todor Kondic's avatar
Todor Kondic committed
18
[here is the Java version of the viewer](https://bintray.com/tigervnc/stable/download_file?file_path=VncViewer-1.11.0.jar).
Emma Schymanski's avatar
Emma Schymanski committed
19
20
21
22
If you are on Big Sur [try this direct download](http://tigervnc.bphinz.com/nightly/osx/TigerVNC-1.11.80.dmg). 
If you are on Catalina [try this direct download](https://bintray.com/tigervnc/beta/download_file?file_path=TigerVNC-1.10.90.dmg).
If you are on El Capitan [try this direct download](https://bintray.com/tigervnc/stable/download_file?file_path=TigerVNC-1.8.0.dmg)

Todor Kondic's avatar
Todor Kondic committed
23
24


Todor Kondic's avatar
Todor Kondic committed
25
**Before** connecting, you need: 
Emma Schymanski's avatar
Emma Schymanski committed
26
	- A X509 certificate file (`*.pem`).
Todor Kondic's avatar
Todor Kondic committed
27
	- The IP address of the server.
Todor Kondic's avatar
Todor Kondic committed
28
	- Your username and password.
Todor Kondic's avatar
Todor Kondic committed
29
30
31
32
33
34
35
36
37
38
39
40
41

### Connection instructions

1. Open the VNC viewer.
2. Click `Options`.
3. Switch to `Security` tab.
4. Make sure that at least `TLS with X509 certificates` is checked.
5. Make sure that at least `None` is checked in the `Authentication` section.
6. Set the `Path to X509 certificate` to the location of the X509
   certificate file.
7. Now, click `OK` to accept changes and close the `Options` tab.
8. Fill in the IP address of the server in field `VNC server` and
   append `:5950` to it. So, the `VNC server` entry should look like
Todor Kondic's avatar
Todor Kondic committed
42
   `XXX.XXX.XXX.XXX:5950`, or `example.somewhere.biz`.
Todor Kondic's avatar
Todor Kondic committed
43
9. Click `Connect`.
Todor Kondic's avatar
Todor Kondic committed
44
10. **When at the login screen, ensure you are using the `Xfce Session` (settings wheel, bottom right) before entering your password**.
Emma Schymanski's avatar
Emma Schymanski committed
45
11. Pro-tip: User experience may be better in fullscreen (`F8` and select `fullscreen`)
Todor Kondic's avatar
Todor Kondic committed
46

Todor Kondic's avatar
Todor Kondic committed
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
## Using Environmental Cheminformatics programs

### Getting started with Shinyscreen

Shinyscreen is ECI's mass spectrum inspection program. It was written
in R and exists as a R package. In order to run it, it is necessary to
start a R session. 

While most students get to know R through R Studio, this development
environment (DE) is by no means the only one that can run R (indeed,
you do not even need a DE to run R: try it yourself, start a command
console and type `R` in there). The default choice of R DE on
`alien-one` currently is GNU Emacs with its *Emacs Speaks Statistics
(ESS)* mode.

Steps:
Todor Kondic's avatar
Todor Kondic committed
63

Emma Schymanski's avatar
Emma Schymanski committed
64
1. Fire up emacs
Emma Schymanski's avatar
Emma Schymanski committed
65
2. `Alt-x` (`Cmd-x` for Mac) and `R` gets you an R session
Emma Schymanski's avatar
Emma Schymanski committed
66
3. If asked, set your start working directory, e.g. 
Emma Schymanski's avatar
Emma Schymanski committed
67
`setwd('/mnt/scratch/user/')` 
Emma Schymanski's avatar
Emma Schymanski committed
68
69
70
71
72
73
74
75
76
(where `user` is an alias for your username)
4. Enter `library(shinyscreen)`
5. Enter `options(browser="chromium")`
6. Enter `launch()` 

To create subdirectories for different Shinyscreen calculations, 
use `dir.create()` and `setwd()` to create and set new working 
directories, respectively. This is highly recommended otherwise 
you will auto-detect and/or overwrite previous results. 
Emma Schymanski's avatar
Emma Schymanski committed
77

Todor Kondic's avatar
Todor Kondic committed
78
79
80

Alternatively, there there are two icons on your desktop that will
start Shinyscreen immediately without a R session. One starts the
Todor Kondic's avatar
Todor Kondic committed
81
82
83
~~stable~~outdated version of Shinyscreen. The other runs a
development version (~~you can try it out if you feel
adventurous~~recommended).
Todor Kondic's avatar
Todor Kondic committed
84

Emma Schymanski's avatar
Emma Schymanski committed
85
86
87
88
89
90
91
92
93
### Some emacs tips
To execute a script in Emacs Ess, you have different shortcuts:

1. `Ctrl alt x`: runs a Paragraph
2. `Ctrl enter`: similar, but closer to Rstudio in how it 
treats collections of sratements
3. `Ctrl j`: runs a single line

The above commands are used when you have a separate R script that is 
Todor Kondic's avatar
Todor Kondic committed
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
being evaluated in the session. In the session itself, it's just enter.

Some venerable Emacs personalities suggest window-based organisation
of Emacs workflow:

1. Start Emacs.
2. Resize it to a strip at the bottom of the screen (the *session*
   window), then `Alt-x R`.
3. C-x 5 2 to open a new window (connected to the same session).
4. Open an existing R script, or start writing a new one.
5. Commands from above will work and be displayed in the session window.
6. Switch between the windows with `C-x 5 o`.
7. You can also split windows in panes with `C-x 2`,`C-x 3`, hide all
   but one with `C-x 1`, hide this one `C-x 0`, ...
8. Reading the `Emacs Tutorial` is not a bad place to start if you
   want to delve deeper [note that ECI's Emacs is heavily customised,
   so it might not behave as you'd expect].
Todor Kondic's avatar
Todor Kondic committed
111