Search code examples
rcondabioconductor

How can I install the Bioconductor package "liftOver" in a conda environment?


I'm trying to install the Bioconductor package liftOver using conda. I'm creating a conda environment using a .yml file like this: conda env create -f coo_environment.yml

When I do this, I get:

Collecting package metadata: done
Solving environment: failed

ResolvePackageNotFound:
  - bioconductor-liftover

The relevant contents of coo_environment.yml are shown below

name: coo

channels:
        - conda-forge
        - bioconda
dependencies:
        # R
        - bioconductor-exomeCopy
        - bioconductor-rtracklayer
        - bioconductor-liftOver

Solution

  • Bioconductor has a liftOver Workflow, but Bioconda does not package any of the Bioconductor Workflows. Such workflows are not supposed to introduce new functionality, but instead demonstrate how to work with a set of tools in the ecosystem. They can include additional data for convenient demonstrations.

    In this case, the liftOver reimplementation is provided as part of the rtracklayer package, so the bioconductor-rtracklayer is sufficient to provide that functionality.

    You can access the function in R with

    rtracklayer::liftOver
    

    The liftOver workflow also includes some example .chain files. UCSC is the canonical source for these and can be found in the Downloads section of the website. In practice at our research group, reference files like this are kept in a centralized location, so I would load from that.

    If you want to download the hg38 to hg19 file programmatically, I am unaware of any dedicated functionality for this, but other answers cover downloading and unzipping files in R (e.g., here or here).