offtracker 1.0.1__zip → 2.7.7__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. {offtracker-1.0.1/offtracker.egg-info → offtracker-2.7.7}/PKG-INFO +13 -6
  2. {offtracker-1.0.1 → offtracker-2.7.7}/README.md +12 -5
  3. offtracker-2.7.7/offtracker/X_offplot.py +123 -0
  4. offtracker-2.7.7/offtracker/X_offtracker.py +338 -0
  5. offtracker-1.0.1/offtracker/X_general.py → offtracker-2.7.7/offtracker/X_sequence.py +18 -5
  6. {offtracker-1.0.1 → offtracker-2.7.7}/offtracker/__init__.py +1 -1
  7. offtracker-2.7.7/offtracker/_version.py +27 -0
  8. offtracker-2.7.7/offtracker/mapping/Snakefile_offtracker +245 -0
  9. offtracker-2.7.7/offtracker/mapping/offtracker_blacklist_hg38.merged.bed +3846 -0
  10. offtracker-2.7.7/offtracker/mapping/offtracker_blacklist_mm10.merged.bed +5827 -0
  11. {offtracker-1.0.1 → offtracker-2.7.7/offtracker.egg-info}/PKG-INFO +13 -6
  12. {offtracker-1.0.1 → offtracker-2.7.7}/offtracker.egg-info/SOURCES.txt +4 -3
  13. offtracker-2.7.7/scripts/offtracker_analysis.py +369 -0
  14. {offtracker-1.0.1 → offtracker-2.7.7}/scripts/offtracker_candidates.py +59 -101
  15. {offtracker-1.0.1 → offtracker-2.7.7}/scripts/offtracker_config.py +15 -10
  16. offtracker-1.0.1/offtracker/X_analysis.py +0 -332
  17. offtracker-1.0.1/offtracker/_version.py +0 -1
  18. offtracker-1.0.1/offtracker/mapping/Snakefile_Trackseq +0 -193
  19. offtracker-1.0.1/offtracker/mapping/offtracker_blacklist_hg38.merged.bed +0 -22228
  20. offtracker-1.0.1/offtracker/mapping/offtracker_blacklist_mm10.merged.bed +0 -9347
  21. offtracker-1.0.1/scripts/offtracker_analysis.py +0 -407
  22. {offtracker-1.0.1 → offtracker-2.7.7}/LICENSE.txt +0 -0
  23. {offtracker-1.0.1 → offtracker-2.7.7}/MANIFEST.in +0 -0
  24. {offtracker-1.0.1 → offtracker-2.7.7}/offtracker/mapping/1.1_bed2fr_v4.5.py +0 -0
  25. {offtracker-1.0.1 → offtracker-2.7.7}/offtracker/mapping/1.3_bdg_normalize_v4.0.py +0 -0
  26. {offtracker-1.0.1 → offtracker-2.7.7}/offtracker/mapping/bedGraphToBigWig +0 -0
  27. {offtracker-1.0.1 → offtracker-2.7.7}/offtracker/mapping/hg38.chrom.sizes +0 -0
  28. {offtracker-1.0.1 → offtracker-2.7.7}/offtracker/mapping/mm10.chrom.sizes +0 -0
  29. {offtracker-1.0.1 → offtracker-2.7.7}/offtracker.egg-info/dependency_links.txt +0 -0
  30. {offtracker-1.0.1 → offtracker-2.7.7}/offtracker.egg-info/requires.txt +0 -0
  31. {offtracker-1.0.1 → offtracker-2.7.7}/offtracker.egg-info/top_level.txt +0 -0
  32. {offtracker-1.0.1 → offtracker-2.7.7}/setup.cfg +0 -0
  33. {offtracker-1.0.1 → offtracker-2.7.7}/setup.py +0 -0
@@ -0,0 +1,245 @@
1
+ # 2023.08.11. adding a option for not normalizing the bw file
2
+ # 2024.01.23. add --fixedStep to bigwigCompare for not merging neighbouring bins with equal values.
3
+
4
+ configfile: "config.yaml"
5
+
6
+ _threads = config["thread"]
7
+ BinSize = str(config["binsize"])
8
+ normalize = config["normalize"]
9
+ output_dir = config["output_dir"]
10
+ nametype = config["nametype"]
11
+ suffix = config["suffix"]
12
+ name1 = nametype.replace('2','1') + '.' + suffix
13
+ name2 = nametype + '.' + suffix
14
+
15
+ import os
16
+
17
+ if normalize == "True":
18
+ rule all:
19
+ input:
20
+ expand( os.path.join(output_dir,"{sample}.fw.bed"), sample=config["sample"] ),
21
+ expand( os.path.join(output_dir,"{sample}.rv.bed"), sample=config["sample"] ),
22
+ expand( os.path.join(output_dir,"{sample}.fw.scaled.bw"), sample=config["sample"] ),
23
+ expand( os.path.join(output_dir,"{sample}.rv.scaled.bw"), sample=config["sample"] ),
24
+ expand( os.path.join(output_dir,"{sample}." + BinSize + ".add.bdg"),sample=config["sample"] ),
25
+ elif normalize == "False":
26
+ rule all:
27
+ input:
28
+ expand( os.path.join(output_dir,"{sample}.fw.bed"), sample=config["sample"] ),
29
+ expand( os.path.join(output_dir,"{sample}.rv.bed"), sample=config["sample"] ),
30
+ expand( os.path.join(output_dir,"{sample}.fw.raw.bw"), sample=config["sample"] ),
31
+ expand( os.path.join(output_dir,"{sample}.rv.raw.bw"), sample=config["sample"] ),
32
+ else:
33
+ raise ValueError('Please provide "True" or "False" for "--normalize" when running offtracker_config.py')
34
+
35
+
36
+ rule chromap:
37
+ input:
38
+ R1= lambda w: config["sample"][w.sample] + name1,
39
+ R2= lambda w: config["sample"][w.sample] + name2
40
+ threads:
41
+ _threads
42
+ params:
43
+ index=config["index"],
44
+ fasta=config["fasta"]
45
+ output:
46
+ temp(os.path.join(output_dir,"{sample}.chromapx.bed"))
47
+ shell:
48
+ """
49
+ chromap -l 3000 --low-mem --BED --remove-pcr-duplicates \
50
+ --min-read-length 10 --allocate-multi-mappings \
51
+ -x {params.index} -r {params.fasta} -t {threads} -1 {input.R1} -2 {input.R2} -o {output}
52
+ """
53
+
54
+ if config["blacklist"] != 'none':
55
+ rule remove_blacklist:
56
+ input:
57
+ os.path.join(output_dir,"{sample}.chromapx.bed")
58
+ threads:
59
+ _threads
60
+ params:
61
+ blacklist=config["blacklist"]
62
+ output:
63
+ temp(os.path.join(output_dir,"{sample}.filtered.bed"))
64
+ shell:
65
+ "bedtools intersect -a {input} -b {params.blacklist} -v > {output}"
66
+
67
+ rule bed2fr:
68
+ input:
69
+ os.path.join(output_dir,"{sample}.filtered.bed")
70
+ threads:
71
+ _threads
72
+ params:
73
+ dir_script=config["script_folder"]
74
+ output:
75
+ fw=os.path.join(output_dir,"{sample}.fw.bed"),
76
+ rv=os.path.join(output_dir,"{sample}.rv.bed")
77
+ shell:
78
+ "python {params.dir_script}/1.1_bed2fr_v4.5.py -b {input}"
79
+ else:
80
+ rule bed2fr:
81
+ input:
82
+ os.path.join(output_dir,"{sample}.chromapx.bed")
83
+ threads:
84
+ _threads
85
+ params:
86
+ dir_script=config["script_folder"]
87
+ output:
88
+ fw=os.path.join(output_dir,"{sample}.fw.bed"),
89
+ rv=os.path.join(output_dir,"{sample}.rv.bed")
90
+ shell:
91
+ "python {params.dir_script}/1.1_bed2fr_v4.5.py -b {input}"
92
+
93
+ rule bed2bdg_fw:
94
+ input:
95
+ os.path.join(output_dir,"{sample}.fw.bed")
96
+ threads:
97
+ _threads
98
+ params:
99
+ gl=config["genomelen"]
100
+ output:
101
+ temp(os.path.join(output_dir,"{sample}.fw.bdg"))
102
+ shell:
103
+ "bedtools genomecov -bg -i {input} -g {params.gl} > {output}"
104
+
105
+ rule bed2bdg_rv:
106
+ input:
107
+ os.path.join(output_dir,"{sample}.rv.bed")
108
+ threads:
109
+ _threads
110
+ params:
111
+ gl=config["genomelen"]
112
+ output:
113
+ temp(os.path.join(output_dir,"{sample}.rv.bdg"))
114
+ shell:
115
+ "bedtools genomecov -bg -i {input} -g {params.gl} > {output}"
116
+
117
+ rule bdg_sort_fw:
118
+ input:
119
+ fw=os.path.join(output_dir,"{sample}.fw.bdg")
120
+ threads:
121
+ _threads
122
+ output:
123
+ temp(os.path.join(output_dir,"{sample}.fw.sorted.bdg"))
124
+ shell:
125
+ "bedtools sort -i {input.fw} > {output}"
126
+
127
+ rule bdg_sort_rv:
128
+ input:
129
+ rv=os.path.join(output_dir,"{sample}.rv.bdg")
130
+ threads:
131
+ _threads
132
+ output:
133
+ temp(os.path.join(output_dir,"{sample}.rv.sorted.bdg"))
134
+ shell:
135
+ "bedtools sort -i {input.rv} > {output}"
136
+
137
+ if normalize == "True":
138
+ rule bdg_normalize_fw:
139
+ input:
140
+ bdg=os.path.join(output_dir,"{sample}.fw.sorted.bdg"),
141
+ bed=os.path.join(output_dir,"{sample}.fw.bed")
142
+ threads:
143
+ _threads
144
+ params:
145
+ dir_script=config["script_folder"]
146
+ output:
147
+ temp(os.path.join(output_dir,"{sample}.fw.scaled.bdg"))
148
+ shell:
149
+ "python {params.dir_script}/1.3_bdg_normalize_v4.0.py --bdg {input.bdg} --bed {input.bed}"
150
+
151
+ rule bdg_normalize_rv:
152
+ input:
153
+ bdg=os.path.join(output_dir,"{sample}.rv.sorted.bdg"),
154
+ bed=os.path.join(output_dir,"{sample}.rv.bed")
155
+ threads:
156
+ _threads
157
+ params:
158
+ dir_script=config["script_folder"]
159
+ output:
160
+ temp(os.path.join(output_dir,"{sample}.rv.scaled.bdg"))
161
+ shell:
162
+ "python {params.dir_script}/1.3_bdg_normalize_v4.0.py --bdg {input.bdg} --bed {input.bed}"
163
+
164
+ rule bdg2bw_fw:
165
+ input:
166
+ os.path.join(output_dir,"{sample}.fw.scaled.bdg")
167
+ threads:
168
+ _threads
169
+ params:
170
+ gl=config["genomelen"],
171
+ dir_script=config["script_folder"]
172
+ output:
173
+ os.path.join(output_dir,"{sample}.fw.scaled.bw")
174
+ shell:
175
+ "{params.dir_script}/bedGraphToBigWig {input} {params.gl} {output}"
176
+
177
+ rule bdg2bw_rv:
178
+ input:
179
+ os.path.join(output_dir,"{sample}.rv.scaled.bdg")
180
+ threads:
181
+ _threads
182
+ params:
183
+ gl=config["genomelen"],
184
+ dir_script=config["script_folder"]
185
+ output:
186
+ os.path.join(output_dir,"{sample}.rv.scaled.bw")
187
+ shell:
188
+ "{params.dir_script}/bedGraphToBigWig {input} {params.gl} {output}"
189
+
190
+ rule bwAdd:
191
+ input:
192
+ fw=os.path.join(output_dir,"{sample}.fw.scaled.bw"),
193
+ rv=os.path.join(output_dir,"{sample}.rv.scaled.bw")
194
+ threads:
195
+ _threads
196
+ output:
197
+ os.path.join(output_dir,"{sample}." + BinSize + ".add.bdg")
198
+ shell:
199
+ """
200
+ bigwigCompare --binSize {BinSize} -p {threads} --verbose -o {output} \
201
+ --outFileFormat bedgraph --fixedStep \
202
+ --bigwig1 {input.fw} \
203
+ --bigwig2 {input.rv} \
204
+ --operation add
205
+ """
206
+ else:
207
+ rule bdg_reverse_rv:
208
+ input:
209
+ os.path.join(output_dir,"{sample}.rv.sorted.bdg")
210
+ threads:
211
+ _threads
212
+ output:
213
+ temp(os.path.join(output_dir,"{sample}.rv.sorted_r.bdg"))
214
+ shell:
215
+ "awk -F '\t' -v OFS='\t' '{{$4=-$4; print}}' {input} > {output}"
216
+
217
+ rule bdg2bw_fw:
218
+ input:
219
+ os.path.join(output_dir,"{sample}.fw.sorted.bdg")
220
+ threads:
221
+ _threads
222
+ params:
223
+ gl=config["genomelen"],
224
+ dir_script=config["script_folder"]
225
+ output:
226
+ os.path.join(output_dir,"{sample}.fw.raw.bw")
227
+ shell:
228
+ "{params.dir_script}/bedGraphToBigWig {input} {params.gl} {output}"
229
+
230
+ rule bdg2bw_rv:
231
+ input:
232
+ os.path.join(output_dir,"{sample}.rv.sorted_r.bdg")
233
+ threads:
234
+ _threads
235
+ params:
236
+ gl=config["genomelen"],
237
+ dir_script=config["script_folder"]
238
+ output:
239
+ os.path.join(output_dir,"{sample}.rv.raw.bw")
240
+ shell:
241
+ "{params.dir_script}/bedGraphToBigWig {input} {params.gl} {output}"
242
+
243
+
244
+
245
+