From 9505bc9b1eb6381ab2074586be5ec38b67a0d48e Mon Sep 17 00:00:00 2001 From: Steffen Moeller Date: Fri, 5 Jun 2015 14:49:29 +0200 Subject: [PATCH 1/3] Hydroxyproline is an amino acid --- source/KERNEL/residue.C | 8 ++++++++ source/STRUCTURE/peptides.C | 11 +++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/source/KERNEL/residue.C b/source/KERNEL/residue.C index f2bbe1afa4..95cd071c64 100644 --- a/source/KERNEL/residue.C +++ b/source/KERNEL/residue.C @@ -163,6 +163,10 @@ namespace BALL Log.error() << "No next residue!" << endl; } } + else + { + Log.error() << "Has no torsion Psi! (" << getFullName() << ")" << endl; + } return result; } @@ -227,6 +231,10 @@ namespace BALL Log.error() << "No previous residue!" << endl; } } + else + { + Log.error() << "Has no torsion Phi! (" << getFullName() << ")" << endl; + } return result; } diff --git a/source/STRUCTURE/peptides.C b/source/STRUCTURE/peptides.C index 35378aef04..afec083480 100644 --- a/source/STRUCTURE/peptides.C +++ b/source/STRUCTURE/peptides.C @@ -19,8 +19,15 @@ namespace BALL namespace Peptides { - const String one_letter_codes = "ARNDCQEGHILKMFPSTWYV"; - const String three_letter_codes = "ALA@ARG@ASN@ASP@CYS@GLN@GLU@GLY@HIS@ILE@LEU@LYS@MET@PHE@PRO@SER@THR@TRP@TYR@VAL@"; + const String one_letter_codes = "ARNDCQEGHILKMFPSTWYVBZ"; + /** + * http://www.apsstylemanual.org/oldmanual/reference/amino-acids.htm also defines Cit, Hey, Hyp, Orn, Thx + * somewhat exceptional is Xaa and the ambiguity codes like Asx and Glx" + * http://www.fao.org/docrep/004/y2775e/y2775e0e.htm has single letter for GLX and ASX + * Instead of UNK one might possibly better use "Xaa" as long as one is confident that an AA is meant. + * It may also be preferable to have another character than '?' as the representation of unknown, e.g. 'X'. + */ + const String three_letter_codes = "ALA@ARG@ASN@ASP@CYS@GLN@GLU@GLY@HIS@ILE@LEU@LYS@MET@PHE@PRO@SER@THR@TRP@TYR@VAL@ASX@GLX@CIT@HEY@HYP@ORN@THX@"; char OneLetterCode(const String& aa) { From 97dc1d09d1706732c66848c5af9c7da656600338 Mon Sep 17 00:00:00 2001 From: Steffen Moeller Date: Fri, 5 Jun 2015 15:03:54 +0200 Subject: [PATCH 2/3] Set is_proline also for HYP --- include/BALL/STRUCTURE/peptideBuilder.h | 9 ++++++--- source/STRUCTURE/peptideBuilder.C | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/include/BALL/STRUCTURE/peptideBuilder.h b/include/BALL/STRUCTURE/peptideBuilder.h index 4e1c29cb29..18ae645d81 100644 --- a/include/BALL/STRUCTURE/peptideBuilder.h +++ b/include/BALL/STRUCTURE/peptideBuilder.h @@ -159,9 +159,12 @@ namespace BALL String chainname_; String proteinname_; - /// The proline flag - bool is_proline_; - FragmentDB* fragment_db_; + /** The proline flag is set for side chains that + * are covalently bound to the backbone. Proline + * and hydroxyproline are among them. + */ + bool is_proline_; + FragmentDB* fragment_db_; /** some helper functions for the construction of the residue; for internal use only * omega is not yet implemented diff --git a/source/STRUCTURE/peptideBuilder.C b/source/STRUCTURE/peptideBuilder.C index 00fda1c02d..b8d923c5bc 100644 --- a/source/STRUCTURE/peptideBuilder.C +++ b/source/STRUCTURE/peptideBuilder.C @@ -226,7 +226,7 @@ namespace BALL // special case: residue is a proline type = i->getType(); type.toUpper(); - is_proline_ = (type == "PRO") ? true : false; + is_proline_ = ("PRO" == type || "HYP" == type) ? true : false; Residue* residue2 = createResidue_(i->getType(), id); From 76ce286c7c1c3d7f55e385138ac4bad3e009d719 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20M=C3=B6ller?= Date: Mon, 8 Jun 2015 14:31:59 +0200 Subject: [PATCH 3/3] Attempt to describe HYP structure --- data/fragments/PRO.db | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/data/fragments/PRO.db b/data/fragments/PRO.db index 5da753ffa9..4ba0fb2ddc 100644 --- a/data/fragments/PRO.db +++ b/data/fragments/PRO.db @@ -14,6 +14,8 @@ CBC 1.34565 1.283736 -2.23033 1HBH 2.062533 0.6767905 -2.785621 2HBH 0.7182986 1.840951 -2.927554 + 1OBO 0.7182986 1.840951 -2.927554 + 1OHH 1.4182986 2.440951 -2.927554 CGC 2.02933 2.275858 -1.278275 1HGH 3.057449 1.966999 -1.081919 2HGH 2.018846 3.280874 -1.702292 @@ -42,6 +44,8 @@ 32OXT C s 331H N s 342H N s + 402OB CB s + 412OH 2OB s Connections N-termN C-term s 1.33 0.5 @@ -56,9 +60,22 @@ OXT 1H 2H + 2OB + 2OH + HYP + Delete + 2HB + OXT + 1H + 2H + PRO-M + Delete + 2OB + 2OH + Properties C_TERMINAL N_TERMINAL @@ -66,6 +83,8 @@ PRO-C Delete + 2OB + 2OH 1H 2H @@ -75,6 +94,8 @@ PRO-N Delete + 2OB + 2OH OXT Properties