Skip to content

Commit 41defd4

Browse files
committed
fix bug in DMRfind due to recent modification on filter-allc
1 parent 26cfc76 commit 41defd4

File tree

5 files changed

+40
-50
lines changed

5 files changed

+40
-50
lines changed

methylpy/DMRfind.py

Lines changed: 11 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from multiprocessing import Pool
88
from methylpy.utilities import print_checkpoint,expand_nucleotide_code
99
from methylpy.utilities import open_allc_file,split_files_by_position
10-
from methylpy.utilities import filter_allc_file,index_allc_file_batch
10+
from methylpy.utilities import filter_allc_files,index_allc_file_batch
1111
from methylpy.utilities import read_allc_index,remove_allc_index
1212
from scipy.stats import scoreatpercentile
1313
import subprocess
@@ -129,35 +129,19 @@ def DMRfind(allc_files, samples,
129129

130130

131131
# filter allc file
132-
if num_procs > 1:
133-
pool = Pool(min(num_procs,len(samples)))
134-
else:
135-
pool = False
136132
query_allc_files = []
137133
for allc_file,sample in zip(allc_files,samples):
138134
query_allc_files.append(output_prefix+"_filtered_allc_"+sample+".tsv")
139-
if pool:
140-
pool.apply_async(filter_allc_file,
141-
(),
142-
{"allc_file":allc_file,
143-
"output_file":output_prefix+"_filtered_allc_"+sample+".tsv",
144-
"mc_type":mc_type,
145-
"chroms":chroms,
146-
"compress_output":False,
147-
"min_cov":min_cov,
148-
"buffer_line_number":buffer_line_number}
149-
)
150-
else:
151-
filter_allc_file(allc_file=allc_file,
152-
output_file=output_prefix+"_filtered_allc_"+sample+".tsv",
153-
mc_type=mc_type,
154-
chroms=chroms,
155-
compress_output=False,
156-
min_cov=min_cov,
157-
buffer_line_number=buffer_line_number)
158-
if pool:
159-
pool.close()
160-
pool.join()
135+
136+
filter_allc_files(allc_files=allc_files,
137+
output_files=[output_prefix+"_filtered_allc_"+sample+".tsv" \
138+
for sample in samples],
139+
num_procs=num_procs,
140+
mc_type=mc_type,
141+
chroms=chroms,
142+
compress_output=False,
143+
min_cov=min_cov,
144+
buffer_line_number=buffer_line_number)
161145

162146
# scan allc file to set up a table for fast look-up of lines belong
163147
# to different chromosomes

methylpy/call_mc_se.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -855,12 +855,18 @@ def run_bowtie(current_library,library_read_files,
855855
if num_procs > 1:
856856
pool = multiprocessing.Pool(num_procs)
857857
for file_num in range(0,num_procs):
858-
pool.apply_async(subprocess.check_call,(shlex.split("env LC_COLLATE=C sort" + sort_option + " -t '\t' -k 1 -o "+prefix+"_sorted_"+str(file_num)+" "+prefix+"_sorted_"+str(file_num)),))
858+
pool.apply_async(subprocess.check_call,
859+
(shlex.split(
860+
"env LC_COLLATE=C sort"+sort_option+ \
861+
" -t '\t' -k 1 -o "+prefix+"_sorted_"+str(file_num)+ \
862+
" "+prefix+"_sorted_"+str(file_num)),))
859863
pool.close()
860864
pool.join()
861865
else:
862866
for file_num in range(0,num_procs):
863-
subprocess.check_call(shlex.split("env LC_COLLATE=C sort" + sort_option + " -t '\t' -k 1 -o "+prefix+"_sorted_"+str(file_num)+" "+prefix+"_sorted_"+str(file_num)))
867+
subprocess.check_call(shlex.split(
868+
"env LC_COLLATE=C sort"+sort_option + " -t '\t' -k 1 -o "+ \
869+
prefix+"_sorted_"+str(file_num)+" "+prefix+"_sorted_"+str(file_num)))
864870

865871
print_checkpoint("Finding multimappers")
866872

methylpy/parser.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -245,16 +245,16 @@ def parse_args():
245245
num_procs=args.num_procs,
246246
no_reindex=args.no_reindex)
247247
elif args.command == "filter-allc":
248-
from methylpy.utilities import filter_allc_file
249-
filter_allc_file(allc_files=args.allc_files,
250-
output_files=args.output_files,
251-
num_procs=args.num_procs,
252-
mc_type=args.mc_type,
253-
chroms=args.chroms,
254-
compress_output=args.compress_output,
255-
max_mismatch=args.max_mismatch,
256-
max_mismatch_frac=args.max_mismatch_frac,
257-
min_cov=args.min_cov)
248+
from methylpy.utilities import filter_allc_files
249+
filter_allc_files(allc_files=args.allc_files,
250+
output_files=args.output_files,
251+
num_procs=args.num_procs,
252+
mc_type=args.mc_type,
253+
chroms=args.chroms,
254+
compress_output=args.compress_output,
255+
max_mismatch=args.max_mismatch,
256+
max_mismatch_frac=args.max_mismatch_frac,
257+
min_cov=args.min_cov)
258258

259259
elif args.command == "allc-to-bigwig":
260260
from methylpy.utilities import convert_allc_to_bigwig

methylpy/utilities.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -191,16 +191,16 @@ def convert_allc_to_bigwig(input_allc_file,
191191
subprocess.check_call(shlex.split("rm "+output_file+".wig "+output_file+".chrom_size"))
192192

193193

194-
def filter_allc_file(allc_files,
195-
output_files,
196-
num_procs=1,
197-
mc_type=None,
198-
chroms = None,
199-
compress_output=False,
200-
min_cov=0,
201-
max_mismatch=None,
202-
max_mismatch_frac=None,
203-
buffer_line_number=100000):
194+
def filter_allc_files(allc_files,
195+
output_files,
196+
num_procs=1,
197+
mc_type=None,
198+
chroms = None,
199+
compress_output=False,
200+
min_cov=0,
201+
max_mismatch=None,
202+
max_mismatch_frac=None,
203+
buffer_line_number=100000):
204204

205205
# User input checks
206206
if not isinstance(allc_files, list):

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
setup(
44
name='methylpy',
5-
version='1.1.9',
5+
version='1.2.1',
66
author='Yupeng He',
77
author_email='yupeng.he.bioinfo@gmail.com',
88
packages=['methylpy'],

0 commit comments

Comments
 (0)