Corrected trap dataset handling

This commit is contained in:
Tom Kasper
2026-10-04 09:55:42 +01:00
parent f688e173e7
commit 10b0a29d2b
2 changed files with 27 additions and 11 deletions
+2
View File
@@ -16,6 +16,8 @@ fast_min_q: 8 # empty string or 0 to disable
pod5_dataset: "nomiss_96BC_P2I_SUP_2026" pod5_dataset: "nomiss_96BC_P2I_SUP_2026"
pod5_dataset_size : 293 pod5_dataset_size : 293
pod5_stride : 12 # Use 1 in x pod5 files from the ONT NO-MISS dataset to reduce dataset size / compute requirements pod5_stride : 12 # Use 1 in x pod5 files from the ONT NO-MISS dataset to reduce dataset size / compute requirements
trap_dataset_size: 1717
trap_pod5_stride: 72
trap_read_limit : '-n 500000' trap_read_limit : '-n 500000'
# custom ML # custom ML
+25 -11
View File
@@ -32,33 +32,50 @@ def get_batch_range(wildcards):
if wildcards.dataset == 'nomiss': if wildcards.dataset == 'nomiss':
return range(1,config['pod5_dataset_size']+1,config['pod5_stride']) return range(1,config['pod5_dataset_size']+1,config['pod5_stride'])
if wildcards.dataset == 'trap': if wildcards.dataset == 'trap':
return [0] return [f'batch{x}' for x in range(1,config['trap_dataset_size']+1,config['trap_pod5_stride'])]
def get_read_limit(wildcards): def get_read_limit(wildcards):
if wildcards.dataset == 'trap': if wildcards.dataset == 'trap':
return config["trap_read_limit"] return config["trap_read_limit"]
return '' return ''
wildcard_constraints:
batch=r"(batch)?\d+",
model=r'hac|fast'
rule download_nomiss_pod5: rule download_nomiss_pod5:
output: output:
'../data/raw_pod5/nomiss/PBK98658_853a956f_57f83f46_{batch}.pod5' '../data/raw_pod5/nomiss/PBK98658_853a956f_57f83f46_{batch}.pod5'
threads: 4 threads: 4
wildcard_constraints:
batch=r"\d+"
shell: shell:
""" """
aws s3 cp --no-sign-request s3://ont-open-data/nomiss_96BC_P2I_SUP_2026/raw/pod5/PBK98658_853a956f_57f83f46_{wildcards.batch}.pod5 {output} aws s3 cp --no-sign-request s3://ont-open-data/nomiss_96BC_P2I_SUP_2026/raw/pod5/PBK98658_853a956f_57f83f46_{wildcards.batch}.pod5 {output}
""" """
rule download_trap_pod5: rule download_trap_tar:
output: output:
'../data/raw_pod5/trap/ATCC_25922_202309_0.pod5' temp(directory('../data/raw_pod5/trap/all'))
threads: 32 threads: 32
wildcard_constraints: params:
batch=r'\d+' tmp='/tmp/trap_all.tar'
shell: shell:
""" """
curl -L --http1.1 -A "Mozilla/5.0" "https://api.figshare.com/v2/file/download/45408628" -o {output} curl -L --http1.1 -A "Mozilla/5.0" "https://api.figshare.com/v2/file/download/45408628" -o {params.tmp}
tar xf --wildcards -C {output} {params.tmp}
rm {params.tmp}
"""
rule extract_trap_pod5:
input:
'../data/raw_pod5/trap/all'
output:
'../data/raw_pod5/trap/ATCC_25922_202309_{batch}.pod5'
threads: 1
params:
input_pod5='{input[0]}/ATCC_25922__202309/ATCC_25922__202309_{batch}.pod5'
shell:
"""
mv {params.input_pod5} {output}
""" """
rule basecall_pod5: rule basecall_pod5:
input: input:
@@ -75,9 +92,6 @@ rule basecall_pod5:
min_qscore=get_qscore, min_qscore=get_qscore,
dorado_model=get_model_name, dorado_model=get_model_name,
n_reads=get_read_limit n_reads=get_read_limit
wildcard_constraints:
batch=r"\d+",
model="hac|fast"
shell: shell:
""" """
dorado basecaller --models-directory {config[dorado_model_dir]} {params.n_reads} --emit-fastq {params.benchmarking} {params.min_qscore} {params.dorado_model} {input.pod5} > {output} dorado basecaller --models-directory {config[dorado_model_dir]} {params.n_reads} --emit-fastq {params.benchmarking} {params.min_qscore} {params.dorado_model} {input.pod5} > {output}