Commit 1cf8e7b7 by maarten

pepflip werkt ook weer

git-svn-id: svn+ssh://gitlab/srv/svn-repos/pdb-redo/trunk@344 a1961a4f-ab94-4bcc-80e8-33b5a54de466
parent bc50f868
...@@ -820,19 +820,12 @@ DSSPImpl::DSSPImpl(const Structure& s) ...@@ -820,19 +820,12 @@ DSSPImpl::DSSPImpl(const Structure& s)
0.0, [](double s, auto& p) { return s + p.size(); }); 0.0, [](double s, auto& p) { return s + p.size(); });
mResidues.reserve(nRes); mResidues.reserve(nRes);
cerr << "starting to copy atoms for DSSP" << endl;
auto start = std::chrono::system_clock::now();
for (auto& p: mPolymers) for (auto& p: mPolymers)
{ {
for (auto& m: p) for (auto& m: p)
mResidues.emplace_back(m); mResidues.emplace_back(m);
} }
auto end = std::chrono::system_clock::now();
chrono::duration<double> diff = end - start;
cerr << "Copying atoms took " << diff << " seconds" << endl;
for (size_t i = 0; i + 1 < mResidues.size(); ++i) for (size_t i = 0; i + 1 < mResidues.size(); ++i)
{ {
......
...@@ -1260,7 +1260,6 @@ Structure::Structure(File& f, uint32 modelNr) ...@@ -1260,7 +1260,6 @@ Structure::Structure(File& f, uint32 modelNr)
// sort(mAtoms.begin(), mAtoms.end(), [](auto& a, auto& b) { return a.id() < b.id(); }); // sort(mAtoms.begin(), mAtoms.end(), [](auto& a, auto& b) { return a.id() < b.id(); });
// polymers // polymers
auto& polySeqScheme = category("pdbx_poly_seq_scheme"); auto& polySeqScheme = category("pdbx_poly_seq_scheme");
for (auto& r: polySeqScheme) for (auto& r: polySeqScheme)
...@@ -1273,15 +1272,26 @@ Structure::Structure(File& f, uint32 modelNr) ...@@ -1273,15 +1272,26 @@ Structure::Structure(File& f, uint32 modelNr)
mPolymers.emplace_back(*this, entityID, asymID); mPolymers.emplace_back(*this, entityID, asymID);
} }
} }
Structure::Structure(const Structure& s)
: mFile(s.mFile), mModelNr(s.mModelNr)
{
mAtoms.reserve(s.mAtoms.size());
for (auto& atom: s.mAtoms)
mAtoms.emplace_back(atom.clone());
auto& polySeqScheme = category("pdbx_poly_seq_scheme");
// Structure(const Structure& s) for (auto& r: polySeqScheme)
// : mFile(s.mFile), mModelNr(s.mModelNr) {
// { string asymID, entityID, seqID, monID;
// mAtoms.reserve(si.mAtoms.size()); cif::tie(asymID, entityID, seqID, monID) =
// for (auto& atom: si.mAtoms) r.get("asym_id", "entity_id", "seq_id", "mon_id");
// mAtoms.emplace_back(atom.clone());
// } if (mPolymers.empty() or mPolymers.back().asymID() != asymID or mPolymers.back().entityID() != entityID)
//} mPolymers.emplace_back(*this, entityID, asymID);
}
}
Structure::~Structure() Structure::~Structure()
{ {
...@@ -1323,21 +1333,6 @@ AtomView Structure::waters() const ...@@ -1323,21 +1333,6 @@ AtomView Structure::waters() const
const list<Polymer>& Structure::polymers() const const list<Polymer>& Structure::polymers() const
{ {
// vector<Polymer> result;
//
// auto& polySeqScheme = category("pdbx_poly_seq_scheme");
//
// for (auto& r: polySeqScheme)
// {
// string asymID, entityID, seqID, monID;
// cif::tie(asymID, entityID, seqID, monID) =
// r.get("asym_id", "entity_id", "seq_id", "mon_id");
//
// if (result.empty() or result.back().asymID() != asymID or result.back().entityID() != entityID)
// result.emplace_back(*this, entityID, asymID);
// }
//
// return result;
return mPolymers; return mPolymers;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment