stuartwillis / poolparty

MIT License
5 stars 1 forks source link

conda-based installation #4

Open pdimens opened 2 months ago

pdimens commented 2 months ago

This serves to hopefully set the infrastructure to a fully conda-based installation, making it easier for people to get started with PoolParty2. The bioconda recipe has two parts:

  1. The meta.yaml file which sets up all the build and runtime conditions, package info, etc.
  2. The build.sh file of manual build steps

meta.yaml

{% set version = "" %}
{% set sha256 = "" %}

package:
  name: poolparty
  version: '{{ version }}'

source:
  url: https://github.com/stuartwillis/poolparty/releases/download/{{ version }}/poolparty.{{ version }}.tar.gz
  sha256: '{{ sha256 }}'

build:
  number: 0
  run_exports:
    - {{ pin_subpackage('poolparty', max_pin="x") }}

requirements:
  run:
    - bbmap
    - bcftools
    - bioconductor-biobase
    - bioconductor-biocgenerics
    - bioconductor-multtest
    - bioconductor-qvalue
    - bwa
    - fastqc
    - perl-text-nsp
    - picard
    - popoolation2
    - samblaster
    - samtools
    - dos2unix
    - parallel
    - r-ape
    - r-bibtex
    - r-data.table
    - r-fbasics
    - r-gbrd
    - r-ggplot2
    - r-mass
    - r-matrixstats
    - r-metap
    - r-plyr
    - r-rcolorbrewer
    - r-rdpack
    - r-reshape
    - r-stringr
    - r-survival
    - r-tidyr

test:
  commands:
    - "poolparty"

about:
  home: "https://github.com/stuartwillis/poolparty/"
  license: GPL-3.0-or-later
  license_family: GPL3
  license_file: LICENSE
  summary: "A BASH pipeline to align and analyze paired-end NGS data on a genome assembly"
  dev_url: "https://github.com/stuartwillis/poolparty"

extra:
  recipe-maintainers:
    - stuartwillis

build.sh

# bbmap files
cp {WHEREVER THOSE FILES ARE} ${PREFIX}

# move poolparty scripts to PATH
chmod +x {WHICHEVER SCRIPTS}
cp {WHICHEVER SCRIPTS} ${PREFIX}
pdimens commented 2 months ago

Once submitted to and vetted by Bioconda, each time there is a new Release on this repository (via Tagged Releases, example), Bioconda will automatically "sniff" for updates and automatically update the bioconda release. It's likely that PoolParty2 needs a little altering to make this all work seamlessly. The most obvious thing I see now is that there is no opts/ directory in the repository for which to copy things into the conda PATH at installation.

pdimens commented 2 months ago

I lied, you cant specify channel for a bioconda recipe, it pulls from either conda-forge or bioconda, which means we'd need to manually create a recipe for HCC::popoolation2 to be hosted on bioconda, which should be relatively simple.

pdimens commented 2 months ago

@stuartwillis like this https://github.com/bioconda/bioconda-recipes/pull/50211

pdimens commented 2 months ago

Once reviewed and merged, popoolation2 will be available via bioconda and that unlocks the rest

pdimens commented 2 months ago

@stuartwillis the popoolation2 bioconda recipe was approved and merged. Now the real fun can begin

pdimens commented 1 month ago

Turns out perl-text-nsp, where the fisher's exact test lives, was available on bioconda. In theory, all the pieces are here to begin making this recipe for realsies