The ResidueFeatures stores information about each residue in a conformation.
CREATE TABLE IF NOT EXISTS residues (
struct_id INTEGER AUTOINCREMENT,
resNum INTEGER,
name3 TEXT,
res_type TEXT,
FOREIGN KEY (struct_id)
REFERENCES structures (struct_id)
DEFERRABLE INITIALLY DEFERRED,
CONSTRAINT resNum_is_positive CHECK (resNum >= 1),
PRIMARY KEY(struct_id, resNum));
Store the geometry of residues that have canonical backbones but possibly non-canonical sidechains. The geometry is broken into backbone torsional degrees of freedom, nonprotein_residue_conformation , sidechain degrees of freedom, nonprotein_residue_angles , and atomic coordinates residue_atom_coords .
This differs from ProteinResidueConformationFeatures in that the residue angles are stored as a chinum -> chiangle lookup and atomic xzy-coordinates, rather than a table with slots for 4 chi values. If you know you are going to be only working with protein residues, you can conserve space by using the ProteinResidueConformationFeatures.
CREATE TABLE IF NOT EXISTS nonprotein_residue_conformation (
struct_id INTEGER AUTOINCREMENT,
seqpos INTEGER,
phi REAL,
psi REAL,
omega REAL,
FOREIGN KEY (struct_id, seqpos) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY (struct_id, seqpos));
CREATE TABLE IF NOT EXISTS nonprotein_residue_angles (
struct_id INTEGER AUTOINCREMENT,
seqpos INTEGER,
chinum INTEGER,
chiangle REAL,
FOREIGN KEY (struct_id, seqpos) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY (struct_id, seqpos));
CREATE TABLE IF NOT EXISTS residue_atom_coords (
struct_id INTEGER AUTOINCREMENT,
seqpos INTEGER,
atomno INTEGER,
x REAL,
y REAL,
z REAL,
FOREIGN KEY (struct_id, seqpos) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY (struct_id, seqpos, atomno));
The conformation of protein residues is described by the coordinates of each atom. A reduced representation is just specifying the values for each torsional angle degree of freedom, these include the backbone and sidechain torsional angles. Since Proteins have only canonical amino acids, there are at most 4 torsional angles in the sidechains.
CREATE TABLE IF NOT EXISTS protein_residue_conformation (
struct_id INTEGER AUTOINCREMENT,
seqpos INTEGER,
secstruct STRING,
phi REAL,
psi REAL,
omega REAL,
chi1 REAL,
chi2 REAL,
chi3 REAL,
chi4 REAL,
FOREIGN KEY (struct_id, seqpos) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED);"
CREATE TABLE IF NOT EXISTS residue_atom_coords (
struct_id INTEGER AUTOINCREMENT,
seqpos INTEGER,
atomno INTEGER,
x REAL,
y REAL,
z REAL,
FOREIGN KEY (struct_id, seqpos) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED);
The ProteinBackboneTorsionAngleFeatures reporter stores the backbone torsion angle degrees of freedom needed represent proteins made with canonical backbones.
CREATE TABLE IF NOT EXISTS protein_backbone_torsion_angles (
struct_id INTEGER AUTOINCREMENT,
resNum INTEGER,
phi REAL,
psi REAL,
omega REAL,
FOREIGN KEY (struct_id, resNum) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY (struct_id, resNum));
The ProteinBondGeometryFeatures reporter stores bond-angle, bond-length, and bond-torsion for canonical protein amino acids.
let i be an atom number of given residue and let bonded_neighbors( i ) be the set of bonded neighbors of atom i . Then if j , k are in bonded_neighbors( i ) such that j < k , then ( j , i , k ) is a bond angle. In other words, there is a row in bond_intrares_angles such that outAtm1Num = j , cenAtmNum = i , and outAtm2Num = k .
CREATE TABLE IF NOT EXISTS bond_intrares_angles (
struct_id INTEGER AUTOINCREMENT,
resNum INTEGER,
cenAtmNum INTEGER,
outAtm1Num INTEGER,
outAtm2Num INTEGER,
cenAtmName TEXT,
outAtm1Name TEXT,
outAtm2Name TEXT,
ideal REAL,
observed REAL,
difference REAL,
energy REAL,
FOREIGN KEY (struct_id, resNum) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY (struct_id, resNum, cenAtmNum, outAtm1Num, outAtm2Num));
CREATE TABLE IF NOT EXISTS bond_interres_angles (
struct_id INTEGER AUTOINCREMENT,
cenResNum INTEGER,
connResNum INTEGER,
cenAtmNum INTEGER,
outAtmCenNum INTEGER,
outAtmConnNum INTEGER,
cenAtmName TEXT,
outAtmCenName TEXT,
outAtmConnName TEXT,
ideal REAL,
observed REAL,
difference REAL,
energy REAL,
FOREIGN KEY (struct_id, cenResNum) REFERENCES residues (struct_id, cenResNum) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY (struct_id, cenResNum, connResNum, cenAtmNum, outAtmCenNum, outAtmConnNum));
CREATE TABLE IF NOT EXISTS bond_intrares_lengths (
struct_id INTEGER AUTOINCREMENT,
resNum INTEGER,
atm1Num INTEGER,
atm2Num INTEGER,
atm1Name TEXT,
atm2Name TEXT,
ideal REAL,
observed REAL,
difference REAL,
energy REAL,
FOREIGN KEY (struct_id, resNum) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY (struct_id, resNum, atm1Num, atm2Num));
CREATE TABLE IF NOT EXISTS bond_interres_lengths (
struct_id INTEGER AUTOINCREMENT,
res1Num INTEGER,
res2Num INTEGER,
atm1Num INTEGER,
atm2Num INTEGER,
atm1Name TEXT,
atm2Name TEXT,
ideal REAL,
observed REAL,
difference REAL,
energy REAL,
FOREIGN KEY (struct_id, res1Num) REFERENCES residues (struct_id, res1Num) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY (struct_id, res1Num, atm1Num, atm2Num));
chemical/mm_atom_type_sets/fa_standard/mm_torsion_params.txt
CREATE TABLE IF NOT EXISTS bond_intrares_torsions (
struct_id INTEGER AUTOINCREMENT,
resNum INTEGER,
atm1Num INTEGER,
atm2Num INTEGER,
atm3Num INTEGER,
atm4Num INTEGER,
atm1Name TEXT,
atm2Name TEXT,
atm3Name TEXT,
atm4Name TEXT,
ideal REAL,
observed REAL,
difference REAL,
energy REAL,
FOREIGN KEY (struct_id, resNum) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY (struct_id, resNum, atm1Num, atm2Num, atm3Num, atm4Num));
The RotamerFeatures reporter stores the predicted sidechain conformation given the backbone torsion angles and the observed deviation away from the it. Currently this is restricted to canonical amino acids and use with the dunbrack library. The dun08 and dun10 libraries define semi-rotameric conformations for ASP , GLU , PHE , HIS , ASN , GLN , TRP , and TYR where the last torsion angle is treated as a continuous variable.
For the dun02 library see
For the dun10 library see
Shapovalov MV, Dunbrack RL. A smoothed backbone-dependent rotamer library for proteins derived from adaptive kernel density estimates and regressions. Structure (London, England : 1993). 2011;19(6):844-58. artid=3118414&tool=pmcentrez&rendertype=abstract [Accessed July 24, 2011].
residue_rotamers :
CREATE TABLE residue_rotamers IF NOT EXISTS (
struct_id INTEGER AUTOINCREMENT,
residue_number INTEGER,
rotamer_bin INTEGER,
nchi INTEGER,
semi_rotameric INTEGER,
chi1_mean REAL,
chi2_mean REAL,
chi3_mean REAL,
chi4_mean REAL,
chi1_standard_deviation REAL,
chi2_standard_deviation REAL,
chi3_standard_deviation REAL,
chi4_standard_deviation REAL,
chi1_deviation REAL,
chi2_deviation REAL,
chi3_deviation REAL,
chi4_deviation REAL,
rotamer_bin_probability REAL,
FOREIGN KEY (struct_id, resNum) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY (struct_id, residue_number));
Measures of burial are important for determining solvation and desolvation effects.
CREATE TABLE IF NOT EXISTS residue_burial (
struct_id INTEGER AUTOINCREMENT,
resNum INTEGER,
ten_a_neighbors INTEGER,
twelve_a_neighbors INTEGER,
neigh_vect_raw REAL,
sasa_r100 REAL,
sasa_r140 REAL,
sasa_r200 REAL,
FOREIGN KEY (struct_id, resNum) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY (struct_id, resNum));
Secondary structure is a classification scheme for residues that participate in regular, multi-residue interactions.
CREATE TABLE IF NOT EXISTS residue_secondary_structure(
struct_id INTEGER AUTOINCREMENT,
resNum INTEGER,
dssp TEXT,
FOREIGN KEY(struct_id, resNum) REFERENCES residues(struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY(struct_id, resNum));
CREATE TABLE dssp_codes(
code TEXT NOT NULL,
label TEXT NOT NULL,
PRIMARY KEY (code));
INSERT INTO "dssp_codes" VALUES('H','H: a-Helix');
INSERT INTO "dssp_codes" VALUES('E','E: b-Sheet');
INSERT INTO "dssp_codes" VALUES('T','T: HB Turn');
INSERT INTO "dssp_codes" VALUES('G','G: 3/10 Helix');
INSERT INTO "dssp_codes" VALUES('B','B: b-Bridge');
INSERT INTO "dssp_codes" VALUES('S','S: Bend');
INSERT INTO "dssp_codes" VALUES('I','I: pi-Helix');
INSERT INTO "dssp_codes" VALUES(' ','Irregular');
<BetaTurnDetectionFeatures/>
This reporter scans all available windows of four residues and determines if a β-turn is present, determines the type of β-turn and then writes the starting residue number and turn type to a database.
CREATE TABLE IF NOT EXISTS beta_turns (
struct_id INTEGER AUTOINCREMENT,
residue_begin INTEGER,
turn_type TEXT,
FOREIGN KEY (struct_id, residue_begin) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY(struct_id, residue_begin));
Measure how constrained each residue is, following Fleishman, Khare, Koga, & Baker, Restricted sidechain plasticity in the structures of native proteins and complexes .
CREATE TABLE IF NOT EXISTS rotamer_boltzmann_weight (
struct_id INTEGER AUTOINCREMENT,
resNum INTEGER,
boltzmann_weight REAL,
FOREIGN KEY (struct_id, resNum) REFERENCES residues (struct_id, resNum) DEFERRABLE INITIALLY DEFERRED,
PRIMARY KEY (struct_id, resNum));