Commit aec60829 by Maarten L. Hekkelman

more quiet code

parent 888c3c38
...@@ -180,7 +180,10 @@ bool CompoundBondMap::bonded(const std::string &compoundID, const std::string &a ...@@ -180,7 +180,10 @@ bool CompoundBondMap::bonded(const std::string &compoundID, const std::string &a
auto compound = mmcif::CompoundFactory::instance().create(compoundID); auto compound = mmcif::CompoundFactory::instance().create(compoundID);
if (not compound) if (not compound)
{
if (cif::VERBOSE >= 0)
std::cerr << "Missing compound bond info for " << compoundID << std::endl; std::cerr << "Missing compound bond info for " << compoundID << std::endl;
}
else else
{ {
for (auto &atom : compound->bonds()) for (auto &atom : compound->bonds())
...@@ -308,7 +311,7 @@ BondMap::BondMap(const Structure &p) ...@@ -308,7 +311,7 @@ BondMap::BondMap(const Structure &p)
{ {
if (c == "HOH" or c == "H2O" or c == "WAT") if (c == "HOH" or c == "H2O" or c == "WAT")
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "skipping water in bond map calculation" << std::endl; std::cerr << "skipping water in bond map calculation" << std::endl;
continue; continue;
} }
......
...@@ -1497,7 +1497,7 @@ size_t Category::getColumnIndex(std::string_view name) const ...@@ -1497,7 +1497,7 @@ size_t Category::getColumnIndex(std::string_view name) const
break; break;
} }
if (VERBOSE and result == mColumns.size() and mCatValidator != nullptr) // validate the name, if it is known at all (since it was not found) if (VERBOSE > 0 and result == mColumns.size() and mCatValidator != nullptr) // validate the name, if it is known at all (since it was not found)
{ {
auto iv = mCatValidator->getValidatorForItem(name); auto iv = mCatValidator->getValidatorForItem(name);
if (iv == nullptr) if (iv == nullptr)
...@@ -2340,7 +2340,7 @@ void Category::validateLinks() const ...@@ -2340,7 +2340,7 @@ void Category::validateLinks() const
if (not hasParent(r, *parentCat, *link)) if (not hasParent(r, *parentCat, *link))
++missing; ++missing;
if (missing) if (missing and VERBOSE >= 0)
{ {
std::cerr << "Links for " << link->mLinkGroupLabel << " are incomplete" << std::endl std::cerr << "Links for " << link->mLinkGroupLabel << " are incomplete" << std::endl
<< " There are " << missing << " items in " << mName << " that don't have matching parent items in " << parentCat->mName << std::endl; << " There are " << missing << " items in " << mName << " that don't have matching parent items in " << parentCat->mName << std::endl;
...@@ -2900,7 +2900,7 @@ void Category::update_value(RowSet &&rows, const std::string &tag, const std::st ...@@ -2900,7 +2900,7 @@ void Category::update_value(RowSet &&rows, const std::string &tag, const std::st
} }
// cannot update this... // cannot update this...
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "Cannot update child " << childCat->mName << "." << childTag << " with value " << value << std::endl; std::cerr << "Cannot update child " << childCat->mName << "." << childTag << " with value " << value << std::endl;
} }
...@@ -3018,6 +3018,7 @@ void Row::assign(std::string_view name, const std::string &value, bool skipUpdat ...@@ -3018,6 +3018,7 @@ void Row::assign(std::string_view name, const std::string &value, bool skipUpdat
} }
catch (const std::exception &ex) catch (const std::exception &ex)
{ {
if (cif::VERBOSE >= 0)
std::cerr << "Could not assign value '" << value << "' to column _" << mData->mCategory->name() << '.' << name << std::endl; std::cerr << "Could not assign value '" << value << "' to column _" << mData->mCategory->name() << '.' << name << std::endl;
throw; throw;
} }
...@@ -3181,7 +3182,7 @@ void Row::assign(size_t column, const std::string &value, bool skipUpdateLinked) ...@@ -3181,7 +3182,7 @@ void Row::assign(size_t column, const std::string &value, bool skipUpdateLinked)
auto rows_n = childCat->find(std::move(cond_n)); auto rows_n = childCat->find(std::move(cond_n));
if (not rows_n.empty()) if (not rows_n.empty())
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "Will not rename in child category since there are already rows that link to the parent" << std::endl; std::cerr << "Will not rename in child category since there are already rows that link to the parent" << std::endl;
continue; continue;
...@@ -3387,7 +3388,7 @@ void Row::swap(size_t cix, ItemRow *a, ItemRow *b) ...@@ -3387,7 +3388,7 @@ void Row::swap(size_t cix, ItemRow *a, ItemRow *b)
} }
else else
{ {
if (VERBOSE) if (VERBOSE > 0)
std::cerr << "In " << childCat->mName << " changing " << linkChildColName << ": " << r[linkChildColName].as<std::string>() << " => " << (i ? i->mText : "") << std::endl; std::cerr << "In " << childCat->mName << " changing " << linkChildColName << ": " << r[linkChildColName].as<std::string>() << " => " << (i ? i->mText : "") << std::endl;
r[linkChildColName] = i ? i->mText : ""; r[linkChildColName] = i ? i->mText : "";
} }
...@@ -3496,6 +3497,7 @@ File::File(const std::filesystem::path &path, bool validate) ...@@ -3496,6 +3497,7 @@ File::File(const std::filesystem::path &path, bool validate)
} }
catch (const std::exception &ex) catch (const std::exception &ex)
{ {
if (cif::VERBOSE >= 0)
std::cerr << "Error while loading file " << path << std::endl; std::cerr << "Error while loading file " << path << std::endl;
throw; throw;
} }
...@@ -3564,6 +3566,7 @@ void File::load(const std::filesystem::path &p) ...@@ -3564,6 +3566,7 @@ void File::load(const std::filesystem::path &p)
} }
catch (const std::exception &ex) catch (const std::exception &ex)
{ {
if (cif::VERBOSE >= 0)
std::cerr << "Error loading file " << path << std::endl; std::cerr << "Error loading file " << path << std::endl;
throw; throw;
} }
...@@ -3660,7 +3663,7 @@ bool File::isValid() ...@@ -3660,7 +3663,7 @@ bool File::isValid()
{ {
if (mValidator == nullptr) if (mValidator == nullptr)
{ {
if (VERBOSE) if (VERBOSE > 0)
std::cerr << "No dictionary loaded explicitly, loading default" << std::endl; std::cerr << "No dictionary loaded explicitly, loading default" << std::endl;
loadDictionary(); loadDictionary();
......
...@@ -753,6 +753,7 @@ class Ff : public FBase ...@@ -753,6 +753,7 @@ class Ff : public FBase
} }
catch (const std::exception& ex) catch (const std::exception& ex)
{ {
if (cif::VERBOSE >= 0)
std::cerr << "Failed to write '" << s << "' as a double, this indicates an error in the code for writing PDB files" << std::endl; std::cerr << "Failed to write '" << s << "' as a double, this indicates an error in the code for writing PDB files" << std::endl;
os << s; os << s;
} }
...@@ -2329,6 +2330,7 @@ void WriteRemark200(std::ostream& pdbFile, Datablock& db) ...@@ -2329,6 +2330,7 @@ void WriteRemark200(std::ostream& pdbFile, Datablock& db)
} }
catch (const std::exception& ex) catch (const std::exception& ex)
{ {
if (cif::VERBOSE >= 0)
std::cerr << ex.what() << std::endl; std::cerr << ex.what() << std::endl;
} }
} }
...@@ -2390,6 +2392,7 @@ void WriteRemark280(std::ostream& pdbFile, Datablock& db) ...@@ -2390,6 +2392,7 @@ void WriteRemark280(std::ostream& pdbFile, Datablock& db)
} }
catch (const std::exception& ex) catch (const std::exception& ex)
{ {
if (cif::VERBOSE >= 0)
std::cerr << ex.what() << std::endl; std::cerr << ex.what() << std::endl;
} }
} }
......
...@@ -288,7 +288,7 @@ SacParser::CIFToken SacParser::getNextToken() ...@@ -288,7 +288,7 @@ SacParser::CIFToken SacParser::getNextToken()
mState = eStateTextField + 1; mState = eStateTextField + 1;
else if (ch == kEOF) else if (ch == kEOF)
error("unterminated textfield"); error("unterminated textfield");
else if (not isAnyPrint(ch)) else if (not isAnyPrint(ch) and cif::VERBOSE >= 0)
// error("invalid character in text field '" + string({ static_cast<char>(ch) }) + "' (" + to_string((int)ch) + ")"); // error("invalid character in text field '" + string({ static_cast<char>(ch) }) + "' (" + to_string((int)ch) + ")");
std::cerr << "invalid character in text field '" << std::string({static_cast<char>(ch)}) << "' (" << ch << ") line: " << mLineNr << std::endl; std::cerr << "invalid character in text field '" << std::string({static_cast<char>(ch)}) << "' (" << ch << ") line: " << mLineNr << std::endl;
break; break;
...@@ -1220,7 +1220,7 @@ void DictParser::linkItems() ...@@ -1220,7 +1220,7 @@ void DictParser::linkItems()
{ {
for (auto &iv : cv.mItemValidators) for (auto &iv : cv.mItemValidators)
{ {
if (iv.mType == nullptr) if (iv.mType == nullptr and cif::VERBOSE >= 0)
std::cerr << "Missing item_type for " << iv.mTag << std::endl; std::cerr << "Missing item_type for " << iv.mTag << std::endl;
} }
} }
...@@ -1255,6 +1255,7 @@ void DictParser::loadDictionary() ...@@ -1255,6 +1255,7 @@ void DictParser::loadDictionary()
} }
catch (const std::exception &) catch (const std::exception &)
{ {
if (cif::VERBOSE >= 0)
std::cerr << "Error parsing dictionary" << std::endl; std::cerr << "Error parsing dictionary" << std::endl;
throw; throw;
} }
......
...@@ -1237,7 +1237,7 @@ std::filesystem::path gDataDir; ...@@ -1237,7 +1237,7 @@ std::filesystem::path gDataDir;
void addDataDirectory(std::filesystem::path dataDir) void addDataDirectory(std::filesystem::path dataDir)
{ {
if (VERBOSE and not fs::exists(dataDir)) if (VERBOSE > 0 and not fs::exists(dataDir))
std::cerr << "The specified data directory " << dataDir << " does not exist" << std::endl; std::cerr << "The specified data directory " << dataDir << " does not exist" << std::endl;
gDataDir = dataDir; gDataDir = dataDir;
} }
......
...@@ -354,7 +354,7 @@ void Validator::reportError(const std::string &msg, bool fatal) const ...@@ -354,7 +354,7 @@ void Validator::reportError(const std::string &msg, bool fatal) const
{ {
if (mStrict or fatal) if (mStrict or fatal)
throw ValidationError(msg); throw ValidationError(msg);
else if (VERBOSE) else if (VERBOSE > 0)
std::cerr << msg << std::endl; std::cerr << msg << std::endl;
} }
......
...@@ -193,7 +193,7 @@ Compound::Compound(cif::Datablock &db, const std::string &id, const std::string ...@@ -193,7 +193,7 @@ Compound::Compound(cif::Datablock &db, const std::string &id, const std::string
bond.type = BondType::delo; bond.type = BondType::delo;
else else
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "Unimplemented chem_comp_bond.type " << btype << " in " << id << std::endl; std::cerr << "Unimplemented chem_comp_bond.type " << btype << " in " << id << std::endl;
bond.type = BondType::sing; bond.type = BondType::sing;
} }
...@@ -520,7 +520,7 @@ Compound *CCDCompoundFactoryImpl::create(const std::string &id) ...@@ -520,7 +520,7 @@ Compound *CCDCompoundFactoryImpl::create(const std::string &id)
} }
} }
if (result == nullptr and cif::VERBOSE) if (result == nullptr and cif::VERBOSE > 0)
std::cerr << "Could not locate compound " << id << " in the CCD components file" << std::endl; std::cerr << "Could not locate compound " << id << " in the CCD components file" << std::endl;
return result; return result;
...@@ -645,13 +645,13 @@ CompoundFactory::CompoundFactory() ...@@ -645,13 +645,13 @@ CompoundFactory::CompoundFactory()
auto ccd = cif::loadResource("components.cif"); auto ccd = cif::loadResource("components.cif");
if (ccd) if (ccd)
mImpl.reset(new CCDCompoundFactoryImpl(mImpl)); mImpl.reset(new CCDCompoundFactoryImpl(mImpl));
else if (cif::VERBOSE) else if (cif::VERBOSE > 0)
std::cerr << "CCD components.cif file was not found" << std::endl; std::cerr << "CCD components.cif file was not found" << std::endl;
const char *clibd_mon = getenv("CLIBD_MON"); const char *clibd_mon = getenv("CLIBD_MON");
if (clibd_mon != nullptr and fs::is_directory(clibd_mon)) if (clibd_mon != nullptr and fs::is_directory(clibd_mon))
mImpl.reset(new CCP4CompoundFactoryImpl(clibd_mon)); mImpl.reset(new CCP4CompoundFactoryImpl(clibd_mon));
else if (cif::VERBOSE) else if (cif::VERBOSE > 0)
std::cerr << "CCP4 monomers library not found, CLIBD_MON is not defined" << std::endl; std::cerr << "CCP4 monomers library not found, CLIBD_MON is not defined" << std::endl;
} }
...@@ -695,6 +695,7 @@ void CompoundFactory::setDefaultDictionary(const std::filesystem::path &inDictFi ...@@ -695,6 +695,7 @@ void CompoundFactory::setDefaultDictionary(const std::filesystem::path &inDictFi
} }
catch (const std::exception &) catch (const std::exception &)
{ {
if (cif::VERBOSE >= 0)
std::cerr << "Error loading dictionary " << inDictFile << std::endl; std::cerr << "Error loading dictionary " << inDictFile << std::endl;
throw; throw;
} }
...@@ -715,6 +716,7 @@ void CompoundFactory::pushDictionary(const std::filesystem::path &inDictFile) ...@@ -715,6 +716,7 @@ void CompoundFactory::pushDictionary(const std::filesystem::path &inDictFile)
} }
catch (const std::exception &) catch (const std::exception &)
{ {
if (cif::VERBOSE >= 0)
std::cerr << "Error loading dictionary " << inDictFile << std::endl; std::cerr << "Error loading dictionary " << inDictFile << std::endl;
throw; throw;
} }
......
...@@ -1320,7 +1320,7 @@ bool Remark3Parser::parse(const std::string& expMethod, PDBRecord* r, cif::Datab ...@@ -1320,7 +1320,7 @@ bool Remark3Parser::parse(const std::string& expMethod, PDBRecord* r, cif::Datab
if (line != "REFINEMENT.") if (line != "REFINEMENT.")
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "Unexpected data in REMARK 3" << std::endl; std::cerr << "Unexpected data in REMARK 3" << std::endl;
return false; return false;
} }
...@@ -1332,7 +1332,7 @@ bool Remark3Parser::parse(const std::string& expMethod, PDBRecord* r, cif::Datab ...@@ -1332,7 +1332,7 @@ bool Remark3Parser::parse(const std::string& expMethod, PDBRecord* r, cif::Datab
if (not std::regex_match(line, m, rxp)) if (not std::regex_match(line, m, rxp))
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "Expected valid PROGRAM line in REMARK 3" << std::endl; std::cerr << "Expected valid PROGRAM line in REMARK 3" << std::endl;
return false; return false;
} }
...@@ -1367,6 +1367,7 @@ bool Remark3Parser::parse(const std::string& expMethod, PDBRecord* r, cif::Datab ...@@ -1367,6 +1367,7 @@ bool Remark3Parser::parse(const std::string& expMethod, PDBRecord* r, cif::Datab
} }
catch(const std::exception& e) catch(const std::exception& e)
{ {
if (cif::VERBOSE >= 0)
std::cerr << "Error parsing REMARK 3 with " << parser->program() << std::endl std::cerr << "Error parsing REMARK 3 with " << parser->program() << std::endl
<< e.what() << '\n'; << e.what() << '\n';
score = 0; score = 0;
...@@ -1411,7 +1412,7 @@ bool Remark3Parser::parse(const std::string& expMethod, PDBRecord* r, cif::Datab ...@@ -1411,7 +1412,7 @@ bool Remark3Parser::parse(const std::string& expMethod, PDBRecord* r, cif::Datab
tryParser(new TNT_Remark3Parser(program, expMethod, r, db)); tryParser(new TNT_Remark3Parser(program, expMethod, r, db));
else if (ba::starts_with(program, "X-PLOR")) else if (ba::starts_with(program, "X-PLOR"))
tryParser(new XPLOR_Remark3Parser(program, expMethod, r, db)); tryParser(new XPLOR_Remark3Parser(program, expMethod, r, db));
else if (cif::VERBOSE) else if (cif::VERBOSE > 0)
std::cerr << "Skipping unknown program (" << program << ") in REMARK 3" << std::endl; std::cerr << "Skipping unknown program (" << program << ") in REMARK 3" << std::endl;
} }
...@@ -1420,6 +1421,7 @@ bool Remark3Parser::parse(const std::string& expMethod, PDBRecord* r, cif::Datab ...@@ -1420,6 +1421,7 @@ bool Remark3Parser::parse(const std::string& expMethod, PDBRecord* r, cif::Datab
bool guessProgram = scores.empty() or scores.front().score < 0.9f;; bool guessProgram = scores.empty() or scores.front().score < 0.9f;;
if (guessProgram) if (guessProgram)
{ {
if (cif::VERBOSE >= 0)
std::cerr << "Unknown or untrusted program in REMARK 3, trying all parsers to see if there is a match" << std::endl; std::cerr << "Unknown or untrusted program in REMARK 3, trying all parsers to see if there is a match" << std::endl;
tryParser(new BUSTER_TNT_Remark3Parser("BUSTER-TNT", expMethod, r, db)); tryParser(new BUSTER_TNT_Remark3Parser("BUSTER-TNT", expMethod, r, db));
...@@ -1444,7 +1446,7 @@ bool Remark3Parser::parse(const std::string& expMethod, PDBRecord* r, cif::Datab ...@@ -1444,7 +1446,7 @@ bool Remark3Parser::parse(const std::string& expMethod, PDBRecord* r, cif::Datab
auto& best = scores.front(); auto& best = scores.front();
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "Choosing " << best.parser->program() << " version '" << best.parser->version() << "' as refinement program. Score = " << best.score << std::endl; std::cerr << "Choosing " << best.parser->program() << " version '" << best.parser->version() << "' as refinement program. Score = " << best.score << std::endl;
auto& software = db["software"]; auto& software = db["software"];
......
...@@ -1240,7 +1240,7 @@ void DSSPImpl::calculateSecondaryStructure() ...@@ -1240,7 +1240,7 @@ void DSSPImpl::calculateSecondaryStructure()
auto r1 = findRes(asym1, seq1); auto r1 = findRes(asym1, seq1);
if (r1 == mResidues.end()) if (r1 == mResidues.end())
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "Missing (incomplete?) residue for SS bond when trying to find " << asym1 << '/' << seq1 << std::endl; std::cerr << "Missing (incomplete?) residue for SS bond when trying to find " << asym1 << '/' << seq1 << std::endl;
continue; continue;
// throw std::runtime_error("Invalid file, missing residue for SS bond"); // throw std::runtime_error("Invalid file, missing residue for SS bond");
...@@ -1249,7 +1249,7 @@ void DSSPImpl::calculateSecondaryStructure() ...@@ -1249,7 +1249,7 @@ void DSSPImpl::calculateSecondaryStructure()
auto r2 = findRes(asym2, seq2); auto r2 = findRes(asym2, seq2);
if (r2 == mResidues.end()) if (r2 == mResidues.end())
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "Missing (incomplete?) residue for SS bond when trying to find " << asym2 << '/' << seq2 << std::endl; std::cerr << "Missing (incomplete?) residue for SS bond when trying to find " << asym2 << '/' << seq2 << std::endl;
continue; continue;
// throw std::runtime_error("Invalid file, missing residue for SS bond"); // throw std::runtime_error("Invalid file, missing residue for SS bond");
...@@ -1300,7 +1300,7 @@ void DSSPImpl::calculateSecondaryStructure() ...@@ -1300,7 +1300,7 @@ void DSSPImpl::calculateSecondaryStructure()
{ {
if (a == b) if (a == b)
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "In the SS bonds list, the residue " << a->mM << " is bonded to itself" << std::endl; std::cerr << "In the SS bonds list, the residue " << a->mM << " is bonded to itself" << std::endl;
continue; continue;
} }
...@@ -1483,7 +1483,7 @@ SecondaryStructureType DSSP::operator()(const std::string &inAsymID, int inSeqID ...@@ -1483,7 +1483,7 @@ SecondaryStructureType DSSP::operator()(const std::string &inAsymID, int inSeqID
{ return r.mM.asymID() == inAsymID and r.mM.seqID() == inSeqID; }); { return r.mM.asymID() == inAsymID and r.mM.seqID() == inSeqID; });
if (i != mImpl->mResidues.end()) if (i != mImpl->mResidues.end())
result = i->mSecondaryStructure; result = i->mSecondaryStructure;
else if (cif::VERBOSE) else if (cif::VERBOSE > 0)
std::cerr << "Could not find secondary structure for " << inAsymID << ':' << inSeqID << std::endl; std::cerr << "Could not find secondary structure for " << inAsymID << ':' << inSeqID << std::endl;
return result; return result;
} }
...@@ -1501,7 +1501,7 @@ double DSSP::accessibility(const std::string &inAsymID, int inSeqID) const ...@@ -1501,7 +1501,7 @@ double DSSP::accessibility(const std::string &inAsymID, int inSeqID) const
{ return r.mM.asymID() == inAsymID and r.mM.seqID() == inSeqID; }); { return r.mM.asymID() == inAsymID and r.mM.seqID() == inSeqID; });
if (i != mImpl->mResidues.end()) if (i != mImpl->mResidues.end())
result = i->mSecondaryStructure; result = i->mSecondaryStructure;
else if (cif::VERBOSE) else if (cif::VERBOSE > 0)
std::cerr << "Could not find secondary structure for " << inAsymID << ':' << inSeqID << std::endl; std::cerr << "Could not find secondary structure for " << inAsymID << ':' << inSeqID << std::endl;
return result; return result;
} }
...@@ -1526,7 +1526,7 @@ bool DSSP::isAlphaHelixEndBeforeStart(const std::string &inAsymID, int inSeqID) ...@@ -1526,7 +1526,7 @@ bool DSSP::isAlphaHelixEndBeforeStart(const std::string &inAsymID, int inSeqID)
if (i != mImpl->mResidues.end() and i + 1 != mImpl->mResidues.end()) if (i != mImpl->mResidues.end() and i + 1 != mImpl->mResidues.end())
result = i->GetHelixFlag(HelixType::rh_alpha) == Helix::End and (i + 1)->GetHelixFlag(HelixType::rh_alpha) == Helix::Start; result = i->GetHelixFlag(HelixType::rh_alpha) == Helix::End and (i + 1)->GetHelixFlag(HelixType::rh_alpha) == Helix::Start;
else if (cif::VERBOSE) else if (cif::VERBOSE > 0)
std::cerr << "Could not find secondary structure for " << inAsymID << ':' << inSeqID << std::endl; std::cerr << "Could not find secondary structure for " << inAsymID << ':' << inSeqID << std::endl;
return result; return result;
......
...@@ -140,14 +140,14 @@ void FileImpl::load(const std::filesystem::path &path) ...@@ -140,14 +140,14 @@ void FileImpl::load(const std::filesystem::path &path)
{ {
try try
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "unrecognized file extension, trying cif" << std::endl; std::cerr << "unrecognized file extension, trying cif" << std::endl;
mData.load(in); mData.load(in);
} }
catch (const cif::CifParserError &e) catch (const cif::CifParserError &e)
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "Not cif, trying plain old PDB" << std::endl; std::cerr << "Not cif, trying plain old PDB" << std::endl;
// pffft... // pffft...
...@@ -169,6 +169,7 @@ void FileImpl::load(const std::filesystem::path &path) ...@@ -169,6 +169,7 @@ void FileImpl::load(const std::filesystem::path &path)
} }
catch (const std::exception &ex) catch (const std::exception &ex)
{ {
if (cif::VERBOSE >= 0)
std::cerr << "Error trying to load file " << path << std::endl; std::cerr << "Error trying to load file " << path << std::endl;
throw; throw;
} }
...@@ -317,7 +318,7 @@ const Compound &Atom::AtomImpl::comp() const ...@@ -317,7 +318,7 @@ const Compound &Atom::AtomImpl::comp() const
mCompound = CompoundFactory::instance().create(compID); mCompound = CompoundFactory::instance().create(compID);
if (cif::VERBOSE and mCompound == nullptr) if (cif::VERBOSE > 0 and mCompound == nullptr)
std::cerr << "Compound not found: '" << compID << '\'' << std::endl; std::cerr << "Compound not found: '" << compID << '\'' << std::endl;
} }
...@@ -623,7 +624,7 @@ AtomView Residue::unique_atoms() const ...@@ -623,7 +624,7 @@ AtomView Residue::unique_atoms() const
firstAlt = alt; firstAlt = alt;
else if (alt != firstAlt) else if (alt != firstAlt)
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "skipping alternate atom " << atom << std::endl; std::cerr << "skipping alternate atom " << atom << std::endl;
continue; continue;
} }
...@@ -829,7 +830,7 @@ float Monomer::phi() const ...@@ -829,7 +830,7 @@ float Monomer::phi() const
} }
catch (const std::exception &ex) catch (const std::exception &ex)
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << ex.what() << std::endl; std::cerr << ex.what() << std::endl;
} }
...@@ -851,7 +852,7 @@ float Monomer::psi() const ...@@ -851,7 +852,7 @@ float Monomer::psi() const
} }
catch (const std::exception &ex) catch (const std::exception &ex)
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << ex.what() << std::endl; std::cerr << ex.what() << std::endl;
} }
...@@ -875,7 +876,7 @@ float Monomer::alpha() const ...@@ -875,7 +876,7 @@ float Monomer::alpha() const
} }
catch (const std::exception &ex) catch (const std::exception &ex)
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << ex.what() << std::endl; std::cerr << ex.what() << std::endl;
} }
...@@ -903,7 +904,7 @@ float Monomer::kappa() const ...@@ -903,7 +904,7 @@ float Monomer::kappa() const
} }
catch (const std::exception &ex) catch (const std::exception &ex)
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "When trying to calculate kappa for " << asymID() << ':' << seqID() << ": " std::cerr << "When trying to calculate kappa for " << asymID() << ':' << seqID() << ": "
<< ex.what() << std::endl; << ex.what() << std::endl;
} }
...@@ -926,7 +927,7 @@ float Monomer::tco() const ...@@ -926,7 +927,7 @@ float Monomer::tco() const
} }
catch (const std::exception &ex) catch (const std::exception &ex)
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "When trying to calculate tco for " << asymID() << ':' << seqID() << ": " std::cerr << "When trying to calculate tco for " << asymID() << ':' << seqID() << ": "
<< ex.what() << std::endl; << ex.what() << std::endl;
} }
...@@ -945,7 +946,7 @@ float Monomer::omega() const ...@@ -945,7 +946,7 @@ float Monomer::omega() const
} }
catch (const std::exception &ex) catch (const std::exception &ex)
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "When trying to calculate omega for " << asymID() << ':' << seqID() << ": " std::cerr << "When trying to calculate omega for " << asymID() << ':' << seqID() << ": "
<< ex.what() << std::endl; << ex.what() << std::endl;
} }
...@@ -1016,7 +1017,7 @@ float Monomer::chi(size_t nr) const ...@@ -1016,7 +1017,7 @@ float Monomer::chi(size_t nr) const
} }
catch (const std::exception &e) catch (const std::exception &e)
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << e.what() << std::endl; std::cerr << e.what() << std::endl;
result = 0; result = 0;
} }
...@@ -1182,7 +1183,7 @@ Polymer::Polymer(const Structure &s, const std::string &entityID, const std::str ...@@ -1182,7 +1183,7 @@ Polymer::Polymer(const Structure &s, const std::string &entityID, const std::str
ix[seqID] = index; ix[seqID] = index;
emplace_back(*this, index, seqID, authSeqID, compoundID); emplace_back(*this, index, seqID, authSeqID, compoundID);
} }
else if (cif::VERBOSE) else if (cif::VERBOSE > 0)
{ {
Monomer m{*this, index, seqID, authSeqID, compoundID}; Monomer m{*this, index, seqID, authSeqID, compoundID};
std::cerr << "Dropping alternate residue " << m << std::endl; std::cerr << "Dropping alternate residue " << m << std::endl;
...@@ -1327,7 +1328,7 @@ Structure::Structure(File &f, size_t modelNr, StructureOpenOptions options) ...@@ -1327,7 +1328,7 @@ Structure::Structure(File &f, size_t modelNr, StructureOpenOptions options)
cif::tie(model_nr) = atomCat.front().get("pdbx_PDB_model_num"); cif::tie(model_nr) = atomCat.front().get("pdbx_PDB_model_num");
if (model_nr and *model_nr != mModelNr) if (model_nr and *model_nr != mModelNr)
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "No atoms loaded for model 1, trying model " << *model_nr << std::endl; std::cerr << "No atoms loaded for model 1, trying model " << *model_nr << std::endl;
mModelNr = *model_nr; mModelNr = *model_nr;
loadAtomsForModel(options); loadAtomsForModel(options);
...@@ -1335,7 +1336,10 @@ Structure::Structure(File &f, size_t modelNr, StructureOpenOptions options) ...@@ -1335,7 +1336,10 @@ Structure::Structure(File &f, size_t modelNr, StructureOpenOptions options)
} }
if (mAtoms.empty()) if (mAtoms.empty())
{
if (cif::VERBOSE >= 0)
std::cerr << "Warning: no atoms loaded" << std::endl; std::cerr << "Warning: no atoms loaded" << std::endl;
}
else else
loadData(); loadData();
} }
...@@ -1443,7 +1447,7 @@ void Structure::loadData() ...@@ -1443,7 +1447,7 @@ void Structure::loadData()
if (ri == resMap.end()) if (ri == resMap.end())
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "Missing residue for atom " << atom << std::endl; std::cerr << "Missing residue for atom " << atom << std::endl;
assert(false); assert(false);
...@@ -2006,6 +2010,7 @@ void Structure::changeResidue(Residue &res, const std::string &newCompound, ...@@ -2006,6 +2010,7 @@ void Structure::changeResidue(Residue &res, const std::string &newCompound,
{ return a.labelAtomID() == a1; }); { return a.labelAtomID() == a1; });
if (i == atoms.end()) if (i == atoms.end())
{ {
if (cif::VERBOSE >= 0)
std::cerr << "Missing atom for atom ID " << a1 << std::endl; std::cerr << "Missing atom for atom ID " << a1 << std::endl;
continue; continue;
} }
......
...@@ -248,7 +248,7 @@ struct TLSSelectionNot : public TLSSelection ...@@ -248,7 +248,7 @@ struct TLSSelectionNot : public TLSSelection
for (auto& r: residues) for (auto& r: residues)
r.selected = not r.selected; r.selected = not r.selected;
if (cif::VERBOSE) if (cif::VERBOSE > 0)
{ {
std::cout << std::string(indentLevel * 2, ' ') << "NOT" << std::endl; std::cout << std::string(indentLevel * 2, ' ') << "NOT" << std::endl;
DumpSelection(residues, indentLevel); DumpSelection(residues, indentLevel);
...@@ -267,7 +267,7 @@ struct TLSSelectionAll : public TLSSelection ...@@ -267,7 +267,7 @@ struct TLSSelectionAll : public TLSSelection
for (auto& r: residues) for (auto& r: residues)
r.selected = true; r.selected = true;
if (cif::VERBOSE) if (cif::VERBOSE > 0)
{ {
std::cout << std::string(indentLevel * 2, ' ') << "ALL" << std::endl; std::cout << std::string(indentLevel * 2, ' ') << "ALL" << std::endl;
DumpSelection(residues, indentLevel); DumpSelection(residues, indentLevel);
...@@ -287,7 +287,7 @@ struct TLSSelectionChain : public TLSSelectionAll ...@@ -287,7 +287,7 @@ struct TLSSelectionChain : public TLSSelectionAll
for (auto& r: residues) for (auto& r: residues)
r.selected = allChains or r.chainID == m_chain; r.selected = allChains or r.chainID == m_chain;
if (cif::VERBOSE) if (cif::VERBOSE > 0)
{ {
std::cout << std::string(indentLevel * 2, ' ') << "CHAIN " << m_chain << std::endl; std::cout << std::string(indentLevel * 2, ' ') << "CHAIN " << m_chain << std::endl;
DumpSelection(residues, indentLevel); DumpSelection(residues, indentLevel);
...@@ -307,7 +307,7 @@ struct TLSSelectionResID : public TLSSelectionAll ...@@ -307,7 +307,7 @@ struct TLSSelectionResID : public TLSSelectionAll
for (auto& r: residues) for (auto& r: residues)
r.selected = r.seqNr == m_seq_nr and r.iCode == m_icode; r.selected = r.seqNr == m_seq_nr and r.iCode == m_icode;
if (cif::VERBOSE) if (cif::VERBOSE > 0)
{ {
std::cout << std::string(indentLevel * 2, ' ') << "ResID " << m_seq_nr << (m_icode ? std::string { m_icode} : "") << std::endl; std::cout << std::string(indentLevel * 2, ' ') << "ResID " << m_seq_nr << (m_icode ? std::string { m_icode} : "") << std::endl;
DumpSelection(residues, indentLevel); DumpSelection(residues, indentLevel);
...@@ -331,7 +331,7 @@ struct TLSSelectionRangeSeq : public TLSSelectionAll ...@@ -331,7 +331,7 @@ struct TLSSelectionRangeSeq : public TLSSelectionAll
(r.seqNr <= m_last or m_last == kResidueNrWildcard)); (r.seqNr <= m_last or m_last == kResidueNrWildcard));
} }
if (cif::VERBOSE) if (cif::VERBOSE > 0)
{ {
std::cout << std::string(indentLevel * 2, ' ') << "Range " << m_first << ':' << m_last << std::endl; std::cout << std::string(indentLevel * 2, ' ') << "Range " << m_first << ':' << m_last << std::endl;
DumpSelection(residues, indentLevel); DumpSelection(residues, indentLevel);
...@@ -374,7 +374,7 @@ struct TLSSelectionRangeID : public TLSSelectionAll ...@@ -374,7 +374,7 @@ struct TLSSelectionRangeID : public TLSSelectionAll
} }
} }
if (cif::VERBOSE) if (cif::VERBOSE > 0)
{ {
std::cout << std::string(indentLevel * 2, ' ') << "Through " << m_first << ':' << m_last << std::endl; std::cout << std::string(indentLevel * 2, ' ') << "Through " << m_first << ':' << m_last << std::endl;
DumpSelection(residues, indentLevel); DumpSelection(residues, indentLevel);
...@@ -407,7 +407,7 @@ struct TLSSelectionUnion : public TLSSelection ...@@ -407,7 +407,7 @@ struct TLSSelectionUnion : public TLSSelection
for (auto ai = a.begin(), bi = b.begin(), ri = residues.begin(); ri != residues.end(); ++ai, ++bi, ++ri) for (auto ai = a.begin(), bi = b.begin(), ri = residues.begin(); ri != residues.end(); ++ai, ++bi, ++ri)
ri->selected = ai->selected or bi->selected; ri->selected = ai->selected or bi->selected;
if (cif::VERBOSE) if (cif::VERBOSE > 0)
{ {
std::cout << std::string(indentLevel * 2, ' ') << "Union" << std::endl; std::cout << std::string(indentLevel * 2, ' ') << "Union" << std::endl;
DumpSelection(residues, indentLevel); DumpSelection(residues, indentLevel);
...@@ -440,7 +440,7 @@ struct TLSSelectionIntersection : public TLSSelection ...@@ -440,7 +440,7 @@ struct TLSSelectionIntersection : public TLSSelection
for (auto ai = a.begin(), bi = b.begin(), ri = residues.begin(); ri != residues.end(); ++ai, ++bi, ++ri) for (auto ai = a.begin(), bi = b.begin(), ri = residues.begin(); ri != residues.end(); ++ai, ++bi, ++ri)
ri->selected = ai->selected and bi->selected; ri->selected = ai->selected and bi->selected;
if (cif::VERBOSE) if (cif::VERBOSE > 0)
{ {
std::cout << std::string(indentLevel * 2, ' ') << "Intersection" << std::endl; std::cout << std::string(indentLevel * 2, ' ') << "Intersection" << std::endl;
DumpSelection(residues, indentLevel); DumpSelection(residues, indentLevel);
...@@ -462,7 +462,7 @@ struct TLSSelectionByName : public TLSSelectionAll ...@@ -462,7 +462,7 @@ struct TLSSelectionByName : public TLSSelectionAll
for (auto& r: residues) for (auto& r: residues)
r.selected = r.name == m_name; r.selected = r.name == m_name;
if (cif::VERBOSE) if (cif::VERBOSE > 0)
{ {
std::cout << std::string(indentLevel * 2, ' ') << "Name " << m_name << std::endl; std::cout << std::string(indentLevel * 2, ' ') << "Name " << m_name << std::endl;
DumpSelection(residues, indentLevel); DumpSelection(residues, indentLevel);
...@@ -488,7 +488,7 @@ struct TLSSelectionByElement : public TLSSelectionAll ...@@ -488,7 +488,7 @@ struct TLSSelectionByElement : public TLSSelectionAll
for (auto& r: residues) for (auto& r: residues)
r.selected = iequals(r.name, m_element); r.selected = iequals(r.name, m_element);
if (cif::VERBOSE) if (cif::VERBOSE > 0)
{ {
std::cout << std::string(indentLevel * 2, ' ') << "Element " << m_element << std::endl; std::cout << std::string(indentLevel * 2, ' ') << "Element " << m_element << std::endl;
DumpSelection(residues, indentLevel); DumpSelection(residues, indentLevel);
...@@ -890,7 +890,7 @@ TLSSelectionPtr TLSSelectionParserImplPhenix::Parse() ...@@ -890,7 +890,7 @@ TLSSelectionPtr TLSSelectionParserImplPhenix::Parse()
Match(pt_EOLN); Match(pt_EOLN);
if (extraParenthesis) if (extraParenthesis and cif::VERBOSE > 0)
std::cerr << "WARNING: too many closing parenthesis in TLS selection statement" << std::endl; std::cerr << "WARNING: too many closing parenthesis in TLS selection statement" << std::endl;
return result; return result;
...@@ -931,7 +931,7 @@ TLSSelectionPtr TLSSelectionParserImplPhenix::ParseFactor() ...@@ -931,7 +931,7 @@ TLSSelectionPtr TLSSelectionParserImplPhenix::ParseFactor()
case '(': case '(':
Match('('); Match('(');
result = ParseAtomSelection(); result = ParseAtomSelection();
if (m_lookahead == pt_EOLN) if (m_lookahead == pt_EOLN and cif::VERBOSE > 0)
std::cerr << "WARNING: missing closing parenthesis in TLS selection statement" << std::endl; std::cerr << "WARNING: missing closing parenthesis in TLS selection statement" << std::endl;
else else
Match(')'); Match(')');
...@@ -1033,7 +1033,7 @@ TLSSelectionPtr TLSSelectionParserImplPhenix::ParseFactor() ...@@ -1033,7 +1033,7 @@ TLSSelectionPtr TLSSelectionParserImplPhenix::ParseFactor()
result.reset(new TLSSelectionRangeID(from, to, icode_from, icode_to)); result.reset(new TLSSelectionRangeID(from, to, icode_from, icode_to));
else else
{ {
if (cif::VERBOSE and (icode_from or icode_to)) if (cif::VERBOSE > 0 and (icode_from or icode_to))
std::cerr << "Warning, ignoring insertion codes" << std::endl; std::cerr << "Warning, ignoring insertion codes" << std::endl;
result.reset(new TLSSelectionRangeSeq(from, to)); result.reset(new TLSSelectionRangeSeq(from, to));
...@@ -1231,6 +1231,7 @@ TLSSelectionPtr TLSSelectionParserImplBuster::ParseGroup() ...@@ -1231,6 +1231,7 @@ TLSSelectionPtr TLSSelectionParserImplBuster::ParseGroup()
std::tie(chain2, seqNr2) = ParseAtom(); std::tie(chain2, seqNr2) = ParseAtom();
if (chain1 != chain2) if (chain1 != chain2)
{ {
if (cif::VERBOSE > 0)
std::cerr << "Warning, ranges over multiple chains detected" << std::endl; std::cerr << "Warning, ranges over multiple chains detected" << std::endl;
TLSSelectionPtr sc1(new TLSSelectionChain(chain1)); TLSSelectionPtr sc1(new TLSSelectionChain(chain1));
...@@ -1289,7 +1290,7 @@ std::tuple<std::string,int> TLSSelectionParserImplBuster::ParseAtom() ...@@ -1289,7 +1290,7 @@ std::tuple<std::string,int> TLSSelectionParserImplBuster::ParseAtom()
Match(':'); Match(':');
std::string atom = m_value_s; std::string atom = m_value_s;
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "Warning: ignoring atom ID '" << atom << "' in TLS selection" << std::endl; std::cerr << "Warning: ignoring atom ID '" << atom << "' in TLS selection" << std::endl;
Match(bt_IDENT); Match(bt_IDENT);
...@@ -1810,6 +1811,7 @@ class TLSSelectionParser ...@@ -1810,6 +1811,7 @@ class TLSSelectionParser
} }
catch (const std::exception& ex) catch (const std::exception& ex)
{ {
if (cif::VERBOSE >= 0)
std::cerr << "ParseError: " << ex.what() << std::endl; std::cerr << "ParseError: " << ex.what() << std::endl;
} }
...@@ -1834,14 +1836,14 @@ TLSSelectionPtr ParseSelectionDetails(const std::string& program, const std::str ...@@ -1834,14 +1836,14 @@ TLSSelectionPtr ParseSelectionDetails(const std::string& program, const std::str
if (not result) if (not result)
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "Falling back to old BUSTER" << std::endl; std::cerr << "Falling back to old BUSTER" << std::endl;
result = busterOld.Parse(selection); result = busterOld.Parse(selection);
} }
if (not result) if (not result)
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "Falling back to PHENIX" << std::endl; std::cerr << "Falling back to PHENIX" << std::endl;
result = phenix.Parse(selection); result = phenix.Parse(selection);
} }
...@@ -1852,35 +1854,35 @@ TLSSelectionPtr ParseSelectionDetails(const std::string& program, const std::str ...@@ -1852,35 +1854,35 @@ TLSSelectionPtr ParseSelectionDetails(const std::string& program, const std::str
if (not result) if (not result)
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "Falling back to BUSTER" << std::endl; std::cerr << "Falling back to BUSTER" << std::endl;
result = buster.Parse(selection); result = buster.Parse(selection);
} }
if (not result) if (not result)
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "Falling back to old BUSTER" << std::endl; std::cerr << "Falling back to old BUSTER" << std::endl;
result = busterOld.Parse(selection); result = busterOld.Parse(selection);
} }
} }
else else
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "No known program specified, trying PHENIX" << std::endl; std::cerr << "No known program specified, trying PHENIX" << std::endl;
result = phenix.Parse(selection); result = phenix.Parse(selection);
if (not result) if (not result)
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "Falling back to BUSTER" << std::endl; std::cerr << "Falling back to BUSTER" << std::endl;
result = buster.Parse(selection); result = buster.Parse(selection);
} }
if (not result) if (not result)
{ {
if (cif::VERBOSE) if (cif::VERBOSE > 0)
std::cerr << "Falling back to old BUSTER" << std::endl; std::cerr << "Falling back to old BUSTER" << std::endl;
result = busterOld.Parse(selection); result = busterOld.Parse(selection);
} }
......
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