Skip to content
Snippets Groups Projects
Commit bb2b9454 authored by Bienchen's avatar Bienchen
Browse files

MMCIfParser: solved missing label_seq_id problem (numbering water);...

MMCIfParser: solved missing label_seq_id problem (numbering water); recongnition of differen models (NMR) plus unit testing
parent 8fa62a8d
No related branches found
No related tags found
No related merge requests found
......@@ -52,11 +52,12 @@ void MMCifParser::Init()
{
warned_name_mismatch_ = false;
category_ = DONT_KNOW;
memset(category_counts_, 0, DONT_KNOW * sizeof(int));
chain_count_ = 0;
atom_count_ = 0;
residue_count_ = 0;
auth_chain_id_ = false;
go_on_ = true;
has_model_ = false;
//memset(indices_, -1, MAX_ITEMS_IN_ROW * sizeof(int));
restrict_chains_ = "";
subst_res_id_ = "";
......@@ -103,8 +104,6 @@ bool MMCifParser::OnBeginData(const StringRef& data_name)
this->ClearState();
go_on_ = true;
return true;
}
......@@ -115,6 +114,7 @@ bool MMCifParser::OnBeginLoop(const StarLoopDesc& header)
// walk through possible categories
if (header.GetCategory() == "atom_site") {
category_ = ATOM_SITE;
category_counts_[category_]++;
// mandatory items
this->TryStoreIdx(AUTH_ASYM_ID, "auth_asym_id", header);
this->TryStoreIdx(ID, "id", header);
......@@ -130,11 +130,22 @@ bool MMCifParser::OnBeginLoop(const StarLoopDesc& header)
this->TryStoreIdx(CARTN_Y, "Cartn_y", header);
this->TryStoreIdx(CARTN_Z, "Cartn_z", header);
// optional
indices_[OCCUPANCY] = header.GetIndex("occupancy");
indices_[B_ISO_OR_EQUIV] = header.GetIndex("B_iso_or_equiv");
indices_[GROUP_PDB] = header.GetIndex("group_PDB");
indices_[AUTH_SEQ_ID] = header.GetIndex("auth_seq_id");
indices_[PDBX_PDB_INS_CODE] = header.GetIndex("pdbx_PDB_ins_code");
indices_[OCCUPANCY] = header.GetIndex("occupancy");
indices_[B_ISO_OR_EQUIV] = header.GetIndex("B_iso_or_equiv");
indices_[GROUP_PDB] = header.GetIndex("group_PDB");
indices_[AUTH_SEQ_ID] = header.GetIndex("auth_seq_id");
indices_[PDBX_PDB_INS_CODE] = header.GetIndex("pdbx_PDB_ins_code");
indices_[PDBX_PDB_MODEL_NUM] = header.GetIndex("pdbx_PDB_model_num");
// post processing
if (category_counts_[category_] > 1) {
if ((has_model_ && (indices_[PDBX_PDB_MODEL_NUM] == -1))||
(!has_model_ && (indices_[PDBX_PDB_MODEL_NUM] != -1))) { // unit test
throw IOException(this->FormatDiagnostic(STAR_DIAG_ERROR,
"Not all atom_site entries carry a model number.",
this->GetCurrentLinenum()));
}
}
return true;
}
/*else if (header.GetCategory()=="entity_poly") {
......@@ -211,13 +222,26 @@ void MMCifParser::ParseAndAddAtom(const std::vector<StringRef>& columns)
StringRef res_name, atom_name;
mol::ResNum res_num(0);
bool valid_res_num = false;
if (indices_[PDBX_PDB_MODEL_NUM] != -1) {
if (has_model_) {
if (curr_model_ != TryGetInt(columns[indices_[PDBX_PDB_MODEL_NUM]],
"atom_site.pdbx_PDB_model_num")) {
return;
}
} else {
has_model_ = true;
curr_model_ = TryGetInt(columns[indices_[PDBX_PDB_MODEL_NUM]],
"atom_site.pdbx_PDB_model_num");
}
}
if (!this->ParseAtomIdent(columns,
chain_name,
res_name,
res_num,
valid_res_num,
atom_name,
alt_loc)) {
alt_loc)) {// unit test
return;
}
Real occ = 1.00f, temp = 0;
......@@ -451,7 +475,7 @@ void PDBReader::Import(mol::EntityHandle& ent,
continue;
LOG_TRACE("processing HETATM entry");
this->ParseAndAddAtom(curr_line, line_num_, ent,
StringRef("HETATM", 6));
StringRef("HETATM", 6));
} else if (IEquals(curr_line.substr(0, 6), StringRef("HELIX ", 6))) {
if (!charmm_style_) {
this->ParseHelixEntry(curr_line);
......
......@@ -83,7 +83,7 @@ public:
/// \param header categories of the upcoming loop block
///
/// \return bool
virtual bool OnBeginLoop(const StarLoopDesc& header);
virtual bool OnBeginLoop(const StarLoopDesc& header); // tested
/// \brief read a row of data
///
......@@ -116,18 +116,21 @@ public:
"' header",
this->GetCurrentLinenum()));
}
}
} // tested
/// \brief Check a PDB id to be of length 4 and start with a digit
///
/// \param pdbid putative PDB id
///
/// \return true for a valid id, false otherwise
bool IsValidPDBIdent(const StringRef& pdbid);
bool IsValidPDBIdent(const StringRef& pdbid); // tested
/// \brief ...
/// \brief fetch values identifying atoms
///
/// \param columns data row
/// \param[in] columns data row
/// \param[out] chain_name takes atom_site.label_asym_id or, if
/// auth_chain_id_ is set, atom_site.auth_asym_id as a chain name
/// \param atom_name corresponds to label_atom_id
bool ParseAtomIdent(const std::vector<StringRef>& columns,
String& chain_name,
......@@ -145,8 +148,8 @@ public:
private:
/// \enum magic numbers of this class
typedef enum {
PDBID_LEN=4, ///< length of a PDB id
MAX_ITEMS_IN_ROW=17 ///< count for possible items in a loop row
PDBID_LEN=4, ///< length of a PDB id
MAX_ITEMS_IN_ROW=18, ///< count for possible items in a loop row
} MMCifMagicNos;
/// \enum items of the atom_site category
......@@ -167,7 +170,8 @@ private:
OCCUPANCY,
B_ISO_OR_EQUIV,
PDBX_PDB_INS_CODE,
GROUP_PDB ///< record name
GROUP_PDB, ///< record name
PDBX_PDB_MODEL_NUM ///< model no. (especially NMR structures)
} AtomSiteItems;
/// \enum categories of the mmcif format
......@@ -178,7 +182,8 @@ private:
// members
MMCifCategory category_;
int indices_[MAX_ITEMS_IN_ROW]; ///< map items to values in loops
int category_counts_[DONT_KNOW]; ///< overall no. of atom_site loops
int indices_[MAX_ITEMS_IN_ROW]; ///< map items to values in loops
const IOProfile& profile_;
mol::EntityHandle& ent_handle_;
String restrict_chains_;
......@@ -189,8 +194,9 @@ private:
int residue_count_;
int atom_count_;
bool warned_name_mismatch_;
bool go_on_; ///< flow control within the parser hooks
String subst_res_id_; ///< work around for missing label_seq_id's
bool has_model_; ///< keep track of models through different atom_sites
int curr_model_; ///< if we have pdbx_PDB_model_num, store no.
//from pdbdreader
//entity als member, fill in ondatarow
//import function
......
......@@ -47,12 +47,12 @@ public:
BOOST_AUTO_TEST_SUITE( io );
BOOST_AUTO_TEST_CASE(mmcif_isvalidpdbid)
BOOST_AUTO_TEST_CASE(mmcif_isvalidpdbident)
{
mol::EntityHandle eh=mol::CreateEntity();
// on changing the tests for a PDB id in mmcif files, extend this unit test
BOOST_MESSAGE(" Running mmcif_isvalidpdbid tests...");
BOOST_MESSAGE(" Running mmcif_isvalidpdbident tests...");
std::ifstream s("testfiles/mmcif/atom_site.mmcif");
TestMMCifParserProtected tmmcif_p(s, eh);
StringRef id = StringRef("1FOO", 4);
......@@ -85,11 +85,12 @@ BOOST_AUTO_TEST_CASE(mmcif_trystoreidx)
BOOST_CHECK_NO_THROW(tmmcif_p.TryStoreIdx(0, "bar", mmcif_h));
}
BOOST_AUTO_TEST_CASE(mmcif_atom_site_header)
BOOST_AUTO_TEST_CASE(mmcif_onbeginloop)
{
mol::EntityHandle eh=mol::CreateEntity();
BOOST_MESSAGE(" Running mmcif_atom_site_header tests...");
// add more tests on new mandatory items
BOOST_MESSAGE(" Running mmcif_onbeginloop tests...");
std::ifstream s("testfiles/mmcif/atom_site.mmcif");
MMCifParser mmcif_p(s, eh, IOProfile());
StarLoopDesc mmcif_h;
......@@ -133,6 +134,50 @@ BOOST_AUTO_TEST_CASE(mmcif_atom_site_header)
BOOST_MESSAGE(" done.");
}
BOOST_AUTO_TEST_CASE(mmcif_parse_models)
{
BOOST_MESSAGE(" Running mmcif_parse_models tests...");
IOProfile profile;
// positive w models
BOOST_MESSAGE(" true positive test for models...");
{
mol::EntityHandle eh = mol::CreateEntity();
MMCifParser mmcif_p("testfiles/mmcif/model_truepos.mmcif", eh, profile);
BOOST_CHECK_NO_THROW(mmcif_p.Parse());
BOOST_REQUIRE_EQUAL(eh.GetChainCount(), 2);
BOOST_REQUIRE_EQUAL(eh.GetResidueCount(), 2);
BOOST_REQUIRE_EQUAL(eh.GetAtomCount(), 26);
}
BOOST_MESSAGE(" done.");
// positive wo models atom_site.mmcif
BOOST_MESSAGE(" test absent atom_site.pdbx_PDB_model_num entry...");
{
mol::EntityHandle eh = mol::CreateEntity();
MMCifParser mmcif_p("testfiles/mmcif/atom_site.mmcif", eh, profile);
BOOST_CHECK_NO_THROW(mmcif_p.Parse());
}
BOOST_MESSAGE(" done.");
// negative, more than 1 atom_site category
BOOST_MESSAGE(" testing more than one atom_site block...");
{
mol::EntityHandle eh = mol::CreateEntity();
MMCifParser mmcif_p("testfiles/mmcif/model_multi_atom_site.mmcif", eh,
profile);
BOOST_CHECK_THROW(mmcif_p.Parse(), IOException);
}
{
mol::EntityHandle eh = mol::CreateEntity();
MMCifParser mmcif_p("testfiles/mmcif/model_multi_atom_site_inverted.mmcif",
eh, profile);
BOOST_CHECK_THROW(mmcif_p.Parse(), IOException);
}
BOOST_MESSAGE(" done.");
BOOST_MESSAGE(" done.");
}
BOOST_AUTO_TEST_CASE(mmcif_parseatomident)
{
mol::EntityHandle eh = mol::CreateEntity();
......@@ -141,14 +186,16 @@ BOOST_AUTO_TEST_CASE(mmcif_parseatomident)
std::ifstream s("testfiles/mmcif/atom_site.mmcif");
IOProfile profile;
TestMMCifParserProtected tmmcif_p(s, eh, profile);
std::vector<StringRef> cols;
String chain_name;
StringRef res_name;
mol::ResNum resnum(0);
StringRef atom_name;
//std::vector<StringRef> cols;
//String chain_name;
//StringRef res_name;
//mol::ResNum resnum(0);
//StringRef atom_name;
//char alt_loc;
//BOOST_MESSAGE(" testing short atom_site entry");
BOOST_MESSAGE(" testing valid line");
//tmmcif_p.ParseAtomIdent();
BOOST_MESSAGE(" done.");
// negative
//cols.push_back(StringRef("ATOM", 4));
//BOOST_CHECK_THROW(tmmcif_p.ParseAtomIdent(cols,
......@@ -197,16 +244,36 @@ BOOST_AUTO_TEST_CASE(mmcif_parseandaddatom)
BOOST_AUTO_TEST_CASE(mmcif_testreader)
{
BOOST_MESSAGE(" Running mmcif_testreader tests...");
mol::EntityHandle eh = mol::CreateEntity();
std::ifstream s("testfiles/mmcif/atom_site.mmcif");
IOProfile profile;
MMCifParser mmcif_p(s, eh, profile);
mmcif_p.Parse();
BOOST_MESSAGE(" testing Parse()...");
BOOST_CHECK_NO_THROW(mmcif_p.Parse());
BOOST_REQUIRE_EQUAL(eh.GetChainCount(), 3);
BOOST_REQUIRE_EQUAL(eh.GetResidueCount(), 14);
BOOST_REQUIRE_EQUAL(eh.GetAtomCount(), 35);
mol::ChainHandle ch = eh.FindChain("A");
BOOST_CHECK(ch.IsValid());
BOOST_MESSAGE(" done.");
BOOST_REQUIRE_EQUAL(eh.GetChainCount(), 2);
BOOST_REQUIRE_EQUAL(eh.GetResidueCount(), 4);
BOOST_REQUIRE_EQUAL(eh.GetAtomCount(), 25);
BOOST_MESSAGE(" testing numbering water...");
ch = eh.FindChain("O");
BOOST_CHECK(ch.IsValid());
mol::ResidueHandleList rl = ch.GetResidueList();
mol::ResidueHandleList::const_iterator rs;
int i = 1;
for (rs = rl.begin(); rs != rl.end(); ++rs, ++i) {
BOOST_CHECK_EQUAL(rs->GetNumber().GetNum(), i);
}
BOOST_MESSAGE(" done.");
BOOST_MESSAGE(" done.");
}
BOOST_AUTO_TEST_SUITE_END();
data_1BAR
# this file is also used in the mmcif_parse_models tests for a true negative
# test, hence it is not allowed to carry atom_site.pdbx_PDB_model_num entries
loop_
_atom_site.group_PDB
_atom_site.type_symbol
......@@ -17,33 +20,45 @@ _atom_site.B_iso_or_equiv
_atom_site.footnote_id
_atom_site.auth_seq_id
_atom_site.id
_atom_site.pdbx_PDB_ins_code
_atom_site.auth_asym_id
ATOM N N VAL A 11 . 1 25.369 30.691 11.795 1.00 17.93 . 11 1 A
ATOM C CA VAL A 11 . 1 25.970 31.965 12.332 1.00 17.75 . 11 2 A
ATOM C C VAL A 11 . 1 25.569 32.010 13.808 1.00 17.83 . 11 3 A
ATOM O O VAL A 11 . 1 24.735 31.190 14.167 1.00 17.53 . 11 4 A
ATOM C CB VAL A 11 . 1 25.379 33.146 11.540 1.00 17.66 . 11 5 A
ATOM C CG1 VAL A 11 . 1 25.584 33.034 10.030 1.00 18.86 . 11 6 A
ATOM C CG2 VAL A 11 . 1 23.933 33.309 11.872 1.00 17.12 . 11 7 A
ATOM N N THR A 12 . 1 26.095 32.930 14.590 1.00 18.97 4 12 8 A
ATOM C CA THR A 12 . 1 25.734 32.995 16.032 1.00 19.80 4 12 9 A
ATOM C C THR A 12 . 1 24.695 34.106 16.113 1.00 20.92 4 12 10 A
ATOM O O THR A 12 . 1 24.869 35.118 15.421 1.00 21.84 4 12 11 A
ATOM C CB THR A 12 . 1 26.911 33.346 17.018 1.00 20.51 4 12 12 A
ATOM O OG1 THR A 12 3 1 27.946 33.921 16.183 0.50 20.29 4 12 13 A
ATOM O OG1 THR A 12 4 1 27.769 32.142 17.103 0.50 20.59 4 12 14 A
ATOM C CG2 THR A 12 3 1 27.418 32.181 17.878 0.50 20.47 4 12 15 A
ATOM C CG2 THR A 12 4 1 26.489 33.778 18.426 0.50 20.00 4 12 16 A
ATOM N N ILE A 13 . 1 23.664 33.855 16.884 1.00 22.08 . 13 17 A
ATOM C CA ILE A 13 . 1 22.623 34.850 17.093 1.00 23.44 . 13 18 A
ATOM C C ILE A 13 . 1 22.657 35.113 18.610 1.00 25.77 . 13 19 A
ATOM O O ILE A 13 . 1 23.123 34.250 19.406 1.00 26.28 . 13 20 A
ATOM C CB ILE A 13 . 1 21.236 34.463 16.492 1.00 22.67 . 13 21 A
ATOM C CG1 ILE A 13 . 1 20.478 33.469 17.371 1.00 22.14 . 13 22 A
ATOM C CG2 ILE A 13 . 1 21.357 33.986 15.016 1.00 21.75 . 13 23 A
ATOM N N VAL A 11 . 1 25.369 30.691 11.795 1.00 17.93 . 11 1 ? A
ATOM C CA VAL A 11 . 1 25.970 31.965 12.332 1.00 17.75 . 11 2 ? A
ATOM C C VAL A 11 . 1 25.569 32.010 13.808 1.00 17.83 . 11 3 ? A
ATOM O O VAL A 11 . 1 24.735 31.190 14.167 1.00 17.53 . 11 4 ? A
ATOM C CB VAL A 11 . 1 25.379 33.146 11.540 1.00 17.66 . 11 5 ? A
ATOM C CG1 VAL A 11 . 1 25.584 33.034 10.030 1.00 18.86 . 11 6 ? A
ATOM C CG2 VAL A 11 . 1 23.933 33.309 11.872 1.00 17.12 . 11 7 ? A
ATOM N N THR A 12 . 1 26.095 32.930 14.590 1.00 18.97 4 12 8 ? A
ATOM C CA THR A 12 . 1 25.734 32.995 16.032 1.00 19.80 4 12 9 ? A
ATOM C C THR A 12 . 1 24.695 34.106 16.113 1.00 20.92 4 12 10 ? A
ATOM O O THR A 12 . 1 24.869 35.118 15.421 1.00 21.84 4 12 11 ? A
ATOM C CB THR A 12 . 1 26.911 33.346 17.018 1.00 20.51 4 12 12 ? A
ATOM O OG1 THR A 12 3 1 27.946 33.921 16.183 0.50 20.29 4 12 13 ? A
ATOM O OG1 THR A 12 4 1 27.769 32.142 17.103 0.50 20.59 4 12 14 ? A
ATOM C CG2 THR A 12 3 1 27.418 32.181 17.878 0.50 20.47 4 12 15 ? A
ATOM C CG2 THR A 12 4 1 26.489 33.778 18.426 0.50 20.00 4 12 16 ? A
ATOM N N ILE A 13 . 1 23.664 33.855 16.884 1.00 22.08 . 13 17 ? A
ATOM C CA ILE A 13 . 1 22.623 34.850 17.093 1.00 23.44 . 13 18 ? A
ATOM C C ILE A 13 . 1 22.657 35.113 18.610 1.00 25.77 . 13 19 ? A
ATOM O O ILE A 13 . 1 23.123 34.250 19.406 1.00 26.28 . 13 20 ? A
ATOM C CB ILE A 13 . 1 21.236 34.463 16.492 1.00 22.67 . 13 21 ? A
ATOM C CG1 ILE A 13 . 1 20.478 33.469 17.371 1.00 22.14 . 13 22 ? A
ATOM C CG2 ILE A 13 . 1 21.357 33.986 15.016 1.00 21.75 . 13 23 ? A
# - - - - data truncated for brevity - - - -
HETATM C C1 APS C 14 1 1 4.171 29.012 7.116 0.58 17.27 1 300 101 A
HETATM C C2 APS C 14 1 1 4.949 27.758 6.793 0.58 16.95 1 300 102 A
HETATM O O3 APS C 14 1 1 4.800 26.678 7.393 0.58 16.85 1 300 103 A
HETATM N N4 APS C 14 1 1 5.930 27.841 5.869 0.58 16.43 1 300 104 A
HETATM C C1 APS C 14 1 1 4.171 29.012 7.116 0.58 17.27 1 300 101 ? A
HETATM C C2 APS C 14 1 1 4.949 27.758 6.793 0.58 16.95 1 300 102 ? A
HETATM O O3 APS C 14 1 1 4.800 26.678 7.393 0.58 16.85 1 300 103 ? A
HETATM N N4 APS C 14 1 1 5.930 27.841 5.869 0.58 16.43 1 300 104 ? A
# - - - - data truncated for brevity - - - -
# H2O
HETATM O O HOH O . . 5 -5.322 10.972 9.720 0.95 7.25 . 2001 2731 ? B
HETATM O O HOH O . . 5 4.148 4.008 12.383 0.64 14.61 . 2002 2732 ? B
HETATM O O HOH O . . 5 -2.238 5.875 8.525 0.92 15.43 . 2003 2733 ? B
HETATM O O HOH O . . 5 0.114 4.343 8.960 0.45 20.65 . 2004 2734 ? B
HETATM O O HOH O . . 5 1.045 9.537 8.846 0.98 4.03 . 2005 2735 ? B
HETATM O O HOH O . . 5 -0.532 11.899 9.196 1.00 4.09 . 2006 2736 ? B
HETATM O O HOH O . . 5 0.936 18.270 7.581 0.97 5.52 . 2007 2737 ? B
HETATM O O HOH O . . 5 -6.561 13.498 9.629 1.00 8.03 . 2008 2738 ? B
HETATM O O HOH O . . 5 -11.465 18.494 11.144 0.81 14.02 . 2009 2739 ? B
HETATM O O HOH O . . 5 12.795 11.508 13.991 0.90 35.55 . 2010 2740 ? B
data_1MBA
# derived from 2JSP
loop_
_atom_site.group_PDB
_atom_site.id
_atom_site.type_symbol
_atom_site.label_atom_id
_atom_site.label_alt_id
_atom_site.label_comp_id
_atom_site.label_asym_id
_atom_site.label_entity_id
_atom_site.label_seq_id
_atom_site.pdbx_PDB_ins_code
_atom_site.Cartn_x
_atom_site.Cartn_y
_atom_site.Cartn_z
_atom_site.auth_seq_id
_atom_site.auth_comp_id
_atom_site.auth_asym_id
_atom_site.auth_atom_id
_atom_site.pdbx_PDB_model_num
ATOM 1 N N . ALA A 1 1 ? 13.847 16.632 5.806 1 ALA A N 1
ATOM 2 C CA . ALA A 1 1 ? 14.050 15.239 5.351 1 ALA A CA 1
ATOM 3 C C . ALA A 1 1 ? 15.057 15.051 4.185 1 ALA A C 1
ATOM 4 O O . ALA A 1 1 ? 16.242 14.860 4.448 1 ALA A O 1
ATOM 5 C CB . ALA A 1 1 ? 12.682 14.599 5.070 1 ALA A CB 1
ATOM 6 H H1 . ALA A 1 1 ? 14.344 17.346 5.293 1 ALA A H1 1
ATOM 7 H HA . ALA A 1 1 ? 14.425 14.660 6.196 1 ALA A HA 1
ATOM 8 H HB1 . ALA A 1 1 ? 12.168 15.166 4.295 1 ALA A HB1 1
ATOM 9 H HB2 . ALA A 1 1 ? 12.824 13.571 4.734 1 ALA A HB2 1
ATOM 10 H HB3 . ALA A 1 1 ? 12.085 14.603 5.981 1 ALA A HB3 1
ATOM 11 N N . VAL B 1 2 ? 14.602 15.209 2.935 2 VAL A N 1
ATOM 12 C CA . VAL B 1 2 ? 15.402 15.012 1.699 2 VAL A CA 1
ATOM 13 C C . VAL B 1 2 ? 14.579 15.343 0.431 2 VAL A C 1
ATOM 14 O O . VAL B 1 2 ? 14.518 16.503 0.039 2 VAL A O 1
ATOM 15 C CB . VAL B 1 2 ? 16.165 13.656 1.685 2 VAL A CB 1
ATOM 16 C CG1 . VAL B 1 2 ? 15.292 12.399 1.812 2 VAL A CG1 1
ATOM 17 C CG2 . VAL B 1 2 ? 17.136 13.551 0.504 2 VAL A CG2 1
ATOM 18 H H . VAL B 1 2 ? 13.617 15.489 2.821 2 VAL A H 1
ATOM 19 H HA . VAL B 1 2 ? 16.285 15.650 1.689 2 VAL A HA 1
ATOM 20 H HB . VAL B 1 2 ? 16.859 13.653 2.526 2 VAL A HB 1
ATOM 21 H HG11 . VAL B 1 2 ? 15.925 11.512 1.791 2 VAL A HG11 1
ATOM 22 H HG12 . VAL B 1 2 ? 14.743 12.431 2.754 2 VAL A HG12 1
ATOM 23 H HG13 . VAL B 1 2 ? 14.586 12.361 0.982 2 VAL A HG13 1
ATOM 24 H HG21 . VAL B 1 2 ? 17.872 14.353 0.565 2 VAL A HG21 1
ATOM 25 H HG22 . VAL B 1 2 ? 17.645 12.588 0.536 2 VAL A HG22 1
ATOM 26 H HG23 . VAL B 1 2 ? 16.583 13.637 -0.431 2 VAL A HG23 1
#
ATOM 1 N N . ALA A 1 1 ? 13.847 16.632 5.806 1 ALA A N 2
ATOM 2 C CA . ALA A 1 1 ? 14.050 15.239 5.351 1 ALA A CA 2
ATOM 3 C C . ALA A 1 1 ? 15.057 15.051 4.185 1 ALA A C 2
ATOM 4 O O . ALA A 1 1 ? 16.242 14.860 4.448 1 ALA A O 2
ATOM 5 C CB . ALA A 1 1 ? 12.682 14.599 5.070 1 ALA A CB 2
ATOM 6 H H1 . ALA A 1 1 ? 14.344 17.346 5.293 1 ALA A H1 2
ATOM 7 H HA . ALA A 1 1 ? 14.425 14.660 6.196 1 ALA A HA 2
ATOM 8 H HB1 . ALA A 1 1 ? 12.168 15.166 4.295 1 ALA A HB1 2
ATOM 9 H HB2 . ALA A 1 1 ? 12.824 13.571 4.734 1 ALA A HB2 2
ATOM 10 H HB3 . ALA A 1 1 ? 12.085 14.603 5.981 1 ALA A HB3 2
ATOM 11 N N . VAL B 1 2 ? 14.602 15.209 2.935 2 VAL A N 2
ATOM 12 C CA . VAL B 1 2 ? 15.402 15.012 1.699 2 VAL A CA 2
ATOM 13 C C . VAL B 1 2 ? 14.579 15.343 0.431 2 VAL A C 2
ATOM 14 O O . VAL B 1 2 ? 14.518 16.503 0.039 2 VAL A O 2
ATOM 15 C CB . VAL B 1 2 ? 16.165 13.656 1.685 2 VAL A CB 2
ATOM 16 C CG1 . VAL B 1 2 ? 15.292 12.399 1.812 2 VAL A CG1 2
ATOM 17 C CG2 . VAL B 1 2 ? 17.136 13.551 0.504 2 VAL A CG2 2
ATOM 18 H H . VAL B 1 2 ? 13.617 15.489 2.821 2 VAL A H 2
ATOM 19 H HA . VAL B 1 2 ? 16.285 15.650 1.689 2 VAL A HA 2
ATOM 20 H HB . VAL B 1 2 ? 16.859 13.653 2.526 2 VAL A HB 2
ATOM 21 H HG11 . VAL B 1 2 ? 15.925 11.512 1.791 2 VAL A HG11 2
ATOM 22 H HG12 . VAL B 1 2 ? 14.743 12.431 2.754 2 VAL A HG12 2
ATOM 23 H HG13 . VAL B 1 2 ? 14.586 12.361 0.982 2 VAL A HG13 2
ATOM 24 H HG21 . VAL B 1 2 ? 17.872 14.353 0.565 2 VAL A HG21 2
ATOM 25 H HG22 . VAL B 1 2 ? 17.645 12.588 0.536 2 VAL A HG22 2
ATOM 26 H HG23 . VAL B 1 2 ? 16.583 13.637 -0.431 2 VAL A HG23 2
# additional atom_site block
loop_
_atom_site.group_PDB
_atom_site.id
_atom_site.type_symbol
_atom_site.label_atom_id
_atom_site.label_alt_id
_atom_site.label_comp_id
_atom_site.label_asym_id
_atom_site.label_entity_id
_atom_site.label_seq_id
_atom_site.pdbx_PDB_ins_code
_atom_site.Cartn_x
_atom_site.Cartn_y
_atom_site.Cartn_z
_atom_site.auth_seq_id
_atom_site.auth_comp_id
_atom_site.auth_asym_id
_atom_site.auth_atom_id
ATOM 1 N N . ALA A 1 1 ? 13.847 16.632 5.806 1 ALA A N
ATOM 2 C CA . ALA A 1 1 ? 14.050 15.239 5.351 1 ALA A CA
ATOM 3 C C . ALA A 1 1 ? 15.057 15.051 4.185 1 ALA A C
ATOM 4 O O . ALA A 1 1 ? 16.242 14.860 4.448 1 ALA A O
ATOM 5 C CB . ALA A 1 1 ? 12.682 14.599 5.070 1 ALA A CB
ATOM 6 H H1 . ALA A 1 1 ? 14.344 17.346 5.293 1 ALA A H1
ATOM 7 H HA . ALA A 1 1 ? 14.425 14.660 6.196 1 ALA A HA
ATOM 8 H HB1 . ALA A 1 1 ? 12.168 15.166 4.295 1 ALA A HB1
ATOM 9 H HB2 . ALA A 1 1 ? 12.824 13.571 4.734 1 ALA A HB2
ATOM 10 H HB3 . ALA A 1 1 ? 12.085 14.603 5.981 1 ALA A HB3
ATOM 11 N N . VAL B 1 2 ? 14.602 15.209 2.935 2 VAL A N
ATOM 12 C CA . VAL B 1 2 ? 15.402 15.012 1.699 2 VAL A CA
ATOM 13 C C . VAL B 1 2 ? 14.579 15.343 0.431 2 VAL A C
ATOM 14 O O . VAL B 1 2 ? 14.518 16.503 0.039 2 VAL A O
ATOM 15 C CB . VAL B 1 2 ? 16.165 13.656 1.685 2 VAL A CB
ATOM 16 C CG1 . VAL B 1 2 ? 15.292 12.399 1.812 2 VAL A CG1
ATOM 17 C CG2 . VAL B 1 2 ? 17.136 13.551 0.504 2 VAL A CG2
ATOM 18 H H . VAL B 1 2 ? 13.617 15.489 2.821 2 VAL A H
ATOM 19 H HA . VAL B 1 2 ? 16.285 15.650 1.689 2 VAL A HA
ATOM 20 H HB . VAL B 1 2 ? 16.859 13.653 2.526 2 VAL A HB
ATOM 21 H HG11 . VAL B 1 2 ? 15.925 11.512 1.791 2 VAL A HG11
ATOM 22 H HG12 . VAL B 1 2 ? 14.743 12.431 2.754 2 VAL A HG12
ATOM 23 H HG13 . VAL B 1 2 ? 14.586 12.361 0.982 2 VAL A HG13
ATOM 24 H HG21 . VAL B 1 2 ? 17.872 14.353 0.565 2 VAL A HG21
ATOM 25 H HG22 . VAL B 1 2 ? 17.645 12.588 0.536 2 VAL A HG22
ATOM 26 H HG23 . VAL B 1 2 ? 16.583 13.637 -0.431 2 VAL A HG23
data_1MBA
# derived from 2JSP
loop_
_atom_site.group_PDB
_atom_site.id
_atom_site.type_symbol
_atom_site.label_atom_id
_atom_site.label_alt_id
_atom_site.label_comp_id
_atom_site.label_asym_id
_atom_site.label_entity_id
_atom_site.label_seq_id
_atom_site.pdbx_PDB_ins_code
_atom_site.Cartn_x
_atom_site.Cartn_y
_atom_site.Cartn_z
_atom_site.auth_seq_id
_atom_site.auth_comp_id
_atom_site.auth_asym_id
_atom_site.auth_atom_id
ATOM 1 N N . ALA A 1 1 ? 13.847 16.632 5.806 1 ALA A N
ATOM 2 C CA . ALA A 1 1 ? 14.050 15.239 5.351 1 ALA A CA
ATOM 3 C C . ALA A 1 1 ? 15.057 15.051 4.185 1 ALA A C
ATOM 4 O O . ALA A 1 1 ? 16.242 14.860 4.448 1 ALA A O
ATOM 5 C CB . ALA A 1 1 ? 12.682 14.599 5.070 1 ALA A CB
ATOM 6 H H1 . ALA A 1 1 ? 14.344 17.346 5.293 1 ALA A H1
ATOM 7 H HA . ALA A 1 1 ? 14.425 14.660 6.196 1 ALA A HA
ATOM 8 H HB1 . ALA A 1 1 ? 12.168 15.166 4.295 1 ALA A HB1
ATOM 9 H HB2 . ALA A 1 1 ? 12.824 13.571 4.734 1 ALA A HB2
ATOM 10 H HB3 . ALA A 1 1 ? 12.085 14.603 5.981 1 ALA A HB3
ATOM 11 N N . VAL B 1 2 ? 14.602 15.209 2.935 2 VAL A N
ATOM 12 C CA . VAL B 1 2 ? 15.402 15.012 1.699 2 VAL A CA
ATOM 13 C C . VAL B 1 2 ? 14.579 15.343 0.431 2 VAL A C
ATOM 14 O O . VAL B 1 2 ? 14.518 16.503 0.039 2 VAL A O
ATOM 15 C CB . VAL B 1 2 ? 16.165 13.656 1.685 2 VAL A CB
ATOM 16 C CG1 . VAL B 1 2 ? 15.292 12.399 1.812 2 VAL A CG1
ATOM 17 C CG2 . VAL B 1 2 ? 17.136 13.551 0.504 2 VAL A CG2
ATOM 18 H H . VAL B 1 2 ? 13.617 15.489 2.821 2 VAL A H
ATOM 19 H HA . VAL B 1 2 ? 16.285 15.650 1.689 2 VAL A HA
ATOM 20 H HB . VAL B 1 2 ? 16.859 13.653 2.526 2 VAL A HB
ATOM 21 H HG11 . VAL B 1 2 ? 15.925 11.512 1.791 2 VAL A HG11
ATOM 22 H HG12 . VAL B 1 2 ? 14.743 12.431 2.754 2 VAL A HG12
ATOM 23 H HG13 . VAL B 1 2 ? 14.586 12.361 0.982 2 VAL A HG13
ATOM 24 H HG21 . VAL B 1 2 ? 17.872 14.353 0.565 2 VAL A HG21
ATOM 25 H HG22 . VAL B 1 2 ? 17.645 12.588 0.536 2 VAL A HG22
ATOM 26 H HG23 . VAL B 1 2 ? 16.583 13.637 -0.431 2 VAL A HG23
# additional atom_site block
loop_
_atom_site.group_PDB
_atom_site.id
_atom_site.type_symbol
_atom_site.label_atom_id
_atom_site.label_alt_id
_atom_site.label_comp_id
_atom_site.label_asym_id
_atom_site.label_entity_id
_atom_site.label_seq_id
_atom_site.pdbx_PDB_ins_code
_atom_site.Cartn_x
_atom_site.Cartn_y
_atom_site.Cartn_z
_atom_site.auth_seq_id
_atom_site.auth_comp_id
_atom_site.auth_asym_id
_atom_site.auth_atom_id
_atom_site.pdbx_PDB_model_num
ATOM 1 N N . ALA A 1 1 ? 13.847 16.632 5.806 1 ALA A N 1
ATOM 2 C CA . ALA A 1 1 ? 14.050 15.239 5.351 1 ALA A CA 1
ATOM 3 C C . ALA A 1 1 ? 15.057 15.051 4.185 1 ALA A C 1
ATOM 4 O O . ALA A 1 1 ? 16.242 14.860 4.448 1 ALA A O 1
ATOM 5 C CB . ALA A 1 1 ? 12.682 14.599 5.070 1 ALA A CB 1
ATOM 6 H H1 . ALA A 1 1 ? 14.344 17.346 5.293 1 ALA A H1 1
ATOM 7 H HA . ALA A 1 1 ? 14.425 14.660 6.196 1 ALA A HA 1
ATOM 8 H HB1 . ALA A 1 1 ? 12.168 15.166 4.295 1 ALA A HB1 1
ATOM 9 H HB2 . ALA A 1 1 ? 12.824 13.571 4.734 1 ALA A HB2 1
ATOM 10 H HB3 . ALA A 1 1 ? 12.085 14.603 5.981 1 ALA A HB3 1
ATOM 11 N N . VAL B 1 2 ? 14.602 15.209 2.935 2 VAL A N 1
ATOM 12 C CA . VAL B 1 2 ? 15.402 15.012 1.699 2 VAL A CA 1
ATOM 13 C C . VAL B 1 2 ? 14.579 15.343 0.431 2 VAL A C 1
ATOM 14 O O . VAL B 1 2 ? 14.518 16.503 0.039 2 VAL A O 1
ATOM 15 C CB . VAL B 1 2 ? 16.165 13.656 1.685 2 VAL A CB 1
ATOM 16 C CG1 . VAL B 1 2 ? 15.292 12.399 1.812 2 VAL A CG1 1
ATOM 17 C CG2 . VAL B 1 2 ? 17.136 13.551 0.504 2 VAL A CG2 1
ATOM 18 H H . VAL B 1 2 ? 13.617 15.489 2.821 2 VAL A H 1
ATOM 19 H HA . VAL B 1 2 ? 16.285 15.650 1.689 2 VAL A HA 1
ATOM 20 H HB . VAL B 1 2 ? 16.859 13.653 2.526 2 VAL A HB 1
ATOM 21 H HG11 . VAL B 1 2 ? 15.925 11.512 1.791 2 VAL A HG11 1
ATOM 22 H HG12 . VAL B 1 2 ? 14.743 12.431 2.754 2 VAL A HG12 1
ATOM 23 H HG13 . VAL B 1 2 ? 14.586 12.361 0.982 2 VAL A HG13 1
ATOM 24 H HG21 . VAL B 1 2 ? 17.872 14.353 0.565 2 VAL A HG21 1
ATOM 25 H HG22 . VAL B 1 2 ? 17.645 12.588 0.536 2 VAL A HG22 1
ATOM 26 H HG23 . VAL B 1 2 ? 16.583 13.637 -0.431 2 VAL A HG23 1
#
ATOM 1 N N . ALA A 1 1 ? 13.847 16.632 5.806 1 ALA A N 2
ATOM 2 C CA . ALA A 1 1 ? 14.050 15.239 5.351 1 ALA A CA 2
ATOM 3 C C . ALA A 1 1 ? 15.057 15.051 4.185 1 ALA A C 2
ATOM 4 O O . ALA A 1 1 ? 16.242 14.860 4.448 1 ALA A O 2
ATOM 5 C CB . ALA A 1 1 ? 12.682 14.599 5.070 1 ALA A CB 2
ATOM 6 H H1 . ALA A 1 1 ? 14.344 17.346 5.293 1 ALA A H1 2
ATOM 7 H HA . ALA A 1 1 ? 14.425 14.660 6.196 1 ALA A HA 2
ATOM 8 H HB1 . ALA A 1 1 ? 12.168 15.166 4.295 1 ALA A HB1 2
ATOM 9 H HB2 . ALA A 1 1 ? 12.824 13.571 4.734 1 ALA A HB2 2
ATOM 10 H HB3 . ALA A 1 1 ? 12.085 14.603 5.981 1 ALA A HB3 2
ATOM 11 N N . VAL B 1 2 ? 14.602 15.209 2.935 2 VAL A N 2
ATOM 12 C CA . VAL B 1 2 ? 15.402 15.012 1.699 2 VAL A CA 2
ATOM 13 C C . VAL B 1 2 ? 14.579 15.343 0.431 2 VAL A C 2
ATOM 14 O O . VAL B 1 2 ? 14.518 16.503 0.039 2 VAL A O 2
ATOM 15 C CB . VAL B 1 2 ? 16.165 13.656 1.685 2 VAL A CB 2
ATOM 16 C CG1 . VAL B 1 2 ? 15.292 12.399 1.812 2 VAL A CG1 2
ATOM 17 C CG2 . VAL B 1 2 ? 17.136 13.551 0.504 2 VAL A CG2 2
ATOM 18 H H . VAL B 1 2 ? 13.617 15.489 2.821 2 VAL A H 2
ATOM 19 H HA . VAL B 1 2 ? 16.285 15.650 1.689 2 VAL A HA 2
ATOM 20 H HB . VAL B 1 2 ? 16.859 13.653 2.526 2 VAL A HB 2
ATOM 21 H HG11 . VAL B 1 2 ? 15.925 11.512 1.791 2 VAL A HG11 2
ATOM 22 H HG12 . VAL B 1 2 ? 14.743 12.431 2.754 2 VAL A HG12 2
ATOM 23 H HG13 . VAL B 1 2 ? 14.586 12.361 0.982 2 VAL A HG13 2
ATOM 24 H HG21 . VAL B 1 2 ? 17.872 14.353 0.565 2 VAL A HG21 2
ATOM 25 H HG22 . VAL B 1 2 ? 17.645 12.588 0.536 2 VAL A HG22 2
ATOM 26 H HG23 . VAL B 1 2 ? 16.583 13.637 -0.431 2 VAL A HG23 2
data_1TPM
# derived from 2JSP
loop_
_atom_site.group_PDB
_atom_site.id
_atom_site.type_symbol
_atom_site.label_atom_id
_atom_site.label_alt_id
_atom_site.label_comp_id
_atom_site.label_asym_id
_atom_site.label_entity_id
_atom_site.label_seq_id
_atom_site.pdbx_PDB_ins_code
_atom_site.Cartn_x
_atom_site.Cartn_y
_atom_site.Cartn_z
_atom_site.auth_seq_id
_atom_site.auth_comp_id
_atom_site.auth_asym_id
_atom_site.auth_atom_id
_atom_site.pdbx_PDB_model_num
ATOM 1 N N . ALA A 1 1 ? 13.847 16.632 5.806 1 ALA A N 1
ATOM 2 C CA . ALA A 1 1 ? 14.050 15.239 5.351 1 ALA A CA 1
ATOM 3 C C . ALA A 1 1 ? 15.057 15.051 4.185 1 ALA A C 1
ATOM 4 O O . ALA A 1 1 ? 16.242 14.860 4.448 1 ALA A O 1
ATOM 5 C CB . ALA A 1 1 ? 12.682 14.599 5.070 1 ALA A CB 1
ATOM 6 H H1 . ALA A 1 1 ? 14.344 17.346 5.293 1 ALA A H1 1
ATOM 7 H HA . ALA A 1 1 ? 14.425 14.660 6.196 1 ALA A HA 1
ATOM 8 H HB1 . ALA A 1 1 ? 12.168 15.166 4.295 1 ALA A HB1 1
ATOM 9 H HB2 . ALA A 1 1 ? 12.824 13.571 4.734 1 ALA A HB2 1
ATOM 10 H HB3 . ALA A 1 1 ? 12.085 14.603 5.981 1 ALA A HB3 1
ATOM 11 N N . VAL B 1 2 ? 14.602 15.209 2.935 2 VAL A N 1
ATOM 12 C CA . VAL B 1 2 ? 15.402 15.012 1.699 2 VAL A CA 1
ATOM 13 C C . VAL B 1 2 ? 14.579 15.343 0.431 2 VAL A C 1
ATOM 14 O O . VAL B 1 2 ? 14.518 16.503 0.039 2 VAL A O 1
ATOM 15 C CB . VAL B 1 2 ? 16.165 13.656 1.685 2 VAL A CB 1
ATOM 16 C CG1 . VAL B 1 2 ? 15.292 12.399 1.812 2 VAL A CG1 1
ATOM 17 C CG2 . VAL B 1 2 ? 17.136 13.551 0.504 2 VAL A CG2 1
ATOM 18 H H . VAL B 1 2 ? 13.617 15.489 2.821 2 VAL A H 1
ATOM 19 H HA . VAL B 1 2 ? 16.285 15.650 1.689 2 VAL A HA 1
ATOM 20 H HB . VAL B 1 2 ? 16.859 13.653 2.526 2 VAL A HB 1
ATOM 21 H HG11 . VAL B 1 2 ? 15.925 11.512 1.791 2 VAL A HG11 1
ATOM 22 H HG12 . VAL B 1 2 ? 14.743 12.431 2.754 2 VAL A HG12 1
ATOM 23 H HG13 . VAL B 1 2 ? 14.586 12.361 0.982 2 VAL A HG13 1
ATOM 24 H HG21 . VAL B 1 2 ? 17.872 14.353 0.565 2 VAL A HG21 1
ATOM 25 H HG22 . VAL B 1 2 ? 17.645 12.588 0.536 2 VAL A HG22 1
ATOM 26 H HG23 . VAL B 1 2 ? 16.583 13.637 -0.431 2 VAL A HG23 1
#
ATOM 1 N N . ALA A 1 1 ? 13.847 16.632 5.806 1 ALA A N 2
ATOM 2 C CA . ALA A 1 1 ? 14.050 15.239 5.351 1 ALA A CA 2
ATOM 3 C C . ALA A 1 1 ? 15.057 15.051 4.185 1 ALA A C 2
ATOM 4 O O . ALA A 1 1 ? 16.242 14.860 4.448 1 ALA A O 2
ATOM 5 C CB . ALA A 1 1 ? 12.682 14.599 5.070 1 ALA A CB 2
ATOM 6 H H1 . ALA A 1 1 ? 14.344 17.346 5.293 1 ALA A H1 2
ATOM 7 H HA . ALA A 1 1 ? 14.425 14.660 6.196 1 ALA A HA 2
ATOM 8 H HB1 . ALA A 1 1 ? 12.168 15.166 4.295 1 ALA A HB1 2
ATOM 9 H HB2 . ALA A 1 1 ? 12.824 13.571 4.734 1 ALA A HB2 2
ATOM 10 H HB3 . ALA A 1 1 ? 12.085 14.603 5.981 1 ALA A HB3 2
ATOM 11 N N . VAL B 1 2 ? 14.602 15.209 2.935 2 VAL A N 2
ATOM 12 C CA . VAL B 1 2 ? 15.402 15.012 1.699 2 VAL A CA 2
ATOM 13 C C . VAL B 1 2 ? 14.579 15.343 0.431 2 VAL A C 2
ATOM 14 O O . VAL B 1 2 ? 14.518 16.503 0.039 2 VAL A O 2
ATOM 15 C CB . VAL B 1 2 ? 16.165 13.656 1.685 2 VAL A CB 2
ATOM 16 C CG1 . VAL B 1 2 ? 15.292 12.399 1.812 2 VAL A CG1 2
ATOM 17 C CG2 . VAL B 1 2 ? 17.136 13.551 0.504 2 VAL A CG2 2
ATOM 18 H H . VAL B 1 2 ? 13.617 15.489 2.821 2 VAL A H 2
ATOM 19 H HA . VAL B 1 2 ? 16.285 15.650 1.689 2 VAL A HA 2
ATOM 20 H HB . VAL B 1 2 ? 16.859 13.653 2.526 2 VAL A HB 2
ATOM 21 H HG11 . VAL B 1 2 ? 15.925 11.512 1.791 2 VAL A HG11 2
ATOM 22 H HG12 . VAL B 1 2 ? 14.743 12.431 2.754 2 VAL A HG12 2
ATOM 23 H HG13 . VAL B 1 2 ? 14.586 12.361 0.982 2 VAL A HG13 2
ATOM 24 H HG21 . VAL B 1 2 ? 17.872 14.353 0.565 2 VAL A HG21 2
ATOM 25 H HG22 . VAL B 1 2 ? 17.645 12.588 0.536 2 VAL A HG22 2
ATOM 26 H HG23 . VAL B 1 2 ? 16.583 13.637 -0.431 2 VAL A HG23 2
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment