mmtbx.rotamer package

Submodules

mmtbx.rotamer.graphics module

mmtbx.rotamer.graphics.draw_ramachandran_plot(ramalyze_data, rotarama_data, position_type, file_name, show_labels=True)
mmtbx.rotamer.graphics.draw_rotamer_plot(rotalyze_data, rotarama_data, residue_name, file_name, show_labels=True)
mmtbx.rotamer.graphics.format_ramachandran_plot_title(position_type, residue_type)
mmtbx.rotamer.graphics.get_residue_ramachandran_data(ramalyze_data, position_type, residue_name, point_type)
mmtbx.rotamer.graphics.get_residue_rotamer_data(rotalyze_data, residue_name, point_type)
class mmtbx.rotamer.graphics.ramachandran_plot(*args, **kwds)

Bases: simple_matplotlib_plot, ramachandran_plot_mixin

class mmtbx.rotamer.graphics.ramachandran_plot_mixin

Bases: rotarama_plot_mixin

extent = [-179, 179, -179, 179]
set_labels(y_marks=())
class mmtbx.rotamer.graphics.rotamer_plot(*args, **kwds)

Bases: simple_matplotlib_plot, rotamer_plot_mixin

class mmtbx.rotamer.graphics.rotamer_plot_mixin

Bases: rotarama_plot_mixin

set_labels(y_marks=(60, 180, 300))
class mmtbx.rotamer.graphics.rotarama_plot_mixin

Bases: object

draw_plot(stats, title, points=None, show_labels=True, colormap='jet', contours=None, xyz=None, extent=None, y_marks=None)
extent = [0, 360, 0, 360]

mmtbx.rotamer.n_dim_table module

class mmtbx.rotamer.n_dim_table.NDimTable

Bases: object

bin2index(bin)

Given bin indices, return a single index into the linear array

bin2index_limit(bin)

Given bin indices, return a single index into the linear array.

If no bin can be found after wrapping is applied, the edge of the table is used.

centerOf(bin)

Returns coordinates for the center of the bin given by these indices

clampInclusive(minVal, theVal, maxVal)

Forces theVal into the range from minVal to maxVal (inclusive)

static createFromText(infile)

Loads rotamer or Ramachandran data from a text file, returning a new object.

Can pass in either a file handle or a file name

setValueAt(bin, val)

Given bin indices, set the value in the table

valueAt(pt)

Estimates the value of the density trace at a given position, using linear interpolation.

This algorithm basically consults the 2^n bins nearest in space to the input point, and weights their contributions according to their distances.

To get a feeling for how it works, work out a linear interpolation in one dimension ( a…x…….b – what is x in terms of a and b? )(trivial) and then in two dimensions (still fairly easy – do one dimension first, then interpolate between those results).

In dimensions very near the edge of the table, no interpolation is performed in that dimension (it would be impossible to do so, anyway, because there’s no 2nd value to interpolate out to).

pt - the point at which the value should be estimated returns - the approximate value of the density trace at the specified point

whereIs(coords)

Given a set of coordinates, return the bin indices

wrapbin(iBin, dim)

Wrap bin indices for each dimension in which it is appropriate

mmtbx.rotamer.ramachandran_eval module

class mmtbx.rotamer.ramachandran_eval.RamachandranEval

Bases: object

check_table_name(name)
evaluate(aaName, phiPsi)
evaluate_sites(aaName, phi_psi_i_seqs, sites_cart)

mmtbx.rotamer.rotamer_eval module

class mmtbx.rotamer.rotamer_eval.NamedRot(aa, rotamer_name, bounds)

Bases: object

contains(angles)
class mmtbx.rotamer.rotamer_eval.RotamerEval(sidechain_angles=None, mon_lib_srv=None, log=None, data_version='8000')

Bases: object

aaTables = {}
chi_angles(residue)
evaluate(aaName, chiAngles)

Evaluates the specified rotamer from 0.0 (worst) to 1.0 (best).

Values below 0.003 are generally considered outliers. If the 3-letter amino acid name is not recognized, returns None.

evaluate_residue(residue=None, residue_group=None)
evaluate_residue_2(residue=None)
get_atom_dict(residue)
nearest_rotamer_sites_cart(residue)
class mmtbx.rotamer.rotamer_eval.RotamerID

Bases: object

find_source_dir()
identify(aa_name, chis)
names = {}
process(fileLoc)
wrap_chis(aa_name, chis, symmetry=True)
wrap_sym(aa_name, wrap_chis)
mmtbx.rotamer.rotamer_eval.eval_residue_completeness(residue, mon_lib_srv, ignore_hydrogens=True)
mmtbx.rotamer.rotamer_eval.eval_sidechain_completeness(pdb_hierarchy, mon_lib_srv=None, ignore_hydrogens=True, report_whole_res=False, return_ca_pos=False)
mmtbx.rotamer.rotamer_eval.exercise(args)
mmtbx.rotamer.rotamer_eval.find_rotarama_data_dir(optional=False)
mmtbx.rotamer.rotamer_eval.mon_lib_query(residue, mon_lib_srv)
mmtbx.rotamer.rotamer_eval.open_rotarama_dlite(rotarama_data_dir=None)

mmtbx.rotamer.sidechain_angles module

class mmtbx.rotamer.sidechain_angles.PropertyFile

Bases: object

process(fileLoc)
class mmtbx.rotamer.sidechain_angles.SidechainAngles(show_errs)

Bases: object

anglesForAA = {'ala': [''], 'arg': ['chi1', 'chi2', 'chi3', 'chi4'], 'asn': ['chi1', 'chi2'], 'asp': ['chi1', 'chi2'], 'cys': ['chi1'], 'gln': ['chi1', 'chi2', 'chi3'], 'glu': ['chi1', 'chi2', 'chi3'], 'gly': [''], 'his': ['chi1', 'chi2'], 'ile': ['chi1', 'chi2'], 'leu': ['chi1', 'chi2'], 'lys': ['chi1', 'chi2', 'chi3', 'chi4'], 'met': ['chi1', 'chi2', 'chi3'], 'mse': ['chi1', 'chi2', 'chi3'], 'phe': ['chi1', 'chi2'], 'pro': ['chi1', 'chi2', 'chi3'], 'ser': ['chi1'], 'thr': ['chi1'], 'trp': ['chi1', 'chi2'], 'tyr': ['chi1', 'chi2'], 'val': ['chi1']}
anglesForRot = {'arg.mmm-85': ['-63.50', '-67.58', '-60.74', '-86.16'], 'arg.mmm160': ['-61.83', '-66.17', '-64.22', '163.15'], 'arg.mmp-170': ['-64.12', '-65.48', '85.87', '-167.05'], 'arg.mmp80': ['-62.53', '-75.13', '74.41', '77.83'], 'arg.mmt-90': ['-63.81', '-68.99', '-175.18', '-91.02'], 'arg.mmt180': ['-61.91', '-68.37', '-176.97', '-176.34'], 'arg.mmt90': ['-60.70', '-68.41', '179.44', '90.02'], 'arg.mpp-170': ['-78.88', '81.73', '65.06', '-166.90'], 'arg.mpp80': ['-76.74', '81.85', '57.99', '84.63'], 'arg.mpt-90': ['-78.78', '74.66', '177.66', '-87.85'], 'arg.mpt180': ['-84.59', '69.33', '173.63', '174.44'], 'arg.mpt90': ['-76.13', '84.67', '170.24', '93.43'], 'arg.mtm-85': ['-68.28', '-171.66', '-63.90', '-88.07'], 'arg.mtm110': ['-68.13', '-177.01', '-68.92', '112.87'], 'arg.mtm180': ['-66.41', '179.03', '-67.43', '172.92'], 'arg.mtp-110': ['-65.06', '179.09', '66.41', '-109.64'], 'arg.mtp180': ['-66.45', '178.98', '66.42', '-171.57'], 'arg.mtp85': ['-66.33', '177.77', '64.64', '87.72'], 'arg.mtt-85': ['-67.01', '-178.55', '-176.24', '-88.80'], 'arg.mtt180': ['-67.38', '179.85', '-179.13', '177.09'], 'arg.mtt90': ['-67.68', '179.86', '178.90', '90.60'], 'arg.pmm-80': ['73.64', '-75.96', '-56.79', '-81.27'], 'arg.pmm150': ['75.58', '-75.44', '-64.97', '152.00'], 'arg.pmt-80': ['81.23', '-68.14', '-176.90', '-84.06'], 'arg.pmt100': ['70.21', '-90.54', '-174.19', '97.85'], 'arg.pmt170': ['73.96', '-78.97', '-169.42', '-169.44'], 'arg.ppp-140': ['58.43', '91.76', '62.26', '-143.46'], 'arg.ppp80': ['62.20', '86.59', '57.22', '79.69'], 'arg.ppt-90': ['61.77', '90.21', '177.66', '-92.25'], 'arg.ppt170': ['59.13', '87.63', '173.54', '173.35'], 'arg.ppt90': ['63.54', '99.25', '-179.89', '87.26'], 'arg.ptm-80': ['65.37', '-178.47', '-66.03', '-84.52'], 'arg.ptm160': ['63.48', '-179.11', '-67.15', '165.34'], 'arg.ptp-110': ['67.60', '-179.67', '64.78', '-108.30'], 'arg.ptp-170': ['67.37', '-175.63', '68.23', '-172.29'], 'arg.ptp90': ['65.17', '178.85', '64.04', '87.87'], 'arg.ptt-90': ['66.30', '-175.12', '-176.52', '-87.10'], 'arg.ptt180': ['65.30', '-177.45', '-179.81', '179.15'], 'arg.ptt90': ['64.93', '178.80', '176.61', '87.63'], 'arg.tmm-80': ['-174.29', '-86.37', '-56.43', '-82.11'], 'arg.tmm160': ['-172.15', '-90.07', '-61.28', '163.76'], 'arg.tmt-80': ['-174.44', '-92.93', '-177.76', '-85.00'], 'arg.tmt170': ['-173.87', '-91.31', '-173.54', '-170.97'], 'arg.tmt90': ['-178.40', '-93.56', '-177.88', '87.03'], 'arg.tpm-80': ['-177.26', '78.52', '-80.36', '-79.82'], 'arg.tpm170': ['178.32', '70.42', '-85.34', '171.67'], 'arg.tpp-160': ['178.90', '65.56', '65.34', '-167.68'], 'arg.tpp80': ['-177.76', '65.21', '59.81', '84.21'], 'arg.tpt-90': ['179.34', '67.14', '-179.67', '-89.39'], 'arg.tpt170': ['-178.83', '66.31', '177.96', '171.35'], 'arg.tpt90': ['178.93', '65.74', '178.59', '86.35'], 'arg.ttm-80': ['-174.13', '179.28', '-64.73', '-84.52'], 'arg.ttm110': ['-175.26', '178.64', '-64.31', '112.81'], 'arg.ttm170': ['-177.28', '176.94', '-67.80', '171.21'], 'arg.ttp-110': ['-174.74', '177.16', '64.60', '-113.46'], 'arg.ttp-170': ['-175.45', '179.36', '66.85', '-171.04'], 'arg.ttp80': ['-177.38', '179.65', '62.98', '82.89'], 'arg.ttt-90': ['-176.75', '177.85', '-178.26', '-89.59'], 'arg.ttt180': ['-176.22', '176.47', '178.54', '179.25'], 'arg.ttt90': ['-176.16', '176.12', '176.45', '86.74'], 'asn.m-40': ['-69.79', '-41.67'], 'asn.m110': ['-63.57', '114.58'], 'asn.p0': ['63.76', '6.66'], 'asn.t0': ['-171.47', '-1.49'], 'asn.t160': ['-161.34', '163.60'], 'asp.m-30': ['-68.82', '-29.21'], 'asp.p0': ['62.91', '-2.10'], 'asp.t0': ['-171.50', '-1.70'], 'asp.t70': ['-174.21', '74.19'], 'cys.m': ['-65.37'], 'cys.p': ['64.54'], 'cys.t': ['-177.60'], 'gln.mm-40': ['-63.70', '-66.03', '-38.67'], 'gln.mm110': ['-65.09', '-62.55', '109.26'], 'gln.mp-120': ['-72.53', '69.33', '-119.63'], 'gln.mp10': ['-66.52', '81.84', '17.34'], 'gln.mt0': ['-66.59', '179.22', '-3.56'], 'gln.pm20': ['69.58', '-84.39', '16.58'], 'gln.pp30': ['62.99', '83.80', '29.84'], 'gln.pt0': ['64.89', '-177.47', '-2.75'], 'gln.tm-30': ['-171.95', '-85.65', '-29.40'], 'gln.tm130': ['-171.73', '-75.89', '127.25'], 'gln.tp-100': ['-176.96', '62.13', '-104.70'], 'gln.tp40': ['-176.82', '66.43', '41.06'], 'gln.tt0': ['-176.32', '177.56', '2.03'], 'glu.mm-30': ['-66.00', '-66.54', '-31.66'], 'glu.mp0': ['-66.88', '82.55', '3.35'], 'glu.mt-10': ['-66.99', '179.21', '-6.60'], 'glu.pm20': ['69.04', '-84.71', '15.81'], 'glu.pp20': ['61.25', '85.64', '19.65'], 'glu.pt0': ['65.36', '-177.31', '1.20'], 'glu.tm-30': ['-170.33', '-83.40', '-28.72'], 'glu.tp30': ['-178.17', '64.99', '25.78'], 'glu.tt0': ['-176.68', '177.90', '1.12'], 'his.m-70': ['-64.46', '-75.23'], 'his.m170': ['-67.98', '170.97'], 'his.m90': ['-65.66', '88.48'], 'his.p-80': ['64.77', '-80.84'], 'his.p90': ['62.49', '86.56'], 'his.t-170': ['-173.31', '-167.11'], 'his.t-90': ['-173.49', '-86.78'], 'his.t70': ['-178.42', '73.87'], 'ile.mm': ['-59.02', '-61.13'], 'ile.mp': ['-62.67', '88.68'], 'ile.mt': ['-63.00', '169.24'], 'ile.pp': ['57.85', '84.31'], 'ile.pt': ['62.07', '170.33'], 'ile.tp': ['-167.34', '65.77'], 'ile.tt': ['-169.61', '166.62'], 'leu.mm': ['-82.80', '-63.91'], 'leu.mp': ['-77.36', '71.50'], 'leu.mt': ['-65.79', '174.35'], 'leu.pp': ['61.36', '83.11'], 'leu.pt': ['72.74', '164.80'], 'leu.tm': ['-171.75', '-75.04'], 'leu.tp': ['-177.28', '62.59'], 'leu.tt': ['-172.48', '153.40'], 'lys.mmmm': ['-61.40', '-61.83', '-66.89', '-64.66'], 'lys.mmmt': ['-62.68', '-64.12', '-70.70', '-176.81'], 'lys.mmpt': ['-60.37', '-70.56', '93.62', '175.54'], 'lys.mmtm': ['-60.19', '-65.55', '-173.09', '-68.90'], 'lys.mmtp': ['-61.50', '-68.65', '179.72', '67.91'], 'lys.mmtt': ['-61.71', '-67.23', '-176.78', '-178.24'], 'lys.mppt': ['-82.60', '73.52', '69.16', '177.39'], 'lys.mptm': ['-91.75', '61.18', '-173.65', '-60.98'], 'lys.mptp': ['-74.90', '86.56', '171.63', '65.23'], 'lys.mptt': ['-79.91', '72.96', '176.12', '175.10'], 'lys.mtmm': ['-63.90', '-177.15', '-70.38', '-66.00'], 'lys.mtmp': ['-67.47', '-175.78', '-95.84', '73.53'], 'lys.mtmt': ['-66.84', '-173.33', '-73.73', '-175.37'], 'lys.mtpm': ['-70.32', '174.83', '90.64', '-70.02'], 'lys.mtpp': ['-68.54', '176.95', '70.47', '67.72'], 'lys.mtpt': ['-69.20', '174.24', '70.52', '175.20'], 'lys.mttm': ['-66.85', '-177.78', '-176.66', '-67.38'], 'lys.mttp': ['-65.91', '-179.44', '176.32', '66.69'], 'lys.mttt': ['-67.65', '-178.81', '-179.11', '179.48'], 'lys.pmmt': ['77.88', '-73.69', '-71.42', '179.05'], 'lys.pmtt': ['73.16', '-74.07', '-168.03', '-174.61'], 'lys.pptt': ['64.18', '89.87', '175.58', '179.09'], 'lys.ptmm': ['66.61', '-177.93', '-69.61', '-66.13'], 'lys.ptmt': ['66.65', '-175.86', '-71.43', '-175.84'], 'lys.ptpp': ['65.33', '178.40', '72.03', '66.03'], 'lys.ptpt': ['64.80', '179.09', '72.97', '174.54'], 'lys.pttm': ['64.25', '-177.63', '-178.90', '-67.05'], 'lys.pttp': ['67.56', '-179.05', '178.26', '66.70'], 'lys.pttt': ['65.44', '-178.08', '-179.33', '-179.68'], 'lys.tmmm': ['-177.53', '-81.76', '-63.10', '-64.47'], 'lys.tmmt': ['-179.22', '-93.42', '-70.43', '-179.55'], 'lys.tmtm': ['-172.23', '-90.51', '-172.54', '-64.87'], 'lys.tmtp': ['-176.65', '-97.99', '-178.36', '65.08'], 'lys.tmtt': ['-172.66', '-91.12', '-176.85', '-178.51'], 'lys.tppp': ['-177.93', '62.26', '65.52', '67.94'], 'lys.tppt': ['-178.19', '63.49', '69.53', '177.45'], 'lys.tptm': ['-177.93', '67.16', '-179.37', '-66.24'], 'lys.tptp': ['-179.93', '67.44', '173.60', '66.19'], 'lys.tptt': ['-178.91', '69.06', '175.56', '177.25'], 'lys.ttmm': ['-174.05', '179.74', '-71.03', '-67.04'], 'lys.ttmp': ['-174.17', '-179.42', '-95.70', '76.74'], 'lys.ttmt': ['-174.57', '-177.29', '-73.48', '-175.11'], 'lys.ttpm': ['-176.90', '175.31', '87.10', '-84.40'], 'lys.ttpp': ['-178.43', '174.06', '71.62', '68.20'], 'lys.ttpt': ['-178.34', '174.56', '73.02', '175.10'], 'lys.tttm': ['-176.39', '177.82', '-176.24', '-67.35'], 'lys.tttp': ['-177.65', '175.44', '173.93', '65.90'], 'lys.tttt': ['-175.45', '176.59', '179.68', '-179.89'], 'met.mmm': ['-65.55', '-60.98', '-69.17'], 'met.mmp': ['-65.20', '-61.63', '102.18'], 'met.mmt': ['-64.97', '-63.75', '172.21'], 'met.mpm': ['-77.18', '63.99', '-101.77'], 'met.mpp': ['-76.61', '73.17', '73.99'], 'met.mpt': ['-69.56', '74.03', '167.39'], 'met.mtm': ['-66.36', '-177.82', '-73.98'], 'met.mtp': ['-66.65', '177.07', '70.46'], 'met.mtt': ['-67.15', '179.72', '-176.82'], 'met.pmm': ['72.63', '-68.67', '-68.86'], 'met.pmt': ['71.34', '-74.72', '-162.33'], 'met.pp-130': ['64.33', '82.30', '-154.20'], 'met.ppp': ['61.25', '78.96', '70.70'], 'met.ptm': ['64.86', '179.37', '-72.05'], 'met.ptp': ['64.51', '-176.36', '73.22'], 'met.ptt': ['65.36', '-178.19', '179.35'], 'met.tmm': ['-177.26', '-81.71', '-72.17'], 'met.tmt': ['-179.13', '-85.94', '173.72'], 'met.tpp': ['-174.98', '63.63', '72.40'], 'met.tpt': ['-173.45', '65.81', '-156.29'], 'met.ttm': ['-175.04', '179.64', '-71.86'], 'met.ttp': ['-177.77', '179.14', '71.79'], 'met.ttt': ['-176.72', '176.82', '176.46'], 'mse.mmm': ['-65.55', '-60.98', '-69.17'], 'mse.mmp': ['-65.20', '-61.63', '102.18'], 'mse.mmt': ['-64.97', '-63.75', '172.21'], 'mse.mpm': ['-77.18', '63.99', '-101.77'], 'mse.mpp': ['-76.61', '73.17', '73.99'], 'mse.mpt': ['-69.56', '74.03', '167.39'], 'mse.mtm': ['-66.36', '-177.82', '-73.98'], 'mse.mtp': ['-66.65', '177.07', '70.46'], 'mse.mtt': ['-67.15', '179.72', '-176.82'], 'mse.pmm': ['72.63', '-68.67', '-68.86'], 'mse.pmt': ['71.34', '-74.72', '-162.33'], 'mse.pp-130': ['64.33', '82.30', '-154.20'], 'mse.ppp': ['61.25', '78.96', '70.70'], 'mse.ptm': ['64.86', '179.37', '-72.05'], 'mse.ptp': ['64.51', '-176.36', '73.22'], 'mse.ptt': ['65.36', '-178.19', '179.35'], 'mse.tmm': ['-177.26', '-81.71', '-72.17'], 'mse.tmt': ['-179.13', '-85.94', '173.72'], 'mse.tpp': ['-174.98', '63.63', '72.40'], 'mse.tpt': ['-173.45', '65.81', '-156.29'], 'mse.ttm': ['-175.04', '179.64', '-71.86'], 'mse.ttp': ['-177.77', '179.14', '71.79'], 'mse.ttt': ['-176.72', '176.82', '176.46'], 'phe.m-10': ['-68.13', '-14.74'], 'phe.m-80': ['-66.76', '-80.59'], 'phe.p90': ['63.56', '-89.70'], 'phe.t80': ['-178.30', '75.77'], 'pro.Cg_endo': ['26.88', '-34.51', '28.15'], 'pro.Cg_exo': ['-24.56', '35.61', '-31.83'], 'ser.m': ['-63.98'], 'ser.p': ['65.92'], 'ser.t': ['178.65'], 'thr.m': ['-60.11'], 'thr.p': ['61.45'], 'thr.t': ['-172.71'], 'trp.m-10': ['-68.16', '-7.49'], 'trp.m-90': ['-67.78', '-89.28'], 'trp.m100': ['-67.36', '97.26'], 'trp.p-90': ['61.77', '-89.37'], 'trp.p90': ['60.29', '87.82'], 'trp.t-100': ['-177.07', '-102.57'], 'trp.t60': ['-178.69', '64.77'], 'tyr.m-10': ['-68.13', '-14.74'], 'tyr.m-80': ['-66.76', '-80.59'], 'tyr.p90': ['63.56', '-89.70'], 'tyr.t80': ['-178.30', '75.77'], 'val.m': ['-61.90'], 'val.p': ['64.91'], 'val.t': ['175.70']}
atomsForAngle = {'arg.chi1': [' N  ', ' CA ', ' CB ', ' CG '], 'arg.chi2': [' CA ', ' CB ', ' CG ', ' CD '], 'arg.chi3': [' CB ', ' CG ', ' CD ', ' NE '], 'arg.chi4': [' CG ', ' CD ', ' NE ', ' CZ '], 'asn.chi1': [' N  ', ' CA ', ' CB ', ' CG '], 'asn.chi2': [' CA ', ' CB ', ' CG ', ' OD1'], 'asp.chi1': [' N  ', ' CA ', ' CB ', ' CG '], 'asp.chi2': [' CA ', ' CB ', ' CG ', ' OD1'], 'cys.chi1': [' N  ', ' CA ', ' CB ', ' SG '], 'gln.chi1': [' N  ', ' CA ', ' CB ', ' CG '], 'gln.chi2': [' CA ', ' CB ', ' CG ', ' CD '], 'gln.chi3': [' CB ', ' CG ', ' CD ', ' OE1'], 'glu.chi1': [' N  ', ' CA ', ' CB ', ' CG '], 'glu.chi2': [' CA ', ' CB ', ' CG ', ' CD '], 'glu.chi3': [' CB ', ' CG ', ' CD ', ' OE1'], 'his.chi1': [' N  ', ' CA ', ' CB ', ' CG '], 'his.chi2': [' CA ', ' CB ', ' CG ', ' ND1'], 'ile.chi1': [' N  ', ' CA ', ' CB ', ' CG1'], 'ile.chi2': [' CA ', ' CB ', ' CG1', ' CD1'], 'leu.chi1': [' N  ', ' CA ', ' CB ', ' CG '], 'leu.chi2': [' CA ', ' CB ', ' CG ', ' CD1'], 'lys.chi1': [' N  ', ' CA ', ' CB ', ' CG '], 'lys.chi2': [' CA ', ' CB ', ' CG ', ' CD '], 'lys.chi3': [' CB ', ' CG ', ' CD ', ' CE '], 'lys.chi4': [' CG ', ' CD ', ' CE ', ' NZ '], 'met.chi1': [' N  ', ' CA ', ' CB ', ' CG '], 'met.chi2': [' CA ', ' CB ', ' CG ', ' SD ;SD  '], 'met.chi3': [' CB ', ' CG ', ' SD ;SD  ', ' CE '], 'mse.chi1': [' N  ', ' CA ', ' CB ', ' CG '], 'mse.chi2': [' CA ', ' CB ', ' CG ', 'SE  ; SE '], 'mse.chi3': [' CB ', ' CG ', 'SE  ; SE ', ' CE '], 'phe.chi1': [' N  ', ' CA ', ' CB ', ' CG '], 'phe.chi2': [' CA ', ' CB ', ' CG ', ' CD1'], 'pro.chi1': [' N  ', ' CA ', ' CB ', ' CG '], 'pro.chi2': [' CA ', ' CB ', ' CG ', ' CD '], 'pro.chi3': [' CB ', ' CG ', ' CD ', ' N  '], 'ser.chi1': [' N  ', ' CA ', ' CB ', ' OG '], 'thr.chi1': [' N  ', ' CA ', ' CB ', ' OG1'], 'trp.chi1': [' N  ', ' CA ', ' CB ', ' CG '], 'trp.chi2': [' CA ', ' CB ', ' CG ', ' CD1'], 'tyr.chi1': [' N  ', ' CA ', ' CB ', ' CG '], 'tyr.chi2': [' CA ', ' CB ', ' CG ', ' CD1'], 'val.chi1': [' N  ', ' CA ', ' CB ', ' CG1']}
atomsMoveWithAngle = {'arg.chi1': [' CG ', ' CD ', ' NE ', ' CZ ', ' NH1', ' NH2', ' HB2', ' HB3', ' HG2', ' HG3', ' HD2', ' HD3', ' HE ', 'HH11', 'HH12', 'HH21', 'HH22'], 'arg.chi2': [' CD ', ' NE ', ' CZ ', ' NH1', ' NH2', ' HG2', ' HG3', ' HD2', ' HD3', ' HE ', 'HH11', 'HH12', 'HH21', 'HH22'], 'arg.chi3': [' NE ', ' CZ ', ' NH1', ' NH2', ' HD2', ' HD3', ' HE ', 'HH11', 'HH12', 'HH21', 'HH22'], 'arg.chi4': [' CZ ', ' NH1', ' NH2', ' HE ', 'HH11', 'HH12', 'HH21', 'HH22'], 'leu.chi1': [' CG ', ' CD1', ' CD2', ' HB2', ' HB3', ' HG ', 'HD11', 'HD12', 'HD13', 'HD21', 'HD22', 'HD23'], 'leu.chi2': [' CD1', ' CD2', 'HD11', ' HG ', 'HD12', 'HD13', 'HD21', 'HD22', 'HD23'], 'thr.chi1': [' OG1', ' CG2', ' HB ', ' HG1', 'HG21', 'HG22', 'HG23'], 'val.chi1': [' CG1', ' CG2', ' HB ', 'HG11', 'HG12', 'HG13', 'HG21', 'HG22', 'HG23']}
chisPerAA = {'ala': '0', 'arg': '4', 'asn': '2', 'asp': '2', 'cys': '1', 'gln': '3', 'glu': '3', 'gly': '0', 'his': '2', 'ile': '2', 'leu': '2', 'lys': '4', 'met': '3', 'mse': '3', 'phe': '2', 'pro': '3', 'ser': '1', 'thr': '1', 'trp': '2', 'tyr': '2', 'val': '1'}
extract_chi_atoms(angleName, res, atom_dict=None)
frequencies_from_rotamer = {'arg': {'mmm-85': '2.19%', 'mmm160': '2.07%', 'mmp-170': '0.26%', 'mmp80': '0.36%', 'mmt-90': '3.07%', 'mmt180': '2.60%', 'mmt90': '1.23%', 'mpp-170': '0.13%', 'mpp80': '0.11%', 'mpt-90': '0.19%', 'mpt180': '0.53%', 'mpt90': '0.11%', 'mtm-85': '6.12%', 'mtm110': '1.69%', 'mtm180': '5.18%', 'mtp-110': '1.04%', 'mtp180': '5.39%', 'mtp85': '4.01%', 'mtt-85': '6.12%', 'mtt180': '9.94%', 'mtt90': '5.30%', 'pmm-80': '0.04%', 'pmm150': '0.03%', 'pmt-80': '0.06%', 'pmt100': '0.01%', 'pmt170': '0.09%', 'ppp-140': '0.01%', 'ppp80': '0.02%', 'ppt-90': '0.03%', 'ppt170': '0.13%', 'ppt90': '0.04%', 'ptm-80': '0.47%', 'ptm160': '1.09%', 'ptp-110': '0.17%', 'ptp-170': '0.83%', 'ptp90': '0.48%', 'ptt-90': '1.55%', 'ptt180': '1.75%', 'ptt90': '1.76%', 'tmm-80': '0.16%', 'tmm160': '0.20%', 'tmt-80': '0.13%', 'tmt170': '0.23%', 'tmt90': '0.05%', 'tpm-80': '0.04%', 'tpm170': '0.24%', 'tpp-160': '1.06%', 'tpp80': '0.79%', 'tpt-90': '0.77%', 'tpt170': '1.80%', 'tpt90': '1.42%', 'ttm-80': '3.23%', 'ttm110': '1.56%', 'ttm170': '2.84%', 'ttp-110': '1.36%', 'ttp-170': '3.26%', 'ttp80': '4.11%', 'ttt-90': '2.96%', 'ttt180': '5.06%', 'ttt90': '2.25%'}, 'asn': {'m-40': '48.95%', 'm110': '7.40%', 'p0': '14.07%', 't0': '29.16%', 't160': '0.11%'}, 'asp': {'m-30': '51.46%', 'p0': '16.30%', 't0': '23.64%', 't70': '8.30%'}, 'cys': {'m': '55.73%', 'p': '17.67%', 't': '26.33%'}, 'gln': {'mm-40': '16.04%', 'mm110': '3.07%', 'mp-120': '0.23%', 'mp10': '3.28%', 'mt0': '38.71%', 'pm20': '1.33%', 'pp30': '0.49%', 'pt0': '5.06%', 'tm-30': '1.49%', 'tm130': '0.15%', 'tp-100': '1.44%', 'tp40': '9.78%', 'tt0': '18.63%'}, 'glu': {'mm-30': '15.78%', 'mp0': '6.38%', 'mt-10': '36.54%', 'pm20': '2.58%', 'pp20': '0.28%', 'pt0': '4.89%', 'tm-30': '1.49%', 'tp30': '8.08%', 'tt0': '23.69%'}, 'his': {'m-70': '31.87%', 'm170': '9.05%', 'm90': '13.09%', 'p-80': '7.40%', 'p90': '4.98%', 't-170': '4.48%', 't-90': '11.86%', 't70': '17.00%'}, 'ile': {'mm': '15.71%', 'mp': '0.87%', 'mt': '62.03%', 'pp': '0.35%', 'pt': '12.30%', 'tp': '2.63%', 'tt': '5.80%'}, 'leu': {'mm': '0.42%', 'mp': '2.35%', 'mt': '64.48%', 'pp': '0.45%', 'pt': '0.33%', 'tm': '0.13%', 'tp': '30.17%', 'tt': '1.37%'}, 'lys': {'mmmm': '0.25%', 'mmmt': '1.61%', 'mmpt': '0.09%', 'mmtm': '2.08%', 'mmtp': '1.35%', 'mmtt': '8.98%', 'mppt': '0.09%', 'mptm': '0.04%', 'mptp': '0.07%', 'mptt': '0.38%', 'mtmm': '1.22%', 'mtmp': '0.03%', 'mtmt': '3.82%', 'mtpm': '0.06%', 'mtpp': '1.13%', 'mtpt': '3.86%', 'mttm': '5.31%', 'mttp': '4.04%', 'mttt': '24.73%', 'pmmt': '0.01%', 'pmtt': '0.03%', 'pptt': '0.07%', 'ptmm': '0.23%', 'ptmt': '0.53%', 'ptpp': '0.26%', 'ptpt': '0.44%', 'pttm': '0.78%', 'pttp': '0.69%', 'pttt': '3.99%', 'tmmm': '0.02%', 'tmmt': '0.09%', 'tmtm': '0.05%', 'tmtp': '0.03%', 'tmtt': '0.23%', 'tppp': '0.10%', 'tppt': '0.78%', 'tptm': '0.55%', 'tptp': '1.18%', 'tptt': '3.49%', 'ttmm': '0.58%', 'ttmp': '0.03%', 'ttmt': '1.96%', 'ttpm': '0.01%', 'ttpp': '0.64%', 'ttpt': '2.54%', 'tttm': '3.32%', 'tttp': '3.51%', 'tttt': '14.40%'}, 'met': {'mmm': '19.92%', 'mmp': '3.06%', 'mmt': '3.62%', 'mpm': '0.08%', 'mpp': '0.44%', 'mpt': '0.20%', 'mtm': '10.97%', 'mtp': '16.94%', 'mtt': '9.16%', 'pmm': '0.24%', 'pmt': '0.04%', 'pp-130': '0.15%', 'ppp': '0.29%', 'ptm': '2.27%', 'ptp': '2.46%', 'ptt': '1.55%', 'tmm': '1.65%', 'tmt': '0.20%', 'tpp': '6.69%', 'tpt': '2.37%', 'ttm': '6.54%', 'ttp': '7.45%', 'ttt': '3.40%'}, 'mse': {'mmm': '19.92%', 'mmp': '3.06%', 'mmt': '3.62%', 'mpm': '0.08%', 'mpp': '0.44%', 'mpt': '0.20%', 'mtm': '10.97%', 'mtp': '16.94%', 'mtt': '9.16%', 'pmm': '0.24%', 'pmt': '0.04%', 'pp-130': '0.15%', 'ppp': '0.29%', 'ptm': '2.27%', 'ptp': '2.46%', 'ptt': '1.55%', 'tmm': '1.65%', 'tmt': '0.20%', 'tpp': '6.69%', 'tpt': '2.37%', 'ttm': '6.54%', 'ttp': '7.45%', 'ttt': '3.40%'}, 'phe': {'m-10': '6.88%', 'm-80': '47.35%', 'p90': '11.19%', 't80': '34.29%'}, 'pro': {'Cg_endo': '49.10%', 'Cg_exo': '50.57%'}, 'ser': {'m': '28.28%', 'p': '48.48%', 't': '22.94%'}, 'thr': {'m': '44.61%', 'p': '48.12%', 't': '6.96%'}, 'trp': {'m-10': '11.72%', 'm-90': '5.09%', 'm100': '33.80%', 'p-90': '10.38%', 'p90': '5.19%', 't-100': '15.47%', 't60': '18.07%'}, 'tyr': {'m-10': '5.56%', 'm-80': '47.98%', 'p90': '11.55%', 't80': '34.57%'}, 'val': {'m': '17.91%', 'p': '6.19%', 't': '75.60%'}}
get_rotamer_angles(residue_name, rotamer_name)
get_rotamer_expectation_frequencies(residue_name, rotamer_name)
get_rotamers(residue_name)
measureAngle(angleName, res, atom_dict, sites_cart=None)
measureChiAngles(res, atom_dict=None, sites_cart=None)
resAtomsToChi = {'ala': {}, 'arg': {' CA , CB , CG , CD ': 'chi2', ' CB , CG , CD , NE ': 'chi3', ' CG , CD , NE , CZ ': 'chi4', ' N  , CA , CB , CG ': 'chi1'}, 'asn': {' CA , CB , CG , OD1': 'chi2', ' N  , CA , CB , CG ': 'chi1'}, 'asp': {' CA , CB , CG , OD1': 'chi2', ' N  , CA , CB , CG ': 'chi1'}, 'cys': {' N  , CA , CB , SG ': 'chi1'}, 'gln': {' CA , CB , CG , CD ': 'chi2', ' CB , CG , CD , OE1': 'chi3', ' N  , CA , CB , CG ': 'chi1'}, 'glu': {' CA , CB , CG , CD ': 'chi2', ' CB , CG , CD , OE1': 'chi3', ' N  , CA , CB , CG ': 'chi1'}, 'gly': {}, 'his': {' CA , CB , CG , ND1': 'chi2', ' N  , CA , CB , CG ': 'chi1'}, 'ile': {' CA , CB , CG1, CD1': 'chi2', ' N  , CA , CB , CG2': 'chi1'}, 'leu': {' CA , CB , CG , CD1': 'chi2', ' N  , CA , CB , CG ': 'chi1'}, 'lys': {' CA , CB , CG , CD ': 'chi2', ' CB , CG , CD , CE ': 'chi3', ' CG , CD , CE , NZ ': 'chi4', ' N  , CA , CB , CG ': 'chi1'}, 'met': {' CA , CB , CG , SD ;SD  ': 'chi2', ' CB , CG , SD ;SD  , CE ': 'chi3', ' N  , CA , CB , CG ': 'chi1'}, 'mse': {' CA , CB , CG ,SE  ; SE ': 'chi2', ' CB , CG ,SE  ; SE , CE ': 'chi3', ' N  , CA , CB , CG ': 'chi1'}, 'phe': {' CA , CB , CG , CD1': 'chi2', ' N  , CA , CB , CG ': 'chi1'}, 'pro': {' CA , CB , CG , CD ': 'chi2', ' CB , CG , CD , N  ': 'chi3', ' N  , CA , CB , CG ': 'chi1'}, 'ser': {' N  , CA , CB , OG ': 'chi1'}, 'thr': {' N  , CA , CB , CG2': 'chi1'}, 'trp': {' CA , CB , CG , CD1': 'chi2', ' N  , CA , CB , CG ': 'chi1'}, 'tyr': {' CA , CB , CG , CD1': 'chi2', ' N  , CA , CB , CG ': 'chi1'}, 'val': {' N  , CA , CB , CG2': 'chi1'}}
rotamersForAA = {'ala': [''], 'arg': ['mmm-85', 'mmm160', 'mmp-170', 'mmp80', 'mmt-90', 'mmt180', 'mmt90', 'mpp-170', 'mpp80', 'mpt-90', 'mpt180', 'mpt90', 'mtm-85', 'mtm110', 'mtm180', 'mtp-110', 'mtp180', 'mtp85', 'mtt-85', 'mtt180', 'mtt90', 'pmm-80', 'pmm150', 'pmt-80', 'pmt100', 'pmt170', 'ppp-140', 'ppp80', 'ppt-90', 'ppt170', 'ppt90', 'ptm-80', 'ptm160', 'ptp-110', 'ptp-170', 'ptp90', 'ptt-90', 'ptt180', 'ptt90', 'tmm-80', 'tmm160', 'tmt-80', 'tmt170', 'tmt90', 'tpm-80', 'tpm170', 'tpp-160', 'tpp80', 'tpt-90', 'tpt170', 'tpt90', 'ttm-80', 'ttm110', 'ttm170', 'ttp-110', 'ttp-170', 'ttp80', 'ttt-90', 'ttt180', 'ttt90'], 'asn': ['m-40', 'm110', 'p0', 't0', 't160'], 'asp': ['m-30', 'p0', 't0', 't70'], 'cys': ['m', 'p', 't'], 'gln': ['mm-40', 'mm110', 'mp-120', 'mp10', 'mt0', 'pm20', 'pp30', 'pt0', 'tm-30', 'tm130', 'tp-100', 'tp40', 'tt0'], 'glu': ['mm-30', 'mp0', 'mt-10', 'pm20', 'pp20', 'pt0', 'tm-30', 'tp30', 'tt0'], 'gly': [''], 'his': ['m-70', 'm170', 'm90', 'p-80', 'p90', 't-170', 't-90', 't70'], 'ile': ['mm', 'mp', 'mt', 'pp', 'pt', 'tp', 'tt'], 'leu': ['mm', 'mp', 'mt', 'pp', 'pt', 'tm', 'tp', 'tt'], 'lys': ['mmmm', 'mmmt', 'mmpt', 'mmtm', 'mmtp', 'mmtt', 'mppt', 'mptm', 'mptp', 'mptt', 'mtmm', 'mtmp', 'mtmt', 'mtpm', 'mtpp', 'mtpt', 'mttm', 'mttp', 'mttt', 'pmmt', 'pmtt', 'pptt', 'ptmm', 'ptmt', 'ptpp', 'ptpt', 'pttm', 'pttp', 'pttt', 'tmmm', 'tmmt', 'tmtm', 'tmtp', 'tmtt', 'tppp', 'tppt', 'tptm', 'tptp', 'tptt', 'ttmm', 'ttmp', 'ttmt', 'ttpm', 'ttpp', 'ttpt', 'tttm', 'tttp', 'tttt'], 'met': ['mmm', 'mmp', 'mmt', 'mpm', 'mpp', 'mpt', 'mtm', 'mtp', 'mtt', 'pmm', 'pmt', 'pp-130', 'ppp', 'ptm', 'ptp', 'ptt', 'tmm', 'tmt', 'tpp', 'tpt', 'ttm', 'ttp', 'ttt'], 'mse': ['mmm', 'mmp', 'mmt', 'mpm', 'mpp', 'mpt', 'mtm', 'mtp', 'mtt', 'pmm', 'pmt', 'pp-130', 'ppp', 'ptm', 'ptp', 'ptt', 'tmm', 'tmt', 'tpp', 'tpt', 'ttm', 'ttp', 'ttt'], 'phe': ['m-10', 'm-80', 'p90', 't80'], 'pro': ['Cg_endo', 'Cg_exo'], 'ser': ['m', 'p', 't'], 'thr': ['m', 'p', 't'], 'trp': ['m-10', 'm-90', 'm100', 'p-90', 'p90', 't-100', 't60'], 'tyr': ['m-10', 'm-80', 'p90', 't80'], 'val': ['m', 'p', 't']}
mmtbx.rotamer.sidechain_angles.collect_residue_torsion_angles(pdb_hierarchy, atom_selection=None, chi_angles_only=False)
mmtbx.rotamer.sidechain_angles.collect_sidechain_chi_angles(pdb_hierarchy, atom_selection=None)
mmtbx.rotamer.sidechain_angles.find_source_dir(optional=False)
mmtbx.rotamer.sidechain_angles.makeAtomDict(res)

Module contents

mmtbx.rotamer.get_omega_atoms(prev_atoms, atoms)
mmtbx.rotamer.get_phi_psi_atoms(prev_res, residue, next_res)
mmtbx.rotamer.get_phi_psi_indices(prev_res, residue, next_res)
mmtbx.rotamer.improper_cnab_from_atoms(thisC, thisN, thisCA, thisCB)
mmtbx.rotamer.improper_ncab_from_atoms(thisN, thisC, thisCA, thisCB)
mmtbx.rotamer.is_cis_peptide(prev_atoms, atoms)
mmtbx.rotamer.iterator(mon_lib_srv, residue, atom_selection_bool)
mmtbx.rotamer.omega_from_atoms(prevCA, prevC, thisN, thisCA)
mmtbx.rotamer.phi_from_atoms(prevC, resN, resCA, resC)
mmtbx.rotamer.phi_from_sites(prevC, resN, resCA, resC)
mmtbx.rotamer.phi_psi_from_sites(i_seqs, sites_cart)
mmtbx.rotamer.psi_from_atoms(resN, resCA, resC, nextN)
mmtbx.rotamer.psi_from_sites(resN, resCA, resC, nextN)