{% set name = "HiLine" %}
{% set version = "0.2.4" %}
{% set sha256 = "e6e24c09c1b88898a0b91be086d35a5c04f60af27ba845976bd60409fde61f0b" %}

package:
  name: "{{ name|lower }}"
  version: "{{ version }}"

source:
  url: https://github.com/wtsi-hpag/{{ name }}/archive/{{ version }}.tar.gz
  sha256: {{ sha256 }}

build:
  number: 0
  script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv"

requirements:
  build:
    - {{ compiler('cxx') }}
    - clang >=9.0
    - git
    - cmake >=3.16.4
    - pkgconfig >=1.3.1
  host:
    # HiLine does not actually require this, but removing the pin leads to
    # "Unsatisfiable dependencies"
    - python >=3.9
    - numpy >=1.18.1
    - pip >=20.0.2
    - setuptools >=46.0.0
    - boost-cpp
    - ragel >=6.10
    - pcre
    - ninja >=1.10.0
  run:
    - python >=3.9
    - bwa >=0.7.17
    - bwa-mem2 >=2.0 # [linux]
    - minimap2 >=2.17
    - gawk >=5.1.0
    - perl >=5.30.3
    - samtools >=1.10
    - click >=7.0
    - pandas >=1.0.1
    - {{ pin_compatible('numpy') }}
    - seaborn >=0.10.0
    - matplotlib-base >=3.2.0
    - biopython >=1.76

test:
  commands:
    - {{ name }} --help
  imports:
    - {{ name }}

about:
  home: https://github.com/wtsi-hpag/{{ name }}
  license: MIT
  license_file: LICENSE
  license_family: MIT
  summary: HiC alignment and classification pipeline.
  description: >
    This is a HiC short-read alignment pipeline. It will perform an alignment, or read in an external alignment,
    perform optional duplicate-read marking, perform HiC read classification based on an in-slico restriction digest
    of reference sequences and finally split the output alignments based on HiC read-type.
    It can also optionally process and output HiC alignment statistics.
    Under the hood, it uses bwa mem and samtools to perform and process alignments.
    It also uses a custom C++ Python extension to perform the in-silico digest
    (using the Hyperscan (https://github.com/intel/hyperscan) regex library) and subsequent HiC classification.  
