Commit f9099050 by maarten

fix in sorting atoms in prepper

git-svn-id: svn+ssh://gitlab/srv/svn-repos/pdb-redo/trunk@436 a1961a4f-ab94-4bcc-80e8-33b5a54de466
parent 55b1c566
libcif++ and pdb-redo tools
===========================
This is the README file for libcif++ and the suite of PDB-REDO tools using this library.
This is the README file for libcif++ and the suite of PDB-REDO tools
using this library.
### Requirements
Requirements
------------
The code for this library was written in C++14. You therefore need a recent compiler to be able to build it.
The code for this library was written in C++14. You therefore need a
recent compiler to be able to build it. For the development gcc 7.4
and clang 6.0 have been used.
Other requirements are:
- GNU make version 4.1 or higher.
- Boost libraries, the current version was developed using version 1.65
- [mrc](https://github.com/mhekkel/mrc), a resource compiler that allows including data files into the executable making them easier to install. Strictly this is optional, but at the expense of a lot of functionality.
- [newuoa-cpp](https://github.com/elsid/newuoa-cpp), required to calculate atom radii.
- [libzeep](https://github.com/mhekkel/libzeep), a library that contains a full validating XML parser as well as a complete HTTP and SOAP server implementation.
- [nlohmann/json](https://github.com/nlohmann/json), a header only library to parse and write JSON. This requirement will be removed in a future release (once libzeep 4 is out of beta).
Make sure you install the libraries and tools in this list first before building. You don't have to install them in system locations, paths can be set as described in the next section.
### Building
There are two makefiles, one located in the directory libcif++ and one in tools.
Both makefiles will include a *make.config* file (which will be generated if it doesn't exist). This configuration file can be used to override local settings, e.g. the location of certain libraries.
\ No newline at end of file
- [mrc](https://github.com/mhekkel/mrc), a resource compiler that
allows including data files into the executable making them easier to
install. Strictly this is optional, but at the expense of a lot of
functionality.
- [newuoa-cpp](https://github.com/elsid/newuoa-cpp), required to
calculate atom radii.
- [libzeep](https://github.com/mhekkel/libzeep), a library that
contains a full validating XML parser as well as a complete HTTP,
SOAP and REST server implementation.
- [nlohmann/json](https://github.com/nlohmann/json), a header only
library to parse and write JSON. This is only a requirement if you
have a libzeep version older than version 4.
As stated, the nlohmann library is only needed if you use libzeep 3.0.x
which is bundled with Debian and derivatives. If you clone the version
of libzeep on github the nlohmann json library will not be used.
Building
--------
Make sure you install the libraries and tools in list above first
before building. You don't have to install them in system locations,
paths can be set as described in the next section.
There are two makefiles, one located in the directory libcif++ and one
in tools.
Both makefiles will include a *make.config* file (which will be
generated if it doesn't exist). This configuration file can be used to
override local settings, e.g. the location of certain libraries.
Before running make, first `source` the ccp4 environment. This will
take care of setting up the make.config file correctly. You then only
have to edit the `ZEEP_DIR` variable to point to the correct
directory in case you did not install libzeep, and if you use
libzeep version 4, you will have to change `ZEEP_INCL` and `ZEEP_LIB`
to be `$(ZEEP_DIR)/include` and `$(ZEEP_DIR)/lib` respectively.
......@@ -1458,8 +1458,7 @@ void WriteRemark3Shelxl(ostream& pdbFile, Datablock& db)
auto c = [](const char* t) -> cif::Condition { return cif::Key("type") == t; };
pdbFile << RM3(" AUTHORS : G.M.SHELDRICK") << endl
<< RM3("") << endl
pdbFile << RM3("") << endl
<< RM3(" DATA USED IN REFINEMENT.") << endl
<< RM3(" RESOLUTION RANGE HIGH (ANGSTROMS) : ", 5, 2) << Ff(refine, "ls_d_res_high") << endl
<< RM3(" RESOLUTION RANGE LOW (ANGSTROMS) : ", 5, 2) << Ff(refine, "ls_d_res_low") << endl
......@@ -3563,7 +3562,7 @@ tuple<int,int> WriteCoordinatesForModel(ostream& pdbFile, Datablock& db,
cif::tie(id, group, name, altLoc, resName, chainID, resSeq, iCode, x, y, z, occupancy, tempFactor, element, charge) =
r.get("id", "group_PDB", "label_atom_id", "label_alt_id", "auth_comp_id", "auth_asym_id", "auth_seq_id",
"pdbx_PDB_ins_code", "Cartn_x", "Cartn_y", "Cartn_z", "occupancy", "B_iso_or_equiv", "type_symbol", "pdbx_format_charge");
"pdbx_PDB_ins_code", "Cartn_x", "Cartn_y", "Cartn_z", "occupancy", "B_iso_or_equiv", "type_symbol", "pdbx_formal_charge");
if (name.length() < 4 and (element.length() == 1 or not cif::iequals(name, element)))
name.insert(name.begin(), ' ');
......
......@@ -5120,7 +5120,8 @@ void PDBFileParser::ParseCoordinate(int modelNr)
charge = pdb2cifCharge(charge);
if (CompoundFactory::instance().isKnownPeptide(resName) or CompoundFactory::instance().isKnownBase(resName))
// if (CompoundFactory::instance().isKnownPeptide(resName) or CompoundFactory::instance().isKnownBase(resName))
if (mmcif::kAAMap.count(resName) or mmcif::kBaseMap.count(resName))
{
if (groupPDB == "HETATM")
{
......
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