2018-03-06-ibioic
2018-03-06-ibioic copied to clipboard
Installation instructions
We have a few options for presentation of the course. As we've been ambitious, working across browser, terminal and notebooks, some of the options are less well-integrated than others:
-
VM: keeps everything in one place - data, browser, terminal, notebooks. Persistent user data is possible. It's a large download. Could be made a bootable USB (should this be allowed on the attendees' laptops!). Everyone's environment is the same, which can help.
-
Install everything locally: keeps everything in one place - data, browser, terminal, notebooks. Persistent user data is possible. It's a challenge for novices to install everything correctly, though so long as Git Bash, Anaconda, Java and Docker can be/are installed, we can get Blast and Muscle through Docker, and the rest should be native on the system. The disparate environments may be an issue.
-
Provide Docker images: this is like 'VM-lite'. I think the notebooks and the terminal would have to be separate images (due to how Docker works), and if we wanted output from one to be available in the other, we'd have to have a Volume under Docker also to be shared. This ensures a common environment, but we can't have GUI apps (Artemis, Jalview, JMol) in Docker easily - they would have to be local to the laptop, and data would not be directly available to the GUI apps from the Docker images.
I think we need to be clear that it's the attendee's responsibility to ensure their laptops are ready before the course starts. So we need clear instructions (and plan B) for installing each of the components and testing on their machines.
local installation
- Anaconda: provides Python, Jupyter etc, but we also need to give instructions for installing
biopython
,bioservices
,seaborn
etc. - Git Bash: provides Git (for getting the course material, though downloading/unzipping a release is fine) - we'll have to retailor "Linux" material to be "Shell" material.
- Java: should be present everywhere but Macs…
- Docker: should be point-and-click install, then
docker run
for some tools likemuscle
etc. where the Windows installation may not work. We'll need to test that. I think - or change the aligner to Clustal Omega, maybe? - Artemis, Jalview, JMol: as Java apps, these should be straightforward to install
VM installation
- VirtualBox: so long as this is installed, the VM ought to run (if slowly)
- We'll need to provide the VM somewhere. Last year it was on Zenodo, as one of the few places that would host a file that large for free.
Using anaconda, we could potentially cover Windows, Mac and Linux - but unlike conda-forge
and the default channel, currently Bioconda
does not target Windows:
- https://anaconda.org/conda-forge/biopython - linux-64, win-32, osx-64, win-64
- https://anaconda.org/conda-forge/seaborn - linux-64, win-32, osx-64, win-64
- https://anaconda.org/bioconda/bioservices - linux-64, osx-64 - NO WINDOWS
- https://anaconda.org/bioconda/muscle - linux-64, osx-64 - NO WINDOWS
- https://anaconda.org/bioconda/jalview - linux-64, osx-64 - NO WINDOWS
- https://anaconda.org/bioconda/blast - linux-64, osx-64 - NO WINDOWS
I would hope installing bioservices
and seaborn
would work cross platform with pip install
(as should biopython
, which I have tested previously).
MUSCLE provides 32bit Windows binaries http://drive5.com/muscle/downloads.htm
JalView (and Artemis and JMol) should be fine on Windows as Java based
NCBI provides 64 bit Windows BLAST+ binaries ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/
Using pip
instead of conda
should work fine. I think it's OK to have a single set of instructions across all platforms recommending pip
for biopython
, bioservices
and seaborn
(for simplicity), even though conda
would be preferable. That means we reduce the number of instructions for students and remove a potential point of confusion.
pip install biopython bioservices seaborn
for everyone is my preferred option.
Any objections?
If it works on Windows, then pip install biopython bioservices seaborn
(and any other Python dependencies like numpy
or matplotlib
if not implicit as dependencies) sounds good. I will have to test this on Windows though...
Using pip install
worked nicely under Windows Anaconda Python 3.6
Re: terminals
Anaconda Prompt gives access to all the conda
executables, but behaves as a Windows CMD prompt (no ls
or other Bash commands).
Git Bash gives us git
(which we need) and also the Bash commands we need for consistency in teaching the shell, but does not pick up the Anaconda executables by default.
The solution is to insist on adding the Anaconda executables to the PATH
on installation, for Windows. This lets us use Git Bash consistently as the 'same' terminal as macOS/Linux.
I've worked through the installation on Windows 7 up to https://2018-03-06-ibioic.readthedocs.io/en/latest/testing_installation.html (blank)
The Java tools were most trouble, particularly Jmol with its folder to unzip.
Yes - Jalview attempts to do a 'nice' job on Windows, but on Windows 10 the installer fails. Happily the .jnlp
webstart works for Jalview.
Artemis is straightforward in that it's a single .jar
file that can be double-clicked. I don't think we're dealing with students who can't follow that ;)
JMol is a bit more complicated, but in the end comes down to double-clicking on a .jar
file.
I've tested all three in Windows 10 and, so long as we're there as helpers to guide the students I don't think there's that much to worry about. Do you have bigger concerns?
No, with people on hand given we've tried this on Windows 7 and 10 it should be fine.