Skip to content
Snippets Groups Projects
public
Authored by avatar Gervaise Henry @ghenry :cowboy:

upload_reference_genome

Python script used to upload references to the GUDMAP/RBK data-hub.

NOT intended to be used independently, is is meant to be use by snippet #31

Edited
Embed
Share
  • Clone with SSH
  • Clone with HTTPS
  • upload_reference_genome.py 1.94 KiB
    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)
    0% or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment