view ho2s.py @ 7:98f4b03a05dc draft

"planemo upload commit 5a255cfbba89d13ea62aeaaabd2801ac618cbb6b-dirty"
author diodupima
date Wed, 07 Jul 2021 21:40:56 +0000
parents df9a06bf6692
children 3c7247991227
line wrap: on
line source

import argparse
import os
import subprocess
import datetime
from galaxy.util.json import from_json_string, to_json_string


def script_cli():
    parser = argparse.ArgumentParser()
    parser.add_argument("--file",
                        help="JSON options file",
                        type=str)
    parser.add_argument("--tool_data_table_name",
                        help="Tool data table name",
                        type=str)
    args = parser.parse_args()

    params = from_json_string(open(args.file).read())
    target_directory = params["output_data"][0]["extra_files_path"]
    os.mkdir(target_directory)

    taxid = params["param_dict"]["taxid"]
    node_name = params["param_dict"]["node_name"]
    name = " ".join([node_name, f"(taxid - {taxid})", f"(date - {datetime.datetime.now().strftime('%Y_%m_%d_%H')})"])
    tool_data_table_name = args.tool_data_table_name
    data_id = "_".join([taxid, datetime.datetime.now().strftime("%Y_%m_%d_%H_%M_%S")])

    subprocess.call(f". high_order2species.sh {taxid} {data_id}", shell=True, cwd=target_directory)
    data_table_entry = {
        "value": data_id,
        "name": name,
        "node_name": node_name,
        "path": os.path.join(taxid, data_id)+".txids"
    }
    data_manager_dict = {
        "data_tables": {tool_data_table_name: [data_table_entry]}
    }
    output_json = open(args.file, "w")
    output_json.write(to_json_string(data_manager_dict))
    output_json.close()


if __name__ == "__main__":
    script_cli()