Skip to content

Commit a279f91

Browse files
authored
Update nucflag dependency in cenmap v1.2.0. (#68672)
* Fix nucflag dependency in cenmap v1.2.0. * Revert changes to main recipe and add v1.2.0 recipe.
1 parent cdbed42 commit a279f91

2 files changed

Lines changed: 124 additions & 0 deletions

File tree

recipes/cenmap/v1.2.0/build.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/bin/bash
2+
set -ex
3+
4+
export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib"
5+
export CFLAGS="${CFLAGS} -O3 -I${PREFIX}/include"
6+
CENMAP_DIR="${PREFIX}/share/CenMAP"
7+
mkdir -p "${PREFIX}/bin/"
8+
mkdir -p "${CENMAP_DIR}"
9+
10+
# Similar to https://github.com/bioconda/bioconda-recipes/blob/master/recipes/repeatmasker/build.sh
11+
mv * ${CENMAP_DIR}
12+
13+
# Build srf and trf-mod
14+
# https://github.com/lh3/srf?tab=readme-ov-file#getting-started
15+
# https://github.com/lh3/TRF-mod?tab=readme-ov-file#trf-mod
16+
# Both have no GH releases so workflow release has both as archived git submodules.
17+
srf_dir="${CENMAP_DIR}/workflow/rules/Snakemake-srf/workflow/scripts/srf"
18+
pushd ${srf_dir}
19+
make LIBS="${LDFLAGS} -lz" CFLAGS="${CFLAGS}" CC="${CC}"
20+
chmod 755 ${srf_dir}/srf
21+
ln -s ${srf_dir}/srf ${PREFIX}/bin/srf
22+
ln -s ${srf_dir}/srfutils.js ${PREFIX}/bin/srfutils.js
23+
popd
24+
25+
trf_dir="${CENMAP_DIR}/workflow/rules/Snakemake-srf/workflow/scripts/trf"
26+
pushd ${trf_dir}
27+
make CFLAGS="${CFLAGS}" CC="${CC}" -f compile.mak
28+
chmod 755 ${trf_dir}/trf-mod
29+
ln -s ${trf_dir}/trf-mod ${PREFIX}/bin/trf-mod
30+
popd
31+
32+
# Symlink to bin
33+
ln -sf ${CENMAP_DIR}/cenmap ${PREFIX}/bin/cenmap

recipes/cenmap/v1.2.0/meta.yaml

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
{% set name = "cenmap" %}
2+
{% set version = "1.2.0" %}
3+
4+
package:
5+
name: {{ name }}
6+
version: {{ version }}
7+
8+
source:
9+
url: https://github.com/logsdon-lab/CenMAP/releases/download/v{{ version }}/srcs-full-CenMAP.tar.gz
10+
sha256: b3d9b0978c44e7b04837f67ae336c097052c9b89383226cea4185e7dcff1e4a5
11+
12+
build:
13+
number: 1
14+
skip: True # [osx]
15+
run_exports:
16+
- {{ pin_subpackage(name, max_pin="x") }}
17+
18+
requirements:
19+
build:
20+
- make
21+
- {{ compiler('c') }}
22+
- {{ stdlib('c') }}
23+
host:
24+
- zlib
25+
run:
26+
- python >=3.12
27+
- findutils
28+
- coreutils
29+
- bedops
30+
- hmmer
31+
- gzip
32+
- gawk
33+
- bedtools
34+
- kmc >=3.2.4
35+
- minimap2 >=2.29
36+
# introduced breaking changes to pileup API in minor version 0.6.0
37+
- ont-modkit >=0.6.0
38+
- pbmm2 >=1.17.0
39+
# Last compatible repeatmasker version. post-link script removed in 4.1.8, 4.1.7p1 corrupts Dfam.h5.
40+
# https://github.com/bioconda/bioconda-recipes/commit/8fdb7a3556da35a6e2bc2ef7bbd4895377867a05
41+
# https://github.com/bioconda/bioconda-recipes/issues/54634
42+
- repeatmasker ==4.1.2.p1
43+
- rustybam
44+
- samtools >=1.13
45+
- seqkit
46+
- seqtk
47+
- srf-n-trf >=0.1.1
48+
- stringdecomposer
49+
# cenmap uses faster subsample jobs introduced in 8.24
50+
# https://github.com/snakemake/snakemake/pull/3112
51+
# After 9.5.0 config defaults are not filled in. Fixed in 9.13.1 but cannot update without major refactor.
52+
# https://github.com/snakemake/snakemake/issues/3648
53+
# Rule inheritance rename rules changed in 9.11.4.
54+
# https://github.com/snakemake/snakemake/pull/3714
55+
- snakemake >=8.24.0,<=9.5.0
56+
- intervaltree
57+
- matplotlib-base
58+
- numpy
59+
- polars
60+
- pyarrow
61+
- pyyaml
62+
- scipy
63+
- seaborn
64+
- nucflag >=0.3.7,<1.0.0
65+
- cenplot >=0.1.4
66+
# Features in >=1.2.0 require >=0.1.3
67+
- censtats >=0.1.3
68+
69+
test:
70+
commands:
71+
- cenmap --version
72+
# Do dry-run to ensure snakemake workflow is correct.
73+
- touch test.fa && cenmap -i test.fa -s example --snake-opts="-n" -o results && rm -rf results
74+
import:
75+
- numpy
76+
- scipy
77+
- pysam
78+
- cenplot
79+
- censtats
80+
81+
about:
82+
home: "https://github.com/logsdon-lab/CenMAP"
83+
license: MIT
84+
license_family: MIT
85+
summary: "A centromere mapping and annotation pipeline for T2T human and primate genome assemblies implemented in Snakemake."
86+
dev_url: "https://github.com/logsdon-lab/CenMAP"
87+
doc_url: "https://github.com/logsdon-lab/CenMAP/blob/v{{ version }}/README.md"
88+
89+
extra:
90+
recipe-maintainers:
91+
- koisland

0 commit comments

Comments
 (0)