Snippets

Biosig Lab mmCSM-Lig API scripts

Created by Yoochan Myung last modified
import argparse
import requests
import sys

URL = "http://biosig.lab.uq.edu.au/mmcsm_lig/api/prediction_api"

def main(args):
    job_id = args.job_id

    params = {
        "job_id": job_id,
    }

    req = requests.get(URL, data=params)
    print(req.json())
    return True

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='Retrieve job results for single prediction - CSM-AB')
    parser.add_argument('--job_id', dest='job_id', type=str, help='Job identifier code generated upon submission', required=False, default=None)

    args = parser.parse_args()
    if args.job_id == None:
        print('usage: get.py [-h] [--job_id JOB_ID]')
        print('get.py: error: missing arguments: Please provide --job_id')
        sys.exit(1)

    main(args)
import argparse
import requests
import sys

URL = "http://biosig.lab.uq.edu.au/mmcsm_lig/api/prediction_api"

def main(args):
    pdb_file = args.pdb_file
    pdb_accession = args.pdb_accession
    mutations = args.mutations
    mutation_file = args.mutation_file
    ligand_id = args.ligand_id
    smiles = args.smiles

    if pdb_accession:
        if mutations:
            data = {"pdb_accession":pdb_accession,"mutations":mutations,"ligand_id":ligand_id,'smiles':smiles}
            req = requests.post(URL, data=data)
            print(req.json())
        else:
            data = {"pdb_accession":pdb_accession,"ligand_id":ligand_id,'smiles':smiles}
            files = {"mutation_file":mutation_file}
            req = requests.post(URL, data=data, files=files)
            print(req.json())
    else:
        if mutations:
            data = {"mutations":mutations,"ligand_id":ligand_id,'smiles':smiles}
            files = {"pdb_file": pdb_file}
            req = requests.post(URL, data=data, files=files)
            print(req.json())
        else:
            data = {"ligand_id":ligand_id,'smiles':smiles}
            files = {"pdb_file": pdb_file,"mutation_file":mutation_file}
            req = requests.post(URL, data=data, files=files)
            print(req.json())
    return True

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='Job submission for single prediction - mmCSM-Lig')
    parser.add_argument('--pdb_file', dest='pdb_file', type=argparse.FileType('r'), help='PDB file')
    parser.add_argument('--pdb_accession', dest='pdb_accession', type=str, help='Type PDB-ID')
    parser.add_argument('--mutations', dest='mutations', type=str, help='Mutation list')
    parser.add_argument('--mutation_file', dest='mutation_file', type=argparse.FileType('r'), help='Mutation file')
    parser.add_argument('--ligand_id', dest='ligand_id', required=True, type=str, help='Ligand ID')
    parser.add_argument('--smiles', dest='smiles', required=True, type=str, help='SMILES')

    args = parser.parse_args()

    if (args.pdb_file == None and args.pdb_accession == None) or (args.mutations == None and args.mutation_file == None) or (args.ligand_id == None):
        print('usage: post.py [-h] [--pdb_file PDB_FILE] [--pdb_accession pdb_accession] [--mutations mutation_list] [--mutation_file mutation_file] [--ligand_id ligand_id] [--smiles SMILES]')
        print('example: python post.py --pdb_accession 3CL0 --mutations AF132K,AD151A --ligand_id G39 --smiles C(=O)(O)[C@@H]1C[C@@H]([C@@H](NC(=O)C)[C@@H](C1)OC(CC)CC)N')
        print('post.py: error: missing arguments: Please provide correct arguments')
        sys.exit(1)
    main(args)

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.