diff macs21_wrapper.py @ 8:78c15c0a96ae draft

Uploaded new version with minor fixes and updates to help text.
author pjbriggs
date Tue, 21 Apr 2015 10:33:52 -0400
parents 0c6b14f3fefc
children 4e85d68a2347
line wrap: on
line diff
--- a/macs21_wrapper.py	Tue Apr 21 08:29:16 2015 -0400
+++ b/macs21_wrapper.py	Tue Apr 21 10:33:52 2015 -0400
@@ -80,6 +80,7 @@
         if genome_build == '?':
             # No genome build set
             sys.stderr.write("ERROR genome build not set, cannot get sizes for '?'\n")
+            sys.stderr.write("Assign a genome build to your input dataset and rerun\n")
             sys.exit(1)
         print "Missing chrom sizes file, attempting to fetch for '%s'" % genome_build
         # Run fetchChromSizes
@@ -94,9 +95,10 @@
         # Copy stderr from fetchChromSizes for information only
         for line in open(stderr_file,'r'):
             print line.strip()
+        os.remove(stderr_file)
         # Check that the sizes file was downloaded
         if not os.path.exists(chrom_sizes):
-            sys.stderr.write("Failed to download chrom sizes for '%s'" % genome_build)
+            sys.stderr.write("Failed to download chrom sizes for '%s'\n" % genome_build)
             sys.exit(1)
     # Run bedClip
     treat_clipped = "%s.clipped" % os.path.basename(bedgraph_file)
@@ -107,7 +109,7 @@
     # Check that clipped file exists
     treat_clipped = os.path.join(working_dir,treat_clipped)
     if not os.path.exists(treat_clipped):
-        sys.stderr.write("Failed to create clipped bed file")
+        sys.stderr.write("Failed to create clipped bed file\n")
         sys.exit(1)
     # Run bedGraphToBigWig
     cmd = "bedGraphToBigWig %s %s %s" % (treat_clipped,chrom_sizes,
@@ -115,6 +117,10 @@
     print "Running %s" % cmd
     proc = subprocess.Popen(args=cmd,shell=True,cwd=working_dir)
     proc.wait()
+    # Clean up temporary chrom length file
+    if os.path.dirname(chrom_sizes) == working_dir:
+        print "Removing temporary chrom sizes file"
+        os.remove(chrom_sizes)
 
 if __name__ == "__main__":