def run_iqtree(phy, model, threads, cluster, node):
<EOL>if threads > <NUM_LIT>:<EOL><INDENT>ppn = <NUM_LIT><EOL><DEDENT>else:<EOL><INDENT>ppn = threads<EOL><DEDENT>tree = '<STR_LIT>' % (phy)<EOL>if check(tree) is False:<EOL><INDENT>if model is False:<EOL><INDENT>model = '<STR_LIT>'<EOL><DEDENT>dir = os.getcwd()<EOL>command = '<STR_LIT>' %(phy, model, threads)<EOL>if cluster is False:<EOL><INDENT>p = Popen(command, shell = True)<EOL><DEDENT>else:<EOL><INDENT>if node is False:<EOL><INDENT>node = '<STR_LIT:1>'<EOL><DEDENT>qsub = '<STR_LIT>' % (node, ppn)<EOL>command = '<STR_LIT>'% (dir, phy, command, dir)<EOL>re_call = '<STR_LIT>' % (dir.rsplit('<STR_LIT:/>', <NUM_LIT:1>)[<NUM_LIT:0>], '<STR_LIT:U+0020>'.join(sys.argv))<EOL>p = Popen('<STR_LIT>' % (command, re_call, qsub), shell = True)<EOL><DEDENT>p.communicate()<EOL><DEDENT>return tree<EOL>
run IQ-Tree