LSHTM_analysis/mcsm_ppi2/run_format_results_mcsm_ppi2.py

82 lines
3.1 KiB
Python
Executable file

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Feb 12 12:15:26 2021
@author: tanu
"""
#%% load packages
import sys, os
homedir = os.path.expanduser('~')
#sys.path.append(homedir + '/git/LSHTM_analysis/mcsm_ppi2')
from format_results_mcsm_ppi2 import *
########################################################################
#%% command line args
arg_parser = argparse.ArgumentParser()
arg_parser.add_argument('-d', '--drug' , help = 'drug name (case sensitive)', default = None)
arg_parser.add_argument('-g', '--gene' , help = 'gene name (case sensitive)', default = None)
arg_parser.add_argument('--datadir' , help = 'Data Directory. By default, it assmumes homedir + git/Data')
arg_parser.add_argument('-i', '--input_dir' , help = 'Input dir containing pdb files. By default, it assmumes homedir + <drug> + input')
arg_parser.add_argument('-o', '--output_dir', help = 'Output dir for results. By default, it assmes homedir + <drug> + output')
arg_parser.add_argument('--input_file' , help = 'Output dir for results. By default, it assmes homedir + <drug> + output')
#arg_parser.add_argument('--mkdir_name' , help = 'Output dir for processed results. This will be created if it does not exist')
arg_parser.add_argument('-m', '--make_dirs' , help = 'Make dir for input and output', action='store_true')
arg_parser.add_argument('--debug' , action = 'store_true' , help = 'Debug Mode')
args = arg_parser.parse_args()
#%%============================================================================
# variable assignment: input and output paths & filenames
drug = args.drug
gene = args.gene
datadir = args.datadir
indir = args.input_dir
outdir = args.output_dir
infile_mcsm_ppi2 = args.input_file
#outdir_ppi2 = args.mkdir_name
make_dirs = args.make_dirs
#=======
# dirs
#=======
if not datadir:
datadir = homedir + '/git/Data/'
if not indir:
indir = datadir + drug + '/input/'
if not outdir:
outdir = datadir + drug + '/output/'
#if not mkdir_name:
# outdir_ppi2 = outdir + 'mcsm_ppi2/'
outdir_ppi2 = outdir + 'mcsm_ppi2/'
# Input file
if not infile_mcsm_ppi2:
infile_mcsm_ppi2 = outdir_ppi2 + gene.lower() + '_output_combined_clean.csv'
# Formatted output file
outfile_mcsm_ppi2_f = outdir_ppi2 + gene.lower() + '_complex_mcsm_ppi2_norm.csv'
#==========================
# CALL: format_results_mcsm_na()
# Data: gid+streptomycin
#==========================
print('Formatting results for:', infile_mcsm_ppi2)
mcsm_ppi2_df_f = format_mcsm_ppi2_output(mcsm_ppi2_output_csv = infile_mcsm_ppi2, gene_name = gene)
# writing file
print('Writing formatted df to csv')
mcsm_ppi2_df_f.to_csv(outfile_mcsm_ppi2_f, index = False)
print('Finished writing file:'
, '\nFile:', outfile_mcsm_ppi2_f
, '\nExpected no. of rows:', len(mcsm_ppi2_df_f)
, '\nExpected no. of cols:', len(mcsm_ppi2_df_f.columns)
, '\n=============================================================')
#%%#####################################################################