9 #ifndef IMPATOM_SOAP_PAIR_FILTER_H
10 #define IMPATOM_SOAP_PAIR_FILTER_H
12 #include <IMP/atom/atom_config.h>
13 #include <IMP/score_functor/score_functor_config.h>
16 #include "internal/soap_chain_separation.h"
17 #include "internal/soap_bond_separation.h"
19 IMPATOM_BEGIN_NAMESPACE
27 #ifdef IMP_SCORE_FUNCTOR_USE_HDF5
28 internal::SoapBondSeparation bondsep_;
29 internal::SoapChainSeparation chainsep_;
33 #ifdef IMP_SCORE_FUNCTOR_USE_HDF5
34 score_functor::internal::Hdf5File file_id(library);
35 bondsep_.read(file_id);
36 chainsep_.read(file_id);
39 IMP_THROW(
"Must configure IMP with HDF5 to use this class", ValueException);
46 #ifdef IMP_SCORE_FUNCTOR_USE_HDF5
47 return !chainsep_.get_separation_ok(m, p) ||
48 !bondsep_.get_separation_ok(m, p);
57 #ifdef IMP_SCORE_FUNCTOR_USE_HDF5
58 if (chainsep_.enabled() || bondsep_.enabled()) {
63 for (
unsigned int i = 0; i < pis.size(); ++i) {
64 if (Atom::get_is_setup(m, pis[i])) {
Hierarchy get_parent() const
Import IMP/kernel/pair_macros.h in the namespace.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
virtual int get_value_index(kernel::Model *m, const kernel::ParticleIndexPair &p) const
Compute the predicate and the derivative if needed.
ParticlesTemp get_particles(kernel::Model *m, const ParticleIndexes &ps)
Filter atom pairs for SOAP.
A class to store an fixed array of same-typed values.
The standard decorator for manipulating molecular structures.
#define IMP_UNUSED(variable)
A decorator for a particle representing an atom.
Import IMP/kernel/PairPredicate.h in the namespace.
#define IMP_PAIR_PREDICATE_METHODS(Name)
Define extra the functions needed for a PairPredicate.
Abstract predicate function.
virtual kernel::ModelObjectsTemp do_get_inputs(kernel::Model *m, const kernel::ParticleIndexes &pis) const
#define IMP_THROW(message, exception_name)
Throw an exception with a message.
A decorator for a residue.
Residue get_residue(Atom d, bool nothrow=false)
Return the Residue containing this atom.
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
Class for storing model, its restraints, constraints, and particles.