68 lines
1.8 KiB
Python
Executable file
68 lines
1.8 KiB
Python
Executable file
#!/home/tanu/anaconda3/envs/ContactMap/bin/python3
|
|
# Read a DSSP file into a data frame and pretty-print it
|
|
|
|
#https://jbloomlab.github.io/dms_tools2/dms_tools2.dssp.html
|
|
import sys, os
|
|
import pandas as pd
|
|
import pprint as pp
|
|
import dms_tools2
|
|
import dms_tools2.dssp
|
|
|
|
#%%
|
|
# my working dir
|
|
homedir = os.path.expanduser('~') # spyder/python doesn't recognise tilde
|
|
os.getcwd()
|
|
os.chdir(homedir + '/git/LSHTM_analysis/meta_data_analysis/struct_params')
|
|
os.getcwd()
|
|
#%%
|
|
# sample example
|
|
dssp_file = "./3pl1.dssp"
|
|
dssp_df = dms_tools2.dssp.processDSSP(dssp_file, chain='A')
|
|
|
|
# outputs to console
|
|
#returns df with ASA and RSA (base on Tien at al 2013 (theor.) values)
|
|
#Link: https://en.wikipedia.org/wiki/Relative_accessible_surface_area
|
|
pp.pprint(dssp_df)
|
|
|
|
# write to csv
|
|
dssp_df.to_csv('3pl1_dssp_df', header=True, index = False)
|
|
|
|
#%% specify variables for input and output paths and filenames
|
|
drug = "pyrazinamide"
|
|
#gene = "pnca"
|
|
|
|
datadir = homedir + "/git/Data"
|
|
basedir = datadir + "/" + drug + "/input"
|
|
|
|
# input
|
|
inpath = "/processed"
|
|
in_filename = "/3pl1.dssp"
|
|
infile = basedir + inpath + in_filename
|
|
#print(infile)
|
|
|
|
# output file
|
|
outpath = "/output"
|
|
outdir = datadir + "/" + drug + outpath
|
|
out_filename = "/3pl1_dssp_df"
|
|
outfile = outdir + out_filename
|
|
print(outdir); print(outfile)
|
|
|
|
if not os.path.exists(datadir):
|
|
print('Error!', datadir, 'does not exist. Please ensure it exists. Dir struc specified in README.md')
|
|
os.makedirs(datadir)
|
|
exit()
|
|
|
|
if not os.path.exists(outdir):
|
|
print('Error!', outdir, 'does not exist.Please ensure it exists. Dir struc specified in README.md')
|
|
exit()
|
|
|
|
else:
|
|
print('Dir exists: Carrying on')
|
|
# end of variable assignment for input and output files
|
|
#%% <----- fixme
|
|
dssp_file = infile
|
|
dssp_df = dms_tools2.dssp.processDSSP(dssp_file, chain='A')
|
|
|
|
#%%
|
|
# write to csv
|
|
dssp_df.to_csv(outfile, header=True, index = False)
|