The PairFeatures reporter measures the distances between residues.
CREATE TABLE IF NOT EXISTS residue_pairs (
struct_id INTEGER,
resNum1 INTEGER,
resNum2 INTEGER,
res1_10A_neighbors INTEGER,
res2_10A_neighbors INTEGER,
actcoord_dist REAL,
polymeric_sequence_dist INTEGER,
FOREIGN KEY (struct_id, resNum1) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
FOREIGN KEY (struct_id, resNum2) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
CONSTRAINT res1_10A_neighbors_greater_than CHECK (res1_10A_neighbors >= 1),
CONSTRAINT res2_10A_neighbors_greater_than CHECK (res2_10A_neighbors >= 1));
<AtomAtomPairFeatures min_dist="(&real 0)" max_dist="(&real 10)" nbins="(&integer 15)"/>
The distances between pairs of atoms is an indicator of the packing of a structure. Since there are a large number of atom pairs, here, the information is summarized by atom pair distributions for each pair of atom types (Rosetta AtomType -> element type). See AtomInResidueAtomInResiduePairFeatures for an alternative binning of atom-atom interactions.
CREATE TABLE IF NOT EXISTS atom_pairs (
struct_id INTEGER,
atom_type TEXT,
element TEXT,
lower_break REAL,
upper_break REAL,
count INTEGER,
FOREIGN KEY (struct_id) REFERENCES structures (struct_id) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY (struct_id, atom_type, element, lower_break));
The distances between pairs of atoms is an indicator of the packing of a structure. Since there are a large number of atom pairs, here, the information is summarized by atom pair distributions for each pair of atom types (residue type + atom number). This is very similar in spirit to Lu H, Skolnick J. A distance-dependent atomic knowledge-based potential for improved protein structure selection. Proteins. 2001;44(3):223-32 , however, they use different distance bins. Here, (0,1], ..., (9,10] are used because they are easy. It may make sense to come up with a better binning upon further analysis. The molar fraction of atom types can be computed by joining with the Residues table since the types are unique within each residue type. If this is turns out to be too cumbersome, it may need to be pre-computed. WARNING : Currently, this generates an inordinate amount of data!!! ~250M per structure. WARNING
CREATE TABLE IF NOT EXISTS atom_in_residue_pairs (
struct_id INTEGER,
residue_type1 TEXT,
atom_type1 TEXT,
residue_type2 TEXT,
atom_type2 TEXT,
distance_bin TEXT,
count INTEGER,
FOREIGN KEY (struct_id) REFERENCES structures (struct_id) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY (struct_id, residue_type1, atom_type1, residue_type2, atom_type2, distance_bin),
CONSTRAINT count_greater_than CHECK (count >= 0));
The ProteinBackboneAtomAtomPairFeatures reporter measures all the atom pair distances between backbone atoms in pairs residues where the action coordinate is within 10A. This follows the analysis done in Song Y, Tyka M, Leaver-Fay A, Thompson J, Baker D. Structure guided forcefield optimization. Proteins: Structure, Function, and Bioinformatics. 2011 . There, they looked at these distances for pairs of residues that form secondary structure.
CREATE TABLE IF NOT EXISTS protein_backbone_atom_atom_pairs (
struct_id TEXT,
resNum1 INTEGER,
resNum2 INTEGER,
N_N_dist REAL, N_Ca_dist REAL, N_C_dist REAL, N_O_dist REAL, N_Ha_dist REAL,
Ca_N_dist REAL, Ca_Ca_dist REAL, Ca_C_dist REAL, Ca_O_dist REAL, Ca_Ha_dist REAL,
C_N_dist REAL, C_Ca_dist REAL, C_C_dist REAL, C_O_dist REAL, C_Ha_dist REAL,
O_N_dist REAL, O_Ca_dist REAL, O_C_dist REAL, O_O_dist REAL, O_Ha_dist REAL,
Ha_N_dist REAL, Ha_Ca_dist REAL, Ha_C_dist REAL, Ha_O_dist REAL, Ha_Ha_dist REAL,
FOREIGN KEY (struct_id, resNum1) REFERENCES residues (struct_id, resNum1) DEFERRABLE INITIALLY DEFERRED,
FOREIGN KEY (struct_id, resNum2) REFERENCES residues (struct_id, resNum2) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY (struct_id, resNum1, resNum2));
The HBondFeatures reporter measures the geometry of hydrogen bonds. The most current reference is Tanja Kortemme, Alexandre V. Morozov, David Baker, An Orientation-dependent Hydrogen Bonding Potential Improves Prediction of Specificity and Structure for Proteins and Protein-Protein Complexes, (JMB 2003) .
The HBondFeatures feature reporter takes the following options:
<HBondFeatures scorefxn="(&scorefxn)" definition_type="(['energy', 'AHdist'])" definition_threshold="(&real)"/>
energy
with a definition_threshold=0
The features associated with hydrogen bonding include
CREATE TABLE hbond_sites (
struct_id INTEGER,
site_id INTEGER,
resNum INTEGER,
HBChemType TEXT,
atmNum INTEGER,
is_donor INTEGER,
chain INTEGER,
resType TEXT,
atmType TEXT,
FOREIGN KEY(struct_id, resNum) REFERENCES residues(struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY(struct_id, site_id));
hbond_site_atoms : Each hydrogen bond site defines a portion of a frame by bonded atoms.
Donor atoms:
Acceptor atoms:
base2 : The alternate second base atom of the acceptor.
The base to acceptor unit vector is defined by the hybridization type of the acceptor atom and the above atoms.
CREATE TABLE IF NOT EXISTS hbond_site_atoms (
struct_id INTEGER,
site_id INTEGER,
atm_x REAL,
atm_y REAL,
atm_z REAL,
base_x REAL,
base_y REAL,
base_z REAL,
bbase_x REAL,
bbase_y REAL,
bbase_z REAL,
base2_x REAL,
base2_y REAL,
base2_z REAL,
FOREIGN KEY(site_id, struct_id) REFERENCES hbond_sites(site_id, struct_id) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY(struct_id, site_id));
CREATE TABLE IF NOT EXISTS hbond_site_environment (
struct_id INTEGER,
site_id INTEGER,
sasa_r100 REAL,
sasa_r140 REAL,
sasa_r200 REAL,
hbond_energy REAL,
num_hbonds INTEGER,
FOREIGN KEY(struct_id, site_id) REFERENCES hbond_sites(struct_id, site_id) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY(struct_id, site_id));
CREATE TABLE IF NOT EXISTS hbond_sites_pdb (
struct_id INTEGER,
site_id INTEGER,
chain TEXT,
resNum INTEGER,
iCode TEXT,
heavy_atom_temperature REAL,
heavy_atom_occupancy REAL,
FOREIGN KEY(struct_id, site_id) REFERENCES hbond_sites(struct_id, site_id) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY(struct_id, site_id));
CREATE TABLE IF NOT EXISTS hbond_chem_types (
chem_type TEXT,
label TEXT,
PRIMARY KEY(chem_type));
CREATE TABLE IF NOT EXISTS hbonds (
struct_id INTEGER,
hbond_id INTEGER,
don_id INTEGER,
acc_id INTEGER,
HBEvalType INTEGER,
energy REAL,
envWeight REAL,
score_weight REAL,
donRank INTEGER,
accRank INTEGER,
FOREIGN KEY (struct_id, don_id) REFERENCES hbond_sites (struct_id, site_id) DEFERRABLE INITIALLY DEFERRED,
FOREIGN KEY (struct_id, acc_id) REFERENCES hbond_sites (struct_id, site_id) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY(struct_id, hbond_id));
hbond_geom_coords : The geometric parameters of a hydrogen bond are used to evaluate the energy of the of interaction.
cosBAH : The cosine of the angle defined by the base , acceptor and hydrogen atoms.
-corrections:score:hbond_measure_sp3acc_BAH_from_hvy
flag is set, then the base atom for Sp3 acceptors is the heavy atom, otherwise it is the hydrogen atom. (Historical aside, in Score12, the hydrogen atom was used as the base to enforce separation between the covalently bound hydrogen and the hydrogen bonding hydrogen.)cosAHD : The cosine of the angle defined by the acceptor , hydrogen and donor atoms.
chi : The torsional angle defined by the abase2 , base , acceptor and hydrogen atoms. NOTE: The value is in radians, [-pi, pi].
CREATE TABLE IF NOT EXISTS hbond_geom_coords (
struct_id INTEGER,
hbond_id INTEGER,
AHdist REAL,
cosBAH REAL,
cosAHD REAL,
chi REAL,
FOREIGN KEY(struct_id, hbond_id) REFERENCES hbonds(struct_id, hbond_id) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY(struct_id, hbond_id));
CREATE TABLE IF NOT EXISTS hbond_lennard_jones (
struct_id INTEGER,
hbond_id INTEGER,
don_acc_atrE REAL,
don_acc_repE REAL,
don_acc_solv REAL,
don_acc_base_atrE REAL,
don_acc_base_repE REAL,
don_acc_base_solv REAL,
h_acc_atrE REAL,
h_acc_repE REAL,
h_acc_solv REAL,
h_acc_base_atrE REAL,
h_acc_base_repE REAL,
h_acc_base_solv REAL,
FOREIGN KEY (struct_id, hbond_id) REFERENCES hbonds (struct_id, hbond_id) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY(struct_id, hbond_id));
The OrbitalFeatures stores information about chemical interactions involving orbitals. Orbitals are atomically localized electrons that can form weak, orientation dependent interactions with polar and aromatic functional groups and other orbitals. Orbital geometry are defined in the residue type sets in the database. Following the orbitals score term, orbitals are defines between residues where the action center is at most 11A apart.
CREATE TABLE IF NOT EXISTS HPOL_orbital (
struct_id TEXT,
resNum1 INTEGER,
orbName1 TEXT,
resNum2 INTEGER,
hpolNum2 INTEGER,
resNum1 INTEGER,
resName2 TEXT,
htype2 TEXT,
OrbHdist REAL,
cosAOH REAL,
cosDHO REAL,
chiBAOH REAL,
chiBDHO REAL,
AOH_angle REAL,
DHO_angle REAL,
chiBAHD REAL,
cosAHD REAL,
FOREIGN KEY (struct_id, resNum1) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
FOREIGN KEY (struct_id, resNum2) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY(struct_id, resNum1, orbName1, resNum2, hpolNum2));
CREATE TABLE IF NOT EXISTS orbital_orbital_interactions (
struct_id TEXT,
resNum1 INTEGER,
orbName1 TEXT,
resNum2 INTEGER,
haroNum2 INTEGER,
resName1 TEXT,
orbNum1 INTEGER,
resName2 TEXT,
htype2 TEXT,
orbHdist REAL,
cosAOH REAL,
cosDHO REAL,
chiBAOH REAL,
chiBDHO REAL,
AOH_angle REAL,
DHO_angle REAL,
chiBAHD REAL,
cosAHD REAL,
FOREIGN KEY (struct_id, resNum1) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
FOREIGN KEY (struct_id, resNum2) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY(struct_id, resNum1, orbName1, resNum2, haroNum2));
CREATE TABLE IF NOT EXISTS orbital_orbital (
struct_id TEXT,
resNum1 INTEGER,
orbName1 TEXT,
resNum2 INTEGER,
orbNum2 INTEGER,
resName1 TEXT,
orbNum1 INTEGER,
resName2 TEXT,
orbName2 TEXT,
orbOrbdist REAL,
cosAOO REAL,
cosDOO REAL,
chiBAOO REAL,
chiBDOO REAL,
AOO_angle REAL,
DOO_angle REAL,
chiBAHD REAL,
cosAHD REAL,
FOREIGN KEY (struct_id, resNum1) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
FOREIGN KEY (struct_id, resNum2) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY(struct_id, resNum1, orbName1, resNum2, orbNum2));
The SaltBridgeFeatures represent salt bridges and related interactions following the definition in:
Donald JE, Kulp DW, DeGrado WF. Salt bridges: Geometrically specific, designable interactions. Proteins: Structure, Function, and Bioinformatics. 2010:n/a-n/a. Available at: http://doi.wiley.com/10.1002/prot.22927 [Accessed November 14, 2010].
CREATE TABLE IF NOT EXISTS salt_bridges (
struct_id INTEGER,
don_resNum INTEGER,
acc_id INTEGER,
psi REAL,
theta REAL,
rho REAL,
orbital TEXT,
FOREIGN KEY (struct_id, don_resNum) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
FOREIGN KEY (struct_id, acc_id) REFERENCES hbond_sites (struct_id, site_id) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY(struct_id, don_resNum, acc_id));
The ChargeChargeFeatures represent interactions between charged groups in molecular conformations. The primary interaction is through the Coulomb potential, which is proportional to q1*q2/R^2. However, because the charge is not always centered at the atom, and the groups can shield the interaction, it is important to measure the angles as well. For each charged site, there are three atoms defined based on the hbond_site_atoms table: q1 = atm, B1 = base, C1 = bbase, and similarly for q2.
CREATE TABLE IF NOT EXISTS charge_charge_pairs (
struct_id INTEGER,
q1_site_id INTEGER,
q2_site_id INTEGER,
B1q1q2_angle REAL,
B2q2q1_angle REAL,
q1q2_distance REAL,
B1q1_torsion REAL,
B2q2_torsion REAL,
FOREIGN KEY (struct_id, q1_site_id) REFERENCES hbond_sites (struct_id, site_id) DEFERRABLE INITIALLY DEFERRED,
FOREIGN KEY (struct_id, q2_site_id) REFERENCES hbond_sites (struct_id, site_id) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY(struct_id, q1_site_id, q2_site_id));
<LoopAnchorFeatures min_loop_length="5" max_loop_length="7"/>
This reporter scans all available windows of a specified number of residues and calculates the translation and rotation to optimally superimpose the landing onto the takeoff of the loop. The translation and rotation data can then be used to compare different "classes" of loop anchors.
CREATE TABLE IF NOT EXISTS loop_anchors (
struct_id INTEGER,
residue_begin INTEGER,
residue_end INTEGER,
FOREIGN KEY (struct_id, residue_begin)
REFERENCES residues (struct_id, resNum)
DEFERRABLE INITIALLY DEFERRED,
FOREIGN KEY (struct_id, residue_end)
REFERENCES residues (struct_id, resNum)
DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY(struct_id, residue_begin, residue_end));
CREATE TABLE IF NOT EXISTS loop_anchor_transforms (
struct_id INTEGER,
residue_begin INTEGER,
residue_end INTEGER,
x REAL,
y REAL,
z REAL,
phi REAL,
psi REAL,
theta REAL,
FOREIGN KEY (struct_id, residue_begin, residue_end)
REFERENCES loop_anchors (struct_id, residue_begin, residue_end)
DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY(struct_id, residue_begin, residue_end));