我有一个包含多个目录的目录:
Uncaught TypeError: Error resolving module specifier “emailjs-com”. Relative module specifiers must start with “./”, “../” or “/”.
所有子目录都有几个不同的文件:
https://github.com/mrbilal4972/farmhouse-project
我正在使用snakemake运行命令,我需要用cond将所有文件分隔为空白
我试图这样做:
/test/cond1/
/test/cond2/
/test/cond3/
/test/cond4/
这是我的规则snakemake
cond1 : a1.txt, a2.txt
cond2 : b1.txt, b2.txt, b3.txt
cond3 : c1.txt, c2.txt, c4.txt
cond4 : d1.txt,c2.txt, c4.txt, d2.txt
在--more-bed {params.trs}
我希望得到:
def get_motifs_tf(wildcards):
file_list = sorted(glob.glob("tf_final/{wildcards.cond}/*.bed"))
return " ".join(file_list)
然后
rule compute_combi_enrichment:
"""
For a given input, compute the enrichment in n-wise TF combinations using OLOGRAM-MODL.
"""
input:
query = 'input/core_silencer/{cond}/core_silencer.bed',
excl = "input/exclude_region_dhs.bed",
genome = "input/mm9.chromsizes"
params:
trs = get_motifs_tf,
minibatch_number = 16, minibatch_size = 10 # Modulate depending on available RAM
threads: 8 # Do not use 16 threads to not vampirize all the cluster
output: 'output/ologram_result/{cond}/00_ologram_stats.tsv',
shell: """
set +u; source /gpfs/tagc/home/Apps/anaconda3/bin/activate dev; set -u
gtftk ologram -z -c {input.genome} -p {input.query} --more-bed {params.trs} \
-o output/ologram_result/{wildcards.cell_line} --force-chrom-peak --force-chrom-more-bed \
-V 3 -k {threads} -mn {params.minibatch_number} -ms {params.minibatch_size} \
--more-bed-multiple-overlap --bed-excl {input.excl} --no-date \
--multiple-overlap-max-number-of-combinations 80
"""
依此类推...
答案 0 :(得分:0)
我解决了:
函数中的通配符必须在stp中转换且不带括号:
def get_motifs_tf(wildcards):
file_list = sorted(glob.glob("tf_final/"+str(wildcards.cond)+"/*.bed"))
return " ".join(file_list)