Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation instructions #3

Open
widdowquinn opened this issue Feb 21, 2018 · 8 comments
Open

Installation instructions #3

widdowquinn opened this issue Feb 21, 2018 · 8 comments
Labels
enhancement New feature or request

Comments

@widdowquinn
Copy link
Owner

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.
@peterjc
Copy link
Collaborator

peterjc commented Feb 22, 2018

Using anaconda, we could potentially cover Windows, Mac and Linux - but unlike conda-forge and the default channel, currently Bioconda does not target 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/

@widdowquinn
Copy link
Owner Author

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 widdowquinn added the enhancement New feature or request label Feb 24, 2018
@peterjc
Copy link
Collaborator

peterjc commented Feb 24, 2018

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
Copy link
Collaborator

peterjc commented Feb 27, 2018

Using pip install worked nicely under Windows Anaconda Python 3.6

@widdowquinn
Copy link
Owner Author

widdowquinn commented Feb 27, 2018

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.

@peterjc
Copy link
Collaborator

peterjc commented Feb 28, 2018

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.

@widdowquinn
Copy link
Owner Author

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?

@peterjc
Copy link
Collaborator

peterjc commented Mar 5, 2018

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants