Conda Create Exercise


15 Minutes


We’ve covered the basics of Conda, including how to create environments, as well as activate and deactivate them. We’ll use those same ideas in this exercise to create a conda environment with all of the software that we’ve used so far.


In this exercise, we’ll use a special tool that enhances Conda, called Mamba. It is used for environment creation, so you will use it in place of conda create in this exercise.


Instructions:


  • Work independently in the main room, posting any questions that arise to slack.
  • Recommendations for writing your own code:
    • Read function documentation
    • Test out ideas - it’s okay to make mistakes and generate errors
    • Use a search engine to look up errors or recommended solutions using keywords
  • We’ll review possible solutions after time is up as a group.


  • When a solution is found DO NOT have all users create the environment. Instead, choose only a subset of interested learners to complete this exercise. We do not want to overwhelm the AWS instance.


  • Use mamba to create an environment with all of the software that we used today:
    • cutadapt
    • fastqc
    • multiqc
    • star
    • rsem
  • Use two channels when building the environment:
    • conda-forge
    • bioconda


Hint: The tool mamba is a drop-in replacement for conda create and similar commands. It is powerful and fast, which allows us to easily replicate our whole environment from today. conda create can be very slow or uncooperative when creating environments with certain software combinations, and mamba helps us get around that in this case. The command is exactly the same as a conda create command, e.g.:

mamba create -n <env-name> -c <channel> <package1> ...


Solution - Conda Create Exercise


# Check to see if mamba is installed
which mamba
# If you don't have mamba installed, you can install it to your base conda environment
conda install -c conda-forge mamba
# Use mamba to create an environment with Cutadapt, FastQC, MultiQC, STAR, and RSEM.
mamba create -n RSD_environment -c conda-forge -c bioconda cutadapt fastqc multiqc star rsem
# Activate the environment and use which to check for software presence
conda activate RSD_environment
which cutadapt
which fastqc
which multiqc
which STAR
which rsem-calculate-expression
# Deactivate the environment
deactivate


LS0tCnRpdGxlOiAiRXhlcmNpc2UgMDQgU29sdXRpb24iCmF1dGhvcjogIlVNIEJpb2luZm9ybWF0aWNzIENvcmUiCm91dHB1dDoKICAgICAgICBodG1sX2RvY3VtZW50OgogICAgICAgICAgICBpbmNsdWRlczoKICAgICAgICAgICAgICAgIGluX2hlYWRlcjogaGVhZGVyLmh0bWwKICAgICAgICAgICAgdGhlbWU6IHBhcGVyCiAgICAgICAgICAgIGZpZ19jYXB0aW9uOiB0cnVlCiAgICAgICAgICAgIG1hcmtkb3duOiBHRk0KICAgICAgICAgICAgY29kZV9kb3dubG9hZDogdHJ1ZQotLS0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KYm9keXsgLyogTm9ybWFsICAqLwogICAgICBmb250LXNpemU6IDE0cHQ7CiAgfQpwcmUgewogIGZvbnQtc2l6ZTogMTJwdAp9Cjwvc3R5bGU+Cgo8YnI+CgojIyBDb25kYSBDcmVhdGUgRXhlcmNpc2UKCjxicj4KCioqMTUgTWludXRlcyoqCgo8YnI+CgpXZSd2ZSBjb3ZlcmVkIHRoZSBiYXNpY3Mgb2YgQ29uZGEsIGluY2x1ZGluZyBob3cgdG8gY3JlYXRlIGVudmlyb25tZW50cywgYXMgd2VsbCBhcyBhY3RpdmF0ZSBhbmQgZGVhY3RpdmF0ZSB0aGVtLiBXZSdsbCB1c2UgdGhvc2Ugc2FtZSBpZGVhcyBpbiB0aGlzIGV4ZXJjaXNlIHRvIGNyZWF0ZSBhIGNvbmRhIGVudmlyb25tZW50IHdpdGggYWxsIG9mIHRoZSBzb2Z0d2FyZSB0aGF0IHdlJ3ZlIHVzZWQgc28gZmFyLgoKPGJyPgoKSW4gdGhpcyBleGVyY2lzZSwgd2UnbGwgdXNlIGEgc3BlY2lhbCB0b29sIHRoYXQgZW5oYW5jZXMgQ29uZGEsIGNhbGxlZCBNYW1iYS4gSXQgaXMgdXNlZCBmb3IgZW52aXJvbm1lbnQgY3JlYXRpb24sIHNvIHlvdSB3aWxsIHVzZSBpdCBpbiBwbGFjZSBvZiBgY29uZGEgY3JlYXRlYCBpbiB0aGlzIGV4ZXJjaXNlLgoKPGJyPgoKIyMjIEluc3RydWN0aW9uczoKCjxicj4KCi0gV29yayBpbmRlcGVuZGVudGx5IGluIHRoZSBtYWluIHJvb20sIHBvc3RpbmcgYW55IHF1ZXN0aW9ucyB0aGF0IGFyaXNlIHRvIHNsYWNrLgotIFJlY29tbWVuZGF0aW9ucyBmb3Igd3JpdGluZyB5b3VyIG93biBjb2RlOgogIC0gUmVhZCBmdW5jdGlvbiBkb2N1bWVudGF0aW9uCiAgLSBUZXN0IG91dCBpZGVhcyAtIGl0J3Mgb2theSB0byBtYWtlIG1pc3Rha2VzIGFuZCBnZW5lcmF0ZSBlcnJvcnMKICAtIFVzZSBhIHNlYXJjaCBlbmdpbmUgdG8gbG9vayB1cCBlcnJvcnMgb3IgcmVjb21tZW5kZWQgc29sdXRpb25zIHVzaW5nIGtleXdvcmRzCi0gV2UnbGwgcmV2aWV3IHBvc3NpYmxlIHNvbHV0aW9ucyBhZnRlciB0aW1lIGlzIHVwIGFzIGEgZ3JvdXAuCgo8YnI+CgotIFdoZW4gYSBzb2x1dGlvbiBpcyBmb3VuZCAqKkRPIE5PVCoqIGhhdmUgYWxsIHVzZXJzIGNyZWF0ZSB0aGUgZW52aXJvbm1lbnQuIEluc3RlYWQsIGNob29zZSBvbmx5IGEgc3Vic2V0IG9mIGludGVyZXN0ZWQgbGVhcm5lcnMgdG8gY29tcGxldGUgdGhpcyBleGVyY2lzZS4gV2UgZG8gbm90IHdhbnQgdG8gb3ZlcndoZWxtIHRoZSBBV1MgaW5zdGFuY2UuCgo8YnI+CgotIFVzZSBgbWFtYmFgIHRvIGNyZWF0ZSBhbiBlbnZpcm9ubWVudCB3aXRoIGFsbCBvZiB0aGUgc29mdHdhcmUgdGhhdCB3ZSB1c2VkIHRvZGF5OgogICAgLSBjdXRhZGFwdAogICAgLSBmYXN0cWMKICAgIC0gbXVsdGlxYwogICAgLSBzdGFyCiAgICAtIHJzZW0KLSBVc2UgdHdvIGNoYW5uZWxzIHdoZW4gYnVpbGRpbmcgdGhlIGVudmlyb25tZW50OgogICAgLSBgY29uZGEtZm9yZ2VgCiAgICAtIGBiaW9jb25kYWAKCjxicj4KCj4gSGludDogVGhlIHRvb2wgYG1hbWJhYCBpcyBhIGRyb3AtaW4gcmVwbGFjZW1lbnQgZm9yIGBjb25kYSBjcmVhdGVgIGFuZCBzaW1pbGFyIGNvbW1hbmRzLgo+IEl0IGlzIHBvd2VyZnVsIGFuZCBmYXN0LCB3aGljaCBhbGxvd3MgdXMgdG8gZWFzaWx5IHJlcGxpY2F0ZSBvdXIgd2hvbGUgZW52aXJvbm1lbnQgZnJvbSB0b2RheS4KPiBgY29uZGEgY3JlYXRlYCBjYW4gYmUgdmVyeSBzbG93IG9yIHVuY29vcGVyYXRpdmUgd2hlbiBjcmVhdGluZyBlbnZpcm9ubWVudHMgd2l0aCBjZXJ0YWluCj4gc29mdHdhcmUgY29tYmluYXRpb25zLCBhbmQgYG1hbWJhYCBoZWxwcyB1cyBnZXQgYXJvdW5kIHRoYXQgaW4gdGhpcyBjYXNlLgo+IFRoZSBjb21tYW5kIGlzIGV4YWN0bHkgdGhlIHNhbWUgYXMgYSBgY29uZGEgY3JlYXRlYCBjb21tYW5kLCBlLmcuOgo+Cj4gfn5+Cj4gbWFtYmEgY3JlYXRlIC1uIDxlbnYtbmFtZT4gLWMgPGNoYW5uZWw+IDxwYWNrYWdlMT4gLi4uCj4gfn5+Cgo8YnI+CgojIyMgU29sdXRpb24gLSBDb25kYSBDcmVhdGUgRXhlcmNpc2UKCjxicj4KCmBgYAojIENoZWNrIHRvIHNlZSBpZiBtYW1iYSBpcyBpbnN0YWxsZWQKd2hpY2ggbWFtYmEKIyBJZiB5b3UgZG9uJ3QgaGF2ZSBtYW1iYSBpbnN0YWxsZWQsIHlvdSBjYW4gaW5zdGFsbCBpdCB0byB5b3VyIGJhc2UgY29uZGEgZW52aXJvbm1lbnQKY29uZGEgaW5zdGFsbCAtYyBjb25kYS1mb3JnZSBtYW1iYQojIFVzZSBtYW1iYSB0byBjcmVhdGUgYW4gZW52aXJvbm1lbnQgd2l0aCBDdXRhZGFwdCwgRmFzdFFDLCBNdWx0aVFDLCBTVEFSLCBhbmQgUlNFTS4KbWFtYmEgY3JlYXRlIC1uIFJTRF9lbnZpcm9ubWVudCAtYyBjb25kYS1mb3JnZSAtYyBiaW9jb25kYSBjdXRhZGFwdCBmYXN0cWMgbXVsdGlxYyBzdGFyIHJzZW0KIyBBY3RpdmF0ZSB0aGUgZW52aXJvbm1lbnQgYW5kIHVzZSB3aGljaCB0byBjaGVjayBmb3Igc29mdHdhcmUgcHJlc2VuY2UKY29uZGEgYWN0aXZhdGUgUlNEX2Vudmlyb25tZW50CndoaWNoIGN1dGFkYXB0CndoaWNoIGZhc3RxYwp3aGljaCBtdWx0aXFjCndoaWNoIFNUQVIKd2hpY2ggcnNlbS1jYWxjdWxhdGUtZXhwcmVzc2lvbgojIERlYWN0aXZhdGUgdGhlIGVudmlyb25tZW50CmRlYWN0aXZhdGUKYGBgCgo8YnI+Cg==