Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
dssp
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
open
dssp
Commits
f18f7ecb
Unverified
Commit
f18f7ecb
authored
Jun 19, 2023
by
Maarten L. Hekkelman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
clean up commented code
parent
056e4f8f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
2 additions
and
345 deletions
+2
-345
src/dssp-io.cpp
+2
-345
No files found.
src/dssp-io.cpp
View file @
f18f7ecb
...
...
@@ -347,20 +347,15 @@ void writeSheets(cif::datablock &db, const dssp &dssp)
sheetNrs
.
insert
(
res
.
sheet
());
}
// write out the struct_sheet, since all info is available now
// --------------------------------------------------------------------
auto
&
struct_sheet
=
db
[
"struct_sheet"
];
auto
&
struct_sheet_range
=
db
[
"struct_sheet_range"
];
// auto &struct_sheet_order = db["struct_sheet_order"];
// auto &struct_sheet_hbond = db["struct_sheet_hbond"];
// auto &pdbx_struct_sheet_hbond = db["pdbx_struct_sheet_hbond"];
// auto &pdbx_poly_seq_scheme = db["pdbx_poly_seq_scheme"];
for
(
int
sheetNr
:
sheetNrs
)
{
auto
sheetID
=
cif
::
cif_id_for_number
(
sheetNr
-
1
);
// std::map<std::tuple<int,int>,int> sheetOrder;
struct_sheet
.
emplace
({
{
"id"
,
sheetID
},
{
"number_strands"
,
...
...
@@ -402,345 +397,7 @@ void writeSheets(cif::datablock &db, const dssp &dssp)
{
"end_auth_comp_id"
,
end
.
compound_id
()
},
{
"end_auth_asym_id"
,
end
.
auth_asym_id
()
},
{
"end_auth_seq_id"
,
end
.
auth_seq_id
()
}
});
// // loop over the ladders for this strand and write out the struct_sheet_order
// for (auto &res : strand)
// {
// for (int i : { 0, 1 })
// {
// const auto &[bp, ladder, parallel] = res.bridge_partner(i);
// // if (not bp or bp.type() != dssp::structure_type::Strand)
// if (not bp)
// continue;
// auto s1 = res.strand();
// auto s2 = bp.strand();
// if (s1 > s2)
// std::swap(s1, s2);
// sheetOrder[{ s1, s2 }] += parallel ? 1 : -1;
// }
// }
}
// for (const auto &[k, parallel_test] : sheetOrder)
// {
// const auto &[s1, s2] = k;
// if (parallel_test == 0)
// continue;
// bool parallel = parallel_test > 0;
// std::string strandID_1 = cif::cif_id_for_number(s1 - 1);
// std::string strandID_2 = cif::cif_id_for_number(s2 - 1);
// struct_sheet_order.emplace({
// { "sheet_id", sheetID },
// { "range_id_1", strandID_1 },
// { "range_id_2", strandID_2 },
// { "sense", parallel > 0 ? "parallel" : "anti-parallel" }
// });
// res_list strand1, strand2;
// for (auto &&[strandTuple, strand] : strands)
// {
// const auto &[sheet_nr, strand_nr] = strandTuple;
// if (sheet_nr != sheetNr)
// continue;
// if (strand_nr == s1)
// strand1 = strand;
// else if (strand_nr == s2)
// {
// strand2 = strand;
// break;
// }
// }
// assert(not(strand1.empty() or strand2.empty()));
// int beg1SeqID = 0, beg2SeqID = 0, end1SeqID = 0, end2SeqID = 0;
// std::string beg1AtomID, beg2AtomID, end1AtomID, end2AtomID;
// if (parallel)
// {
// // I. a d II. a d parallel
// // \ /
// // b e b e <= the residues forming the bridge
// // / \ ..
// // c f c f
// for (auto b : strand1)
// {
// for (int i : { 0, 1 })
// {
// const auto &[e, ladder1, parallel1] = b.bridge_partner(i);
// auto esi = std::find(strand2.begin(), strand2.end(), e);
// if (esi == strand2.end())
// continue;
// auto bi = std::find(dssp.begin(), dssp.end(), b);
// assert(bi != dssp.end() and bi != dssp.begin());
// auto a = *std::prev(bi);
// auto c = *std::next(bi);
// auto ei = std::find(dssp.begin(), dssp.end(), e);
// assert(ei != dssp.end() and ei != dssp.begin());
// auto d = *std::prev(ei);
// auto f = *std::next(ei);
// if (test_bond(e, a) and test_bond(c, e)) // case I.
// {
// beg1SeqID = a.seq_id();
// beg2SeqID = e.seq_id();
// beg1AtomID = "O";
// beg2AtomID = "N";
// }
// else if (test_bond(b, d) and test_bond(f, b)) // case II.
// {
// beg1SeqID = b.seq_id();
// beg2SeqID = d.seq_id();
// beg1AtomID = "N";
// beg2AtomID = "O";
// }
// break;
// }
// if (beg1SeqID)
// break;
// }
// std::reverse(strand1.begin(), strand1.end());
// std::reverse(strand2.begin(), strand2.end());
// for (auto b : strand1)
// {
// for (int i : { 0, 1 })
// {
// const auto &[e, ladder1, parallel1] = b.bridge_partner(i);
// auto esi = std::find(strand2.begin(), strand2.end(), e);
// if (esi == strand2.end())
// continue;
// auto bi = std::find(dssp.begin(), dssp.end(), b);
// assert(bi != dssp.end() and bi != dssp.begin());
// auto a = *std::next(bi);
// auto c = *std::prev(bi);
// auto ei = std::find(dssp.begin(), dssp.end(), e);
// assert(ei != dssp.end() and ei != dssp.begin());
// auto d = *std::next(ei);
// auto f = *std::prev(ei);
// if (test_bond(a, e) and test_bond(e, c)) // case I.
// {
// end1SeqID = a.seq_id();
// end2SeqID = e.seq_id();
// end1AtomID = "N";
// end2AtomID = "O";
// }
// else if (test_bond(d, b) and test_bond(b, f)) // case II.
// {
// end1SeqID = b.seq_id();
// end2SeqID = d.seq_id();
// end1AtomID = "O";
// end2AtomID = "N";
// }
// break;
// }
// if (end1SeqID)
// break;
// }
// }
// else
// {
// // III. a <- f IV. a f antiparallel
// //
// // b e b <-> e <= the residues forming the bridge
// //
// // c -> d c d
// std::reverse(strand2.begin(), strand2.end());
// for (auto b : strand1)
// {
// for (int i : { 0, 1 })
// {
// const auto &[e, ladder1, parallel1] = b.bridge_partner(i);
// auto esi = std::find(strand2.begin(), strand2.end(), e);
// if (esi == strand2.end())
// continue;
// auto bi = std::find(dssp.begin(), dssp.end(), b);
// assert(bi != dssp.end() and bi != dssp.begin());
// auto a = *std::prev(bi);
// auto c = *std::next(bi);
// auto ei = std::find(dssp.begin(), dssp.end(), e);
// assert(ei != dssp.end() and ei != dssp.begin());
// auto d = *std::prev(ei);
// auto f = *std::next(ei);
// if (test_bond(f, a) and test_bond(c, d)) // case III.
// {
// beg1SeqID = a.seq_id();
// beg2SeqID = f.seq_id();
// beg1AtomID = "O";
// beg2AtomID = "N";
// }
// else if (test_bond(b, e) and test_bond(e, b)) // case IV.
// {
// beg1SeqID = b.seq_id();
// beg2SeqID = e.seq_id();
// beg1AtomID = "N";
// beg2AtomID = "O";
// }
// break;
// }
// if (beg1SeqID)
// break;
// }
// std::reverse(strand1.begin(), strand1.end());
// std::reverse(strand2.begin(), strand2.end());
// for (auto b : strand1)
// {
// for (int i : { 0, 1 })
// {
// const auto &[e, ladder1, parallel1] = b.bridge_partner(i);
// auto esi = std::find(strand2.begin(), strand2.end(), e);
// if (esi == strand2.end())
// continue;
// auto bi = std::find(dssp.begin(), dssp.end(), b);
// assert(bi != dssp.end() and bi != dssp.begin());
// auto a = *std::next(bi);
// auto c = *std::prev(bi);
// auto ei = std::find(dssp.begin(), dssp.end(), e);
// assert(ei != dssp.end() and ei != dssp.begin());
// auto d = *std::next(ei);
// auto f = *std::prev(ei);
// if (test_bond(a, f) and test_bond(d, c)) // case III.
// {
// end1SeqID = a.seq_id();
// end2SeqID = f.seq_id();
// end1AtomID = "N";
// end2AtomID = "O";
// }
// else if (test_bond(b, e) and test_bond(e, b)) // case IV.
// {
// end1SeqID = b.seq_id();
// end2SeqID = e.seq_id();
// end1AtomID = "N";
// end2AtomID = "O";
// }
// break;
// }
// if (end1SeqID)
// break;
// }
// }
// struct_sheet_hbond.emplace({
// { "sheet_id", sheetID },
// { "range_id_1", strandID_1 },
// { "range_id_2", strandID_2 },
// { "range_1_beg_label_seq_id", beg1SeqID },
// { "range_1_beg_label_atom_id", beg1AtomID },
// { "range_2_beg_label_seq_id", beg2SeqID },
// { "range_2_beg_label_atom_id", beg2AtomID },
// { "range_1_end_label_seq_id", end1SeqID },
// { "range_1_end_label_atom_id", end1AtomID },
// { "range_2_end_label_seq_id", end2SeqID },
// { "range_2_end_label_atom_id", end2AtomID } });
// }
// // Data items in the PDBX_STRUCT_SHEET_HBOND category record details
// // about the hydrogen bonding between residue ranges in a beta sheet.
// // This category is provided for cases where only a single hydrogen
// // bond is used to register the two residue ranges. Category
// // STRUCT_SHEET_HBOND should be used when the initial and terminal
// // hydrogen bonds for strand pair are known.
// // // Okay, so that means we should write entries in that category only
// // // when the ladder is size 1. Right? But those are called BetaBridges
// // // in
// // {
// // auto b1 = pdbx_poly_seq_scheme.find_first("asym_id"_key == strand1.front().asym_id() and "seq_id"_key == beg1SeqID);
// // auto e1 = pdbx_poly_seq_scheme.find_first("asym_id"_key == strand1.front().asym_id() and "seq_id"_key == end1SeqID);
// // auto b2 = pdbx_poly_seq_scheme.find_first("asym_id"_key == strand2.front().asym_id() and "seq_id"_key == beg2SeqID);
// // auto e2 = pdbx_poly_seq_scheme.find_first("asym_id"_key == strand2.front().asym_id() and "seq_id"_key == end2SeqID);
// // if (not(b1 and e1 and b2 and e2))
// // {
// // if (cif::VERBOSE > 0)
// // std::cerr << "error looking up strand ends" << std::endl;
// // continue;
// // }
// // pdbx_struct_sheet_hbond.emplace({
// // { "sheet_id", sheetID },
// // { "range_id_1", strandID_1 },
// // { "range_id_2", strandID_2 },
// // { "range_1_label_atom_id", beg1AtomID },
// // { "range_1_label_comp_id", b1["mon_id"].as<std::string>() },
// // { "range_1_label_asym_id", b1["asym_id"].as<std::string>() },
// // { "range_1_label_seq_id", b1["seq_id"].as<std::string>() },
// // { "range_1_PDB_ins_code", b1["pdb_ins_code"].as<std::string>() },
// // { "range_1_auth_atom_id", beg1AtomID },
// // { "range_1_auth_comp_id", b1["auth_mon_id"].as<std::string>() },
// // { "range_1_auth_asym_id", b1["pdb_strand_id"].as<std::string>() },
// // { "range_1_auth_seq_id", b1["auth_seq_num"].as<std::string>() },
// // { "range_2_label_atom_id", beg2AtomID },
// // { "range_2_label_comp_id", b2["mon_id"].as<std::string>() },
// // { "range_2_label_asym_id", b2["asym_id"].as<std::string>() },
// // { "range_2_label_seq_id", b2["seq_id"].as<std::string>() },
// // { "range_2_PDB_ins_code", b2["pdb_ins_code"].as<std::string>() },
// // { "range_2_auth_atom_id", beg2AtomID },
// // { "range_2_auth_comp_id", b2["auth_mon_id"].as<std::string>() },
// // { "range_2_auth_asym_id", b2["pdb_strand_id"].as<std::string>() },
// // { "range_2_auth_seq_id", b2["auth_seq_num"].as<std::string>() },
// // });
// // }
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment