automate.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:paladin-plugins 作者: twestbrookunh 项目源码 文件源码
def automateMain(passArguments):
    # Parse arguments 
    argParser = argparse.ArgumentParser(description='PALADIN Pipeline Plugins: Automate', prog='automate')
    argParser.add_argument('reference', metavar='REFERENCE', type=str, help='Reference database')
    argParser.add_argument('root', metavar='ROOT', type=str, help='Root path to search') 
    argParser.add_argument('pattern', metavar='PATTERN', type=str, help='Input reads search pattern')
    argParser.add_argument('options', metavar='OPTIONS', type=str, nargs=argparse.REMAINDER, help='PALADIN options')
    arguments = argParser.parse_known_args(shlex.split(passArguments))

    for root, dirs, files in os.walk(arguments[0].root):
        for fileName in files:
            if not re.search(arguments[0].pattern, fileName): continue

            # Matching input sequence, execute PALADIN
            baseName = fileName
            if '.' in baseName: baseName = baseName[:baseName.index('.')]
            baseName = os.path.join(root, baseName)
            fullFile = os.path.join(root, fileName) 

            command = "paladin align {0} {1} -o {2} {3}".format(arguments[0].reference, fullFile, baseName, ' '.join(arguments[0].options))
            output = subprocess.check_output(command, stderr=subprocess.STDOUT, shell=True)

            with open("{0}.log".format(baseName), 'wb') as fileHandle:
                fileHandle.write(output)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号