-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpixi.toml
More file actions
67 lines (56 loc) · 1.81 KB
/
pixi.toml
File metadata and controls
67 lines (56 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
[workspace]
authors = ["Fulcrum Genomics"]
channels = ["conda-forge", "bioconda"]
name = "fg-labs-divref-wf"
platforms = ["osx-arm64", "osx-64", "linux-64"]
version = "0.1.0"
[feature.snakemake.dependencies]
python = ">=3.12.8,<3.13"
snakemake-minimal = ">=8.28.0,<9.0"
snakefmt = ">=1.0.0,<2"
[pypi-dependencies]
divref = { path = "./divref", editable = true }
[feature.hail.dependencies]
openjdk = ">=11,<17"
[environments]
default = { features = ["snakemake", "hail"] }
[tasks]
check-toolkit = "uv run --directory divref poe check-all"
fix-and-check-toolkit = "uv run --directory divref poe fix-and-check-all"
check-lock = "pixi lock --check"
check-all = [
{ task = "check-toolkit" },
{ task = "check-lock" },
]
fix-and-check-all = [
{ task = "fix-and-check-toolkit" },
{ task = "check-lock" },
]
setup-gcs = """
python -c "
import os, urllib.request, zipfile, hashlib
jar = os.path.join(__import__('pyspark').__path__[0], 'jars', 'gcs-connector.jar')
expected_sha256 = 'd53cd19ec2fadc3f81319a1dcf3f70940915a674781c29a7067ea6021ae8dfe2'
valid = False
if os.path.exists(jar):
try:
zipfile.ZipFile(jar)
valid = True
except zipfile.BadZipFile:
pass
if not valid:
url = 'https://repo1.maven.org/maven2/com/google/cloud/bigdataoss/gcs-connector/hadoop3-2.2.22/gcs-connector-hadoop3-2.2.22-shaded.jar'
print(f'Downloading GCS connector JAR to {jar}...')
urllib.request.urlretrieve(url, jar)
digest = hashlib.sha256(open(jar, 'rb').read()).hexdigest()
if digest != expected_sha256:
raise RuntimeError(f'Checksum mismatch for {jar}: {digest}')
print('Done.')
else:
print('GCS connector JAR is already valid.')
"
"""
lint = "snakefmt --line-length 100 workflows/*.smk"
download = "snakemake -j1 -s workflows/download.smk"
[dependencies]
bcftools = ">=1.23.1,<2"