import os import string import sys import math from sys import argv import random try: input = sys.argv[1] except: print ("no Input") seq = open(input+'.pdb', "r").readline() #print (seq) seq = list(seq) #print (seq) residues = ['A', 'R', 'N', 'D', 'C', 'Q', 'E', 'G', 'H', 'I', 'L', 'K', 'M', 'F', 'P', 'S', 'T', 'W', 'Y', 'V'] ### AA Index properties ######## free_energy_water = ['-0.368', '-1.03', '0.00', '2.06', '4.53', '0.731', '1.77', '-0.525', '0.00', '0.791', '1.07', '0.00', '0.656', '1.06', '-2.24', '-0.524', '0.00', '1.60', '4.91', '0.401'] solvation_free = ['0.67', '-2.1', '-0.6', '-1.2', '0.38', '-0.22', '-0.76', '0.0', '0.64', '1.9', '1.9', '-0.57', '2.4', '2.3', '1.2', '0.01', '0.52', '2.6', '1.6', '1.5'] ## EISD860101 sasa_tripep = ['115.0', '225.0', '160.0', '150.0', '135.0', '180.0', '190.0', '75.0', '195.0', '175.0', '170.0', '200.0', '185.0', '210.0', '145.0', '115.0', '140.0', '255.0', '230.0', '155.0'] ## CHOC760101 sasa_fold = ['25.0', '90.0', '63.0', '50.0', '19.0', '71.0', '49.0', '23.0', '43.0', '18.0', '23.0', '97.0', '31.0', '24.0', '50.0', '44.0', '47.0', '32.0', '60.0', '18.0'] ##CHOC760102 #mol_wt = ['89.09', '174.20', '132.12', '133.10', '121.15', '146.15', '147.13', '75.07', '155.16', '131.17', '131.17', '146.19', '149.21', '165.19', '115.13', '105.09', '119.12', '204.24', '181.19', '117.15'] ##FASG760101 #mol_wt = ['89.0', '174.2', '132.1', '133.1', '121.1', '146.1', '147.1', '75.0', '155.1', '131.1', '131.1', '146.1', '149.2', '165.1', '115.1', '105.0', '119.1', '204.2', '181.1', '117.1'] ##FASG760101 mol_wt = ['71.07', '156.18', '114.10', '115.08', '103.14', '128.13', '129.11', '57.05', '137.14', '113.15', '113.15', '128.17', '131.19', '147.17', '97.11', '87.07', '101.10', '186.21', '163.17', '99.13'] ##FASG760101 termini = 1.00+17.00 hydropathy_val = ['51.0', '-144.0', '-84.0', '-78.0', '137.0', '-128.0', '-115.0', '-13.0', '-55.0', '106.0', '103.0', '-205.0', '73.0', '108.0', '-79.0', '-26.0', '-3.0', '69.0', '11.0', '108.0'] ## NADH010102 accessibility_val = ['16.0', '-70.0', '-74.0', '-78.0', '168.0', '-73.0', '-106.0', '-13.0', '50.0', '151.0', '145.0', '-141.0', '124', '189', '-20', '-70', '-38', '145', '53', '123'] ## BIOV880101 arealoss_val = ['0.74', '0.64', '0.63', '0.62', '0.91', '0.62', '0.62', '0.72', '0.78', '0.88', '0.85', '0.52', '0.85', '0.88', '0.64', '0.66', '0.70', '0.85', '0.76', '0.86'] ## ROSG850102 nor_ahelix = ['1.32', '1.04', '0.74', '0.97', '0.70', '1.25', '1.48', '0.59', '1.06', '1.01', '1.22', '1.13', '1.47', '1.10', '0.57', '0.77', '0.86', '1.02', '0.72', '1.05'] ## PALJ810102 avg_helix = ['1.36' ,'1.00' ,'0.89' ,'1.04' ,'0.82' ,'1.14' ,'1.48' ,'0.63' ,'1.11' ,'1.08' ,'1.21' ,'1.22' ,'1.45' ,'1.05' ,'0.52' ,'0.74' ,'0.81' ,'0.97' ,'0.79' ,'0.94'] ## KANM800101 nor_rhelix = ['1.53' ,'1.17' ,'0.60' ,'1.00' ,'0.89' ,'1.27' ,'1.63' ,'0.44' ,'1.03' ,'1.07' ,'1.32' ,'1.26' ,'1.66' ,'1.22' ,'0.25' ,'0.65' ,'0.86' ,'1.05' ,'0.70' ,'0.93'] ## ISOY800101 avg_vol = ['91.5', '196.1', '138.3', '135.2', '114.4', '156.4', '154.6', '67.5', '163.2', '162.6', '163.4', '162.5', '165.9', '198.8', '123.4', '102.0', '126.0', '209.8', '237.2', '138'] ## PONJ960101 vol_nowat = ['90.0', '194.0', '124.7', '117.3', '103.3', '149.4', '142.2', '64.9', '160.0', '163.9', '164.0', '167.3', '167.0', '191.9', '122.9', '95.4', '121.5', '228.2', '197.0', '139.0'] ## TSAJ990102 nor_ndw_vol = ['1.00', '6.13', '2.95', '2.78', '2.43', '3.95', '3.78', '0.00', '4.66', '4.00', '4.00', '4.77', '4.43', '5.89', '2.72', '1.60', '2.60', '8.08', '6.47', '3.00'] ##FAUJ880103 nh_chem = ['8.249', '8.274', '8.747', '8.410', '8.312', '8.411', '8.368', '8.391', '8.415', '8.195', '8.423', '8.408', '8.418', '8.228', '0.0', '8.380', '8.236', '8.094', '8.183', '8.436'] ## BUNA790101 nmr_val = ['7.3', '11.1', '8.0', '9.2', '14.4', '10.6', '11.4', '0.0', '10.2', '16.1', '10.1', '10.9', '10.4', '13.9', '17.8', '13.1', '16.7', '13.2', '13.9', '17.2'] ## FAUJ880107 avg_oocr = ['0.30', '0.90', '2.73', '1.26', '0.72', '0.97', '1.33', '3.09', '1.33', '0.45', '0.96', '0.71', '1.89', '1.20', '0.83', '1.16', '0.97', '1.58', '0.86', '0.64'] ## RACS820106 charge_val = ['0.0', '1.0', '0.0', '-1.0', '0.0', '0.0', '-1.0', '0.0', '0.0', '0.0', '0.0', '1.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0'] ## EP840101 helix_ter = ['1.20', '1.70', '1.20', '0.70', '1.0', '1.0', '0.70', '0.80', '1.20', '0.80', '1.0', '1.70', '1.0', '1.0', '1.0', '1.50', '1.0', '1.0', '1.0', '0.80'] ## A910103 polarity_val = ['0.046', '0.291', '0.134', '0.105', '0.128', '0.180', '0.151', '0.000', '0.230', '0.186', '0.186', '0.219', '0.221', '0.290', '0.131', '0.062', '0.108', '0.409', '0.298', '0.140'] ## CHAM820101 molwt = 0.0 hydropathy = 0.0 accessibility = 0.0 arealoss = 0.0 norahelix = 0.0 avghelix = 0.0 norrhelix = 0.0 avgvol = 0.0 volnowat = 0.0 norndwvol = 0.0 nhchem = 0.0 nmrval = 0.0 avgoocr = 0.0 chargeval = 0.0 helixter = 0.0 polarityval = 0.0 tyr = 0 trp = 0 cys = 0 ala = 0 val = 0 ile = 0 leu = 0 seq_old = list(seq) for i in range(0,len(seq_old)): aa = seq_old[i] for j in range(0,len(residues)): resi = residues[j] if aa == resi: molwt = molwt + float(mol_wt[j]) hydropathy = hydropathy + float(hydropathy_val[j]) accessibility = accessibility + float(accessibility_val[j]) arealoss = arealoss + float(arealoss_val[j]) norahelix = norahelix + float(nor_ahelix[j]) avghelix = avghelix + float(avg_helix[j]) norrhelix = norrhelix + float(nor_rhelix[j]) avgvol = avgvol + float(avg_vol[j]) volnowat = volnowat + float(vol_nowat[j]) norndwvol = norndwvol + float(nor_ndw_vol[j]) nhchem = nhchem + float(nh_chem[j]) nmrval = nmrval + float(nmr_val[j]) avgoocr = avgoocr + float(avg_oocr[j]) chargeval = chargeval + float(charge_val[j]) helixter = helixter + float(helix_ter[j]) polarityval = polarityval + float(polarity_val[j]) if aa == 'Y': tyr = tyr + 1 elif aa == 'W': trp = trp + 1 elif aa == 'C': cys = cys + 1 elif aa == 'A': ala = ala + 1 elif aa == 'V': val = val + 1 elif aa == 'L': leu = leu + 1 elif aa == 'I': ile = ile + 1 totmolwt = molwt+termini extinction_coeff = (tyr * 1490) + (trp * 5500) ala_ndx = ((ala * float(mol_wt[0]))/totmolwt) * 100 val_ndx = ((val * float(mol_wt[19]))/totmolwt) * 100 ile_ndx = ((ile * float(mol_wt[9]))/totmolwt) * 100 leu_ndx = ((leu * float(mol_wt[10]))/totmolwt) * 100 aliphatic_ndx = ala_ndx + (val_ndx * 2.9) + (leu_ndx * 3.9) + (ile_ndx * 3.9) print mol_wt[0], mol_wt[19], mol_wt[9], mol_wt[10], molwt, totmolwt print "molwt=", totmolwt print "hydropathy=", hydropathy print "accessibility=", accessibility print "arealoss=", arealoss print "norahelix=", norahelix print "avghelix=", avghelix print "norrhelix=", norrhelix print "avgvol=", avgvol print "volnowat=", volnowat print "norndwvol=", norndwvol print "nhchem=", nhchem print "nmrval=", nmrval print "avgoocr=", avgoocr print "chargeval=", chargeval print "helixter=", helixter print "polarityval=", polarityval print "molar_ex_coeff=", extinction_coeff print "aliphatic_index=", aliphatic_ndx