Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Hopefully by now you have had enough experience installing packages via conda that it is second nature to think of going to https://anaconda.org/ searching for multiqc, finding  https://anaconda.org/bioconda/multiqc, and using the information there to install the package. Instead, it is suggested that seeing that it recommends a command of conda install -c bioconda multiqc suggesting you can use this command and not worry about anything else. Instead, if you go to the multiqc homepage and see if they have any recommendations for installation. ← is a hint that there is something potentially unexpected recommended. Try to use this information to figure out what command you should use, and try what you think is best. Explanations follow the version check.

...

titleWhat versions of fastqc and multiqc does this install?

...

you might (or might not, it is not very visible disappointingly) that next to their conda installation instruction is a small warning icon which takes you to a page about setting up bioconda channels as a prerequisite to installing multiqc. Friday's class will go into detail about managing channels like this and it is not suggested that you follow the commands on that page. 

Warning
titleThis section details what you would have ff you attempt to use the conda command found on the anaconda page this is what you would see. Note that this being in red means you shouldn't type these commands, but it won't actually hurt if you do.


Code Block
languagebash
conda create --name GVA-ReadQC -c bioconda multiqc fastqc
conda activate GVA-ReadQC
fastqc --version
multiqc --version

If you caught the trick from the  multiqc homepage you should get returns of "FastQC v0.11.9" and "multiqc, version 1.12" respectively. 

Expand
titleVersion numbers not matching up?
If the version number for multiqc is not matching up, I expect you will see something like this.

You would expect this to return "0.12.1" and "1.14 respectively for the fastqc and multiqc versions, but instead you would see the following for multiqc:

No Format
/work2/01821/ded/stampede2/miniconda3/envs/GVA-ReadQC/lib/python2.7/site-packages/multiqc-1.0.dev0-py2.7.egg/multiqc/utils/config.py:44: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
  configs = yaml.load(f)
/work2/01821/ded/stampede2/miniconda3/envs/GVA-ReadQC/lib/python2.7/site-packages/multiqc-1.0.dev0-py2.7.egg/multiqc/utils/config.py:50: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
  sp = yaml.load(f)
multiqc, version 1.0.dev0  
Code Block
languagebash
titleMy guess is you used the following conda installation command
conda create --name GVA-ReadQC -c bioconda multiqc fastqc

First, the version lists "dev" in the tittle which typically means it is a temporary development version. Second, we get warnings about pyyaml loader being unsafe and depreciated likely as a matter of safety. Read through the next section which identifies the correct command before continuing as it is untested if this version of multiqc will work.

Expand
titleWere you able to find the trick?
On the  multiqc homepage the quick install section has a tab for conda which lists the following suggested installation block

Based on this, this version is untested in the tutorial, but the real question is how do we get the versions we want and expect.


Which was likely modified to:

bash
Code Block
languagebash
conda install -c bioconda -c conda-forge multiqc
Code Block
language
titleThe command we actually need requires conda-forge as several of our other environments have
conda create -n GVA-ReadQC -c 
bioconda
conda-forge -c 
conda-forge
bioconda multiqc fastqc
If you did not get it the first time,  go ahead and use the command above now (when prompted overwrite/replace the existing environment). While this is not the first time we have seen conda-forge be useful to the point of being required, stressing to look over the home page rather than just the anaconda page is done to try to instill a  better practices. Sometimes, getting a program "working" is all you need, but more often you can save yourself some time by tracking down the installation instructions from the developer

conda activate GVA-RadQC

The goal of presenting the "incorrect version" way is 3 fold:

  1. To suggest that there is actually minimal to no oversight or testing of the conda commands you may find.
  2. That different programs may have different expectations of what channels you have access to by default (anaconda seemingly expects access to conda-forge since it isn't listed in their command, while multiqc expects both conda-forge and bioconda by default as their command lists nothing but an obscure link to a page describing the defaults.
  3. To demonstrate how you can use error messages to figure out what might be going on.

Get some data and verify access to fastqc

...

  1. Using information in the MultiQC report, modify the bash loop used to create the fastqc_commands file above to create a cutadapt_commands file that could modify all 544 files at once.
  2. Move over to the fasp tutorial and come back to trim all adapter sequences from all files and rerun fastqc/multiqc to see what a difference trimming makes on overall quality.

...