1. mirnylab
  2. hiclib

Commits

Anton Goloborodko  committed 06e335e

mapping.py: fix a bug with subprocess throwing OSError exception

  • Participants
  • Parent commits 40aef8d
  • Branches default

Comments (0)

Files changed (1)

File src/hiclib/mapping.py

View file
  • Ignore whitespace
         else:
             bash_reader = 'cat'
     else:
-        bash_reader = os.path.abspath(os.path.expanduser(bash_reader))
-        if not os.path.isfile(bash_reader.split()[0]):
-            raise Exception(
-                'The bash reader is not found '
-                'at the specified location {0}.'.format(bash_reader))
+        if subprocess.call(['which', bash_reader]) != 0:
+            bash_reader = os.path.abspath(os.path.expanduser(bash_reader))
+            if not os.path.isfile(bash_reader.split()[0]):
+                raise Exception(
+                    'The bash reader is not found '
+                    'at the specified location {0}.'.format(bash_reader))
 
     reading_command = bash_reader.split() + [fastq_path, ]
 
         log.info('Bash reader is not trivial, read input with %s, store in %s',
                  ' '.join(reading_command), converted_fastq)
         converting_process = subprocess.Popen(
-            reading_command,
-            stdout=open(converted_fastq, 'w'))
+            ' '.join(reading_command),
+            stdout=open(converted_fastq, 'w'),
+            shell=True)
         converting_process.wait()
 
         kwargs['bash_reader'] = 'cat'