conf.py 2.9 KB
Newer Older
1
2
3
4
5
6
# Module directory
job_modules = "jobs/modules/"

# Job params directory
job_params = "jobs/params/"

7
8
9
# Job wrappers directory
job_wrappers = "jobs/wrappers/"

10
11
12
# Job scripts directory
job_scripts = "jobs/scripts/"

13
14
15
16
17
18
19
20
21
22
23
24
# SYSTEM PATH, probably /bin
system_path = "/bin/"

# System commands mv, cp, sort, zcat, awk e.t.c
system_commands = [
    "mv",
    "cp",
    "sort",
    "zcat",
    "awk"
]

25
26
27
28
29
30
31
32
33
34
35
36
# Current align tools
align_tools = [
    "bwa",
    "bowtie2"
]

# Current peak callign tools
peak_tools = [
    "spp",
    "macs2"
]

37
38
# File extensions
file_extensions = {
39
    "genome_index": ["fa", "fna"],
40
    "fastq": ["fastq", "fastq.gz"],
41
    "sai": ["sai"],
42
43
    "sam": ["sam"],
    "bam": ["bam"],
44
    "bed": ["bed", "narrowPeak", "broadPeak", "tagAlign"],
45
    "bwa_genome": ["amb", "ann", "bwt", "pac", "sa"],
46
    "bowtie2_genome": ["1.bt2", "2.bt2", "3.bt2", "4.bt2", "rev.1.bt2", "rev.2.bt2"],
aknecht2's avatar
aknecht2 committed
47
    "quality": ["quality"],
48
49
    "qc": ["qc"],
    "pdf": ["pdf"],
50
    "ccscore": ["ccscore"],
51
52
53
    "xls": ["xls"],
    "yaml": ["yaml"],
    "result": ["bed", "narrowPeak", "broadPeak", "tagAlign"],
54
55
    "txt": ["txt"],
    "chrom_sizes": ["sizes"]
56
}
57

Adam Caprez's avatar
Adam Caprez committed
58
59
# list of resources that can be specified per job (step) in
# the workflow and corresponding Pegasus profile info
60
61
62
63
64
65
66
67
resources = {
    "walltime": {
        "namespace": "globus",
        "key": "maxwalltime"
    },
    "memory": {
        "namespace": "condor",
        "key": "request_memory"
68
69
    },
    "cores": {
aknecht2's avatar
aknecht2 committed
70
        "namespace": "pegasus",
71
        "key": "cores"
72
73
74
75
    },
    "nodes": {
        "namespace": "pegasus",
        "key": "nodes"
76
    }
Adam Caprez's avatar
Adam Caprez committed
77
78
}

79
80
# Defines the types of input / output arguments
# argument -> Any non file argument
81
82
#   string -> Any string argument
#   numeric -> Numeric arguments.
83
# file -> Any file argument that isn't redirected
84
85
86
#   file -> Normal file arguments.
#   stdout -> Any file argument that is redirected from stdout
#   stderr -> Any file argument that is redirected from stderr
87
argument_types = {
88
89
90
91
92
93
94
95
96
97
98
99
100
101
    "argument": ["string", "numeric"],
    "file": ["file", "rawfile", "stdout", "stderr"]
}

# Defines information about arguments
argument_keys = {
    "required": ["type", "changeable", "has_value"],
    "optional": ["required", "default"]
}

# workflow_job keys
job_keys = {
    "required": ["inputs", "additional_inputs", "outputs", "command", "arguments"] + resources.keys(),
    "optional": []
102
}
103

104
105
# param keys
param_keys = {
106
107
    "required": [],
    "optional": ["arguments"] + resources.keys()
108
109
}

110
111
112
113
114
115
# run keys
run_keys = {
    "required": ["experiment", "align", "peak", "genome"],
    "optional": []
}

116
117
# workflow order
workflow = ["align", "remove_duplicates", "peak_calling"]
118
119
120
121
122
123
124
125
126
127
128
129

# genome info
genomes = {
    "bwa": {
        "base_file": file_extensions["genome_index"],
        "additional_files": file_extensions["bwa_genome"]
    },
    "bowtie2": {
        "base_file": file_extensions["genome_index"],
        "additional_files": file_extensions["bowtie2_genome"]
    }
}