diff --git a/CHANGES b/CHANGES index 0d4abd3..fe25da5 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +## 2.0.4 (2019-01-30) +- fixed split command line call: should now work on different linux versions + ## 2.0.3 (2019-01-10) - fixed critical features bug, now empty or multiple features in config are possible diff --git a/setup.py b/setup.py index 9b21a21..ee184dd 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ def readme(): return f.read() setup(name='uropa', - version='2.0.3', + version='2.0.4', description='UROPA is a command line based tool, intended for genomic region annotation', long_description=readme(), url='https://github.molgen.mpg.de/loosolab/UROPA', diff --git a/uropa/uropa.py b/uropa/uropa.py index 4c29e58..cb04059 100644 --- a/uropa/uropa.py +++ b/uropa/uropa.py @@ -95,7 +95,7 @@ def main(): "--version", help="prints the version and exits", action="version", - version="%(prog)s 2.0.3") + version="%(prog)s 2.0.4") args = parser.parse_args() config = args.input @@ -278,13 +278,19 @@ def main(): logger.info("Multiprocessing: Peak file will be split in %s smaller files.", args.threads) if not os.path.exists(spl_dir): os.makedirs(spl_dir) - cmd = ['split', - '-n l/' + str(args.threads), - peaks_bed, - spl_dir + 'spl_peak_'] - + chunks = args.threads - 1 + #cmd = ['split', + # '-n l/' + str(args.threads), + # peaks_bed, + # spl_dir + 'spl_peak_'] + + cmd = ["split", "-l $(expr `wc", peaks_bed, + "| cut -d ' ' -f3` /", str(chunks), ")", peaks_bed, spl_dir + 'spl_peak_' + ] + try: - sp.check_call(cmd, stderr=open(os.devnull, 'w')) + #sp.check_call(cmd, stderr=open(os.devnull, 'w')) + os.system(str(" ".join(cmd))) except sp.CalledProcessError: args.threads = 1 logger.warning(