import argparse from deriva.core import ErmrestCatalog, get_credential, BaseCLI import sys import csv def get_args(): parser = argparse.ArgumentParser() parser.add_argument('-f', '--file', help="file name", required=True) parser.add_argument('-l', '--loc', help="datahub location", required=True) parser.add_argument('-s', '--md5', help="md5 sum", required=True) parser.add_argument('-b', '--bytes', help="size in bytes", required=True) parser.add_argument('-n', '--name', help="reference name", default="", required=False) parser.add_argument('-r', '--rVersion', help="reference version", default="", required=False) parser.add_argument('-a', '--aVersion', help="annotation version", default="", required=False) parser.add_argument('-p', '--species', help="species", default="", required=False) parser.add_argument('-i', '--spike', help="spike-in", default="", required=False) parser.add_argument('-o', '--host', help="datahub host", required=True) parser.add_argument('-c', '--cookie', help="cookie token", required=True) args = parser.parse_args() return args def main(hostname, catalog_number, credential): catalog = ErmrestCatalog('https', hostname, catalog_number, credential) pb = catalog.getPathBuilder() ref_table = pb.RNASeq.Reference_Genome ref_data = { "File_Name": args.file, "File_URL": args.loc, "File_MD5": args.md5, "File_Bytes": args.bytes, "Name": args.name, "Reference_Version": args.rVersion, "Annotation_Version": args.aVersion, "Species": args.species, "Used_Spike_Ins": args.spike } entities = ref_table.insert([ref_data]) rid = entities[0]["RID"] print(rid) if __name__ == '__main__': args = get_args() cli = BaseCLI("Custom RNASeq query", None, 1) cli.remove_options(["--config-file"]) host = args.host credential = {"cookie": args.cookie} main(host, 2, credential)