2018-03-06-ibioic icon indicating copy to clipboard operation
2018-03-06-ibioic copied to clipboard

Installation instructions

Open widdowquinn opened this issue 7 years ago • 8 comments

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 like muscle 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.

widdowquinn avatar Feb 21 '18 09:02 widdowquinn

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/

peterjc avatar Feb 22 '18 16:02 peterjc

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?

widdowquinn avatar Feb 24 '18 10:02 widdowquinn

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...

peterjc avatar Feb 24 '18 23:02 peterjc

Using pip install worked nicely under Windows Anaconda Python 3.6

peterjc avatar Feb 27 '18 16:02 peterjc

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.

widdowquinn avatar Feb 27 '18 19:02 widdowquinn

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.

peterjc avatar Feb 28 '18 11:02 peterjc

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?

widdowquinn avatar Mar 04 '18 11:03 widdowquinn

No, with people on hand given we've tried this on Windows 7 and 10 it should be fine.

peterjc avatar Mar 05 '18 08:03 peterjc