#!/usr/bin/env python """ Copyright 2015, Daehwan Kim This file is part of HISAT 2. HISAT 2 is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. HISAT 2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with HISAT 2. If not, see . """ import os import imp import inspect import logging def main(): logging.basicConfig(level=logging.ERROR, format='%(levelname)s: %(message)s' ) inspect_bin_name = "hisat2-inspect" inspect_bin_s = "hisat2-inspect-s" inspect_bin_l = "hisat2-inspect-l" idx_ext_l = '.1.ht2l'; idx_ext_s = '.1.ht2'; curr_script = os.path.realpath(inspect.getsourcefile(main)) ex_path = os.path.dirname(curr_script) inspect_bin_spec = os.path.join(ex_path,inspect_bin_s) bld = imp.load_source('hisat2-build',os.path.join(ex_path,'hisat2-build')) options,arguments = bld.build_args() if '--verbose' in options: logging.getLogger().setLevel(logging.INFO) if '--debug' in options: inspect_bin_spec += '-debug' inspect_bin_l += '-debug' if '--large-index' in options: inspect_bin_spec = os.path.join(ex_path,inspect_bin_l) elif len(arguments) >= 1: idx_basename = arguments[-1] large_idx_exists = os.path.exists(idx_basename + idx_ext_l) small_idx_exists = os.path.exists(idx_basename + idx_ext_s) if large_idx_exists and not small_idx_exists: inspect_bin_spec = os.path.join(ex_path,inspect_bin_l) arguments[0] = inspect_bin_name arguments.insert(1, 'basic-0') arguments.insert(1, '--wrapper') logging.info('Command: %s %s' % (inspect_bin_spec,' '.join(arguments[1:]))) os.execv(inspect_bin_spec, arguments) if __name__ == "__main__": main()