IMP
2.0.1
The Integrative Modeling Platform
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
IMP
IMP Documentation
Application Index
Argument Index
Class Examples
Modeling of GroEL with cnmultifit
Modeling of 3sfd with EMageFit
EMageFit protocol
EMageFit scripts and tools
Factory Index
Determination of a Nup133 structure with FoXS
Function Examples
Example design discussion
Developer Guide
Change History
Installation
Introduction
Mailing lists
Multithreaded evaluation using OpenMP
Integrative docking utility programs
Docking of PCSK9 with idock
Dependencies between objects
Module Index
Modeling of 3sfd with multifit
Deprecated List
Modules
Namespaces
Classes
Files
File List
__init__.py
algebra/__init__.py
atom/__init__.py
base/__init__.py
benchmark/__init__.py
cgal/__init__.py
cnmultifit/__init__.py
container/__init__.py
core/__init__.py
display/__init__.py
domino/__init__.py
em/__init__.py
em2d/__init__.py
example/__init__.py
gsl/__init__.py
isd/__init__.py
kernel/__init__.py
kmeans/__init__.py
misc/__init__.py
modeller/__init__.py
multifit/__init__.py
parallel/__init__.py
pepdock/__init__.py
restrainer/__init__.py
rmf/__init__.py
rotamer/__init__.py
saxs/__init__.py
score_functor/__init__.py
scratch/__init__.py
statistics/__init__.py
system/__init__.py
test/__init__.py
_display.py
_graph_show.py
_histogram.py
_interaction_graph.py
_main.py
_optimization.py
_pivy.py
_randomize.py
_representation.py
_restraint.py
algebra/_version_check.py
atom/_version_check.py
base/_version_check.py
benchmark/_version_check.py
cgal/_version_check.py
cnmultifit/_version_check.py
container/_version_check.py
core/_version_check.py
display/_version_check.py
domino/_version_check.py
em/_version_check.py
em2d/_version_check.py
example/_version_check.py
gsl/_version_check.py
isd/_version_check.py
kernel/_version_check.py
kmeans/_version_check.py
misc/_version_check.py
modeller/_version_check.py
multifit/_version_check.py
parallel/_version_check.py
pepdock/_version_check.py
restrainer/_version_check.py
rmf/_version_check.py
rotamer/_version_check.py
saxs/_version_check.py
score_functor/_version_check.py
scratch/_version_check.py
statistics/_version_check.py
system/_version_check.py
test/_version_check.py
_xml_parser.py
AbstractGrid.py
add_fit_rmsd.py
AddScores.h
algebra.h
algebra_config.h
algebra_macros.h
align.py
align2D.h
AlignmentParams.h
AlignSymmetric.h
AllBipartitePairContainer.h
AllPairContainer.h
AmbiguousNOERestraint.h
AmbiguousRestraint.h
analysis.h
Analysis.py
analyze_convergence.py
anchor_graph.h
anchor_utilities.h
anchors.py
anchors_reader.h
angle_decorators.h
AngleRestraint.h
AngleSingletonScore.h
AngleTripletScore.h
argminmax.py
Array.h
assess_dope.py
Assignment.h
assignment_containers.h
assignment_tables.h
associations.h
atom/Atom.h
Atom.h
atom_config.h
atom_io.h
atom_links.h
atom_macros.h
atomicDomino.py
atomicDominoUtilities.py
AttributeSingletonScore.h
BallMover.h
base.h
base_config.h
base_macros.h
base_types.h
kernel/base_types.h
basic_display.py
basic_geometry.py
basic_optimization.py
basic_setup.py
benchmark.h
benchmark_config.h
benchmark_macros.h
BerendsenThermostatOptimizerState.h
BildWriter.h
bipartite_nonbonded_interactions.py
bivariate_functions.h
blame.h
bond_decorators.h
bond_graph.h
BondedPairFilter.h
BondEndpointsRefiner.h
BondPairContainer.h
BondSingletonScore.h
BoundingBox3DSingletonScore.h
BoundingBoxD.h
BoxSweepClosePairsFinder.h
bracket_macros.h
BranchAndBoundSampler.h
brownian_statistics.py
BrownianDynamics.h
build.py
buildxlinks.py
cache.h
CenteredMat.h
CentroidOfRefined.h
cg_pdb.py
cgal.h
cgal_config.h
Chain.h
chain.py
Charged.h
charmm_forcefield.py
charmm_forcefield_verbose.py
charmm_segment_topology.h
charmm_topology.h
CHARMMAtom.h
CHARMMParameters.h
CHARMMStereochemistryRestraint.h
check_macros.h
ChecksScoreState.h
ChildrenRefiner.h
chimera_models.py
ChimeraWriter.h
ChiScore.h
ChiScoreLog.h
close_pairs_finder_macros.h
CloseBipartitePairContainer.h
ClosedCubicSpline.h
ClosePairContainer.h
ClosePairsFinder.h
ClosePairsPairScore.h
cluster.py
cluster_coarse.py
clustering_macros.h
clustering_of_pdb_models.py
CMMWriter.h
cn_rmsd.h
cnmultifit.h
cnmultifit.py
cnmultifit_config.h
CnSymmAxisDetector.h
coarse_molecule.h
CoarseCC.h
CoarseCCatIntervals.h
CoarseConvolution.h
collision_cross_section.py
CollisionCrossSection.h
Color.h
Colored.h
CommonEndpointPairFilter.h
comparison_macros.h
compat_subprocess.py
compatibility.h
compiler_macros.h
ComplementarityRestraint.h
complex_assembly.h
complex_to_anchor_graph.py
compute_chi.cpp
Cone3D.h
Configuration.h
kernel/Configuration.h
ConfigurationSet.h
kernel/ConfigurationSet.h
core/ConjugateGradients.h
gsl/ConjugateGradients.h
ConnectingPairContainer.h
connectivity.py
connectivity_restraint.py
ConnectivityRestraint.h
connolly_surface.h
ConsecutivePairContainer.h
ConstantRestraint.h
algebra/constants.h
atom/constants.h
constants.h
kernel/constants.h
Constraint.h
kernel/Constraint.h
ConstVector.h
container.h
container_base.h
kernel/container_base.h
container_config.h
container_macros.h
kernel/container_macros.h
convert_spider_to_jpg.py
converters.h
Copy.h
core.h
core_config.h
core_macros.h
Cosine.h
CoulombPairScore.h
counting.h
cover_particles.py
CoverBond.h
CoverRefined.h
CreateLogContext.h
creating_restraints.h
csv_related.py
cube.py
custom_filter.py
custom_hierarchy.py
CustomXYZR.h
Cylinder3D.h
Database.py
DataObject.h
DataPointsAssignment.h
decay.py
DecayPairContainerOptimizerState.h
declare_Geometry.h
declare_Model.h
kernel/declare_Model.h
declare_Object.h
declare_PairContainer.h
kernel/declare_PairContainer.h
declare_Particle.h
kernel/declare_Particle.h
declare_QuadContainer.h
kernel/declare_QuadContainer.h
declare_Restraint.h
kernel/declare_Restraint.h
declare_RestraintSet.h
kernel/declare_RestraintSet.h
declare_ScoringFunction.h
kernel/declare_ScoringFunction.h
declare_SingletonContainer.h
kernel/declare_SingletonContainer.h
declare_TripletContainer.h
kernel/declare_TripletContainer.h
Decorator.h
kernel/Decorator.h
decorator_macros.h
kernel/decorator_macros.h
def.h
density_analysis.h
density_map_volumetrics.h
density_utilities.h
density_utils.h
DensityDataPoints.h
DensityFillingRestraint.h
DensityHeader.h
DensityMap.h
cnmultifit_tools/dependencies.py
em_tools/dependencies.py
EMageFit/dependencies.py
example_app/dependencies.py
foxs/dependencies.py
integrative_docking/dependencies.py
ligand_score/dependencies.py
multifit_tools/dependencies.py
pdb_tools/dependencies.py
rmf_tools/dependencies.py
saxs_merge/dependencies.py
saxs_tools/dependencies.py
dependency_graph.h
kernel/dependency_graph.h
dependency_graph.py
DependencyScoreState.h
deprecation.h
deprecation_macros.h
DerivativeAccumulator.h
kernel/DerivativeAccumulator.h
DerivativeCalculator.h
DerivativesFromRefined.h
DerivativesToRefined.h
DiameterRestraint.h
Diffusion.h
DihedralRestraint.h
dihedrals.h
DihedralSingletonScore.h
DiscreteSampler.h
display.h
display_config.h
display_log.py
display_macros.h
displaying_ensembles.py
distance.h
distance_pair_score_macros.h
core/DistancePairScore.h
score_functor/DistancePairScore.h
DistanceRestraint.h
DistanceToSingletonScore.h
DistributePairsScoreState.h
DistributeQuadsScoreState.h
DistributeSingletonsScoreState.h
DistributeTripletsScoreState.h
Distribution.h
dock_with_crosslinks.py
Domain.h
domino.h
domino_approach.py
domino_config.h
domino_filter_tables.h
domino_filters.h
domino_macros.h
domino_particle_states.h
DominoModel.py
DominoSampler.h
Dope.h
dope_and_excluded_volume.cpp
DopePairScore.h
doxygen.h
kernel/doxygen.h
doxygen_macros.h
DummyRestraint.h
DynamicListPairContainer.h
DynamicListQuadContainer.h
DynamicListSingletonContainer.h
DynamicListTripletContainer.h
eigen_analysis.h
element.h
Ellipsoid3D.h
em.h
em2d.h
em2d_config.h
Em2DRestraint.h
em_config.h
em_images_conversion.py
em_restraint.py
emagefit.py
emagefit_cluster.py
emagefit_dock.py
emagefit_score.py
em/embedding.h
statistics/embedding.h
embedding_macros.h
embeddings.h
EMReaderWriter.h
endian.h
ensemble_analysis.h
Entry.py
enums.h
envelope_penetration.h
EnvelopeFitRestraint.h
EnvelopePenetrationRestraint.h
EnvelopeScore.h
estimate_threshold_from_molecular_mass.py
estimates.h
EventPairsOptimizerState.h
EventQuadsOptimizerState.h
EventSingletonsOptimizerState.h
EventTripletsOptimizerState.h
example.h
example_config.h
ExampleComplexRestraint.h
ExampleConstraint.h
ExampleDecorator.h
ExamplePairScore.h
ExampleRefCounted.h
ExampleRestraint.h
ExampleSingletonModifier.h
ExampleSubsetFilterTable.h
ExampleTemplateClass.h
ExampleUnaryFunction.h
base/exception.h
exception.h
kernel/exception.h
excluded_volume.py
ExcludedVolumeRestraint.h
exp.h
fft_based_rigid_fitting.h
FFToperations.h
fifobased_loader.py
FIFOBasedGrid.py
base/file.h
file.h
kernel/file.h
filebased_loader.py
FileBasedGrid.py
filenames_manipulation.h
filter_close_pairs.py
FilterGeometry.h
Fine2DRegistrationRestraint.h
fit_fft.py
fit_restraint.py
FitParameters.h
FitRestraint.h
fitting_clustering.h
fitting_solutions_reader_writer.h
fitting_states.h
fitting_tools.h
fitting_utils.h
FittingSolutionRecord.h
FixedRefiner.h
flags.h
FloatIndex.h
kernel/FloatIndex.h
FNormal.h
force_fields.h
ForceFieldParameters.h
FormFactorTable.h
foxs.cpp
Fragment.h
frames.h
functor.h
kernel/functor.h
GaussianProcessInterpolation.h
GaussianProcessInterpolationRestraint.h
GaussianProcessInterpolationRestraintSparse.h
GaussianProcessInterpolationSparse.h
GaussianRestraint.h
generate_density_map_of_fixed_dimension.py
container/generic.h
core/generic.h
generic.h
kernel/generic.h
geometric_alignment.h
geometric_primitive_macros.h
GeometricHash.h
GeometricPrimitiveD.h
geometry.h
algebra/geometry.py
rmf/geometry.py
geometry_io.h
geometry_macros.h
GeometryProcessor.h
GeometrySet.h
graph.py
graph_macros.h
grid_embeddings.h
grid_indexes.h
grid_ranges.h
grid_space.py
grid_storages.h
grid_utility.h
GridClosePairsFinder.h
GridD.h
gsl.h
gsl_config.h
GSLOptimizer.h
core/Harmonic.h
score_functor/Harmonic.h
core/HarmonicLowerBound.h
score_functor/HarmonicLowerBound.h
core/HarmonicUpperBound.h
score_functor/HarmonicUpperBound.h
HarmonicWell.h
hash.h
hash_macros.h
header_converters.h
hierarchical_clustering.h
atom/Hierarchy.h
core/Hierarchy.h
hierarchy_tools.h
Histogram.h
HistogramD.h
History.py
hosts.py
HybridMonteCarlo.h
idock.py
Image.h
image_processing.h
ImageHeader.h
ImageReaderWriter.h
IMP.h
imp_example_app.cpp
imp_restraints_in_modeller.py
ImproperSingletonScore.h
InContainerPairFilter.h
InContainerQuadFilter.h
InContainerSingletonFilter.h
InContainerTripletFilter.h
incremental_mc.py
IncrementalScoringFunction.h
Index.h
indexes.py
input_output.h
kernel/input_output.h
input_output_macros.h
kernel/input_output_macros.h
InputAdaptor.h
interactive.h
interactive.py
interactive_with_containers.py
algebra/io.h
io.h
kernel/io.h
isd.h
isd_config.h
ISDRestraint.h
JeffreysRestraint.h
JPGImageReaderWriter.h
kernel.h
kernel_config.h
KernelParameters.h
kernel/Key.h
Key.h
kernel/key_macros.h
key_macros.h
kmeans/KMeans.h
KMeans.h
kmeans.py
kmeans_config.h
kmeans_example.py
LangevinThermostatOptimizerState.h
LeavesRefiner.h
LennardJones.h
LennardJonesPairScore.h
ligand_score.cpp
Linear.h
LinearFit.h
LinearLowerBound.h
link.py
link_macros.h
links.h
ListPairContainer.h
ListQuadContainer.h
ListSingletonContainer.h
ListTripletContainer.h
live_objects.h
load_modeller_model.py
load_protein_restrain_bonds.py
local_distance.py
local_fitting.py
base/log.h
kernel/log.h
log.h
log.py
log_macros.h
logfile.py
LogicalORRestraint.h
LognormalRestraint.h
LogOptimizerState.h
LogPairScore.h
LowestRefinedPairScore.h
kernel/macros.h
macros.h
MaintainScaleOrderConstraint.h
map.h
map2pca.py
MapDistanceTransform.h
MapReaderWriter.h
MarginalHBondRestraint.h
MarginalNOERestraint.h
marina_party.py
markers.py
masking.h
Mass.h
master_communicator.py
math.h
MCCGSampler.h
doc/examples/domino/merge_tree.py
lib/IMP/multifit/merge_tree.py
merge_tree_utils.h
Metric.h
metric_clustering.h
metric_macros.h
metrics.h
MinimumPairRestraint.h
MinimumPairScore.h
MinimumQuadRestraint.h
MinimumQuadScore.h
MinimumRestraint.h
MinimumSingletonRestraint.h
MinimumSingletonScore.h
MinimumTripletRestraint.h
MinimumTripletScore.h
misc.h
misc_config.h
kernel/Model.h
Model.h
model_interaction.h
model_statistics.h
modeller.h
modeller_config.h
modeller_restraints_in_imp.py
kernel/ModelObject.h
ModelObject.h
models.py
mol2.h
mol2pca.py
MolCnSymmAxisDetector.h
molecular_hierarchy.py
atom/MolecularDynamics.h
isd/MolecularDynamics.h
MolecularDynamicsMover.h
Molecule.h
monte_carlo_macros.h
MonteCarlo.h
MonteCarloMover.h
MonteCarloRelativeMoves.py
Mover.h
mover_macros.h
MoverBase.h
MoveStatisticsScoreState.h
MRCReaderWriter.h
ms_connectivity_restraint.py
MSConnectivityRestraint.h
multifit.h
multifit.py
multifit_config.h
MultipleBinormalRestraint.h
multiresolution.py
multiscale.py
MultivariateFNormalSufficient.h
MultivariateFNormalSufficientSparse.h
NearestNeighborsClosePairsFinder.h
NOERestraint.h
nonbonded_interactions.py
NonCopyable.h
NormalMover.h
Nuisance.h
NuisanceRangeModifier.h
nullptr.h
nullptr_macros.h
nup84.py
nup84_complex_in_bead_representation.py
base/Object.h
kernel/Object.h
Object.h
object_cast.h
object_macros.h
core/OpenCubicSpline.h
score_functor/OpenCubicSpline.h
opencv_interface.h
optimize_balls.py
optimize_em2d_with_montecarlo.py
kernel/Optimizer.h
Optimizer.h
kernel/optimizer_macros.h
optimizer_macros.h
kernel/optimizer_state_macros.h
optimizer_state_macros.h
kernel/OptimizerState.h
OptimizerState.h
optimizing.h
Order.h
OrderedDict.py
osPeptideDocker.py
kernel/pair_macros.h
pair_macros.h
pair_predicates.h
pair_restraint.py
PairConstraint.h
kernel/PairContainer.h
PairContainer.h
PairContainerSet.h
PairContainerStatistics.h
kernel/PairDerivativeModifier.h
PairDerivativeModifier.h
kernel/PairModifier.h
PairModifier.h
kernel/PairPredicate.h
PairPredicate.h
PairRestraint.h
PairsConstraint.h
kernel/PairScore.h
PairScore.h
PairsOptimizerState.h
PairsRestraint.h
ParabolicFit.h
parallel.h
parallel_config.h
cnmultifit/param.py
multifit/param.py
kernel/Particle.h
Particle.h
particle_geometry.h
kernel/particle_index.h
particle_index.h
particle_io.h
particle_states.h
kernel/ParticleTuple.h
ParticleTuple.h
partitional_clustering_macros.h
PartitionalClustering.h
PartitionalClusteringWithCenter.h
path_reader_writer.h
pca_based_rigid_fitting.h
PCAAligner.h
PCAFitRestraint.h
pdb.h
pdb.py
pdb2density.py
pdb_check.cpp
pdb_rmf.cpp
pepdock.h
pepdock_config.h
peptideDocker.py
periodic_optimizer_state_macros.h
PeriodicOptimizerState.h
piecewise_linear_distribution.h
Plane3D.h
point_clustering.h
base/Pointer.h
kernel/Pointer.h
Pointer.h
PolarResamplingParameters.h
PredicatePairsRestraint.h
PredicateQuadsRestraint.h
predicates.h
PredicateSingletonsRestraint.h
PredicateTripletsRestraint.h
primitive_geometries.h
Profile.h
profile.py
profile_fit.py
ProfileFitter.h
Profiler.h
project.h
ProjectionFinder.h
ProjectionMask.h
ProjectionParameters.h
protein_anchors_mapping_reader.h
protein_ligand_score.h
proteomics.py
proteomics_em_alignment_atomic.h
proteomics_reader.h
PymolWriter.h
PyroGrid.py
PyroHandlerLoader.py
PyroUtils.py
algebra/python_only.h
atom/python_only.h
core/python_only.h
display/python_only.h
kernel/python_only.h
python_only.h
statistics/python_only.h
kernel/quad_macros.h
quad_macros.h
quad_predicates.h
QuadConstraint.h
kernel/QuadContainer.h
QuadContainer.h
QuadContainerSet.h
QuadContainerStatistics.h
kernel/QuadDerivativeModifier.h
QuadDerivativeModifier.h
kernel/QuadModifier.h
QuadModifier.h
kernel/QuadPredicate.h
QuadPredicate.h
QuadraticClosePairsFinder.h
QuadRestraint.h
QuadsConstraint.h
kernel/QuadScore.h
QuadScore.h
QuadsOptimizerState.h
QuadsRestraint.h
QuasiNewton.h
multifit/RadiusOfGyrationRestraint.h
saxs/RadiusOfGyrationRestraint.h
RAII.h
raii_macros.h
base/random.h
kernel/random.h
random.h
randomize_rigid_body.py
randomizing.h
range_restriction.py
RecursivePartitionalClusteringEmbedding.h
RecursivePartitionalClusteringMetric.h
ref_counted_macros.h
base/RefCounted.h
kernel/RefCounted.h
RefCounted.h
reference.py
ReferenceFrame3D.h
refine_fft.py
RefinedPairsPairScore.h
kernel/Refiner.h
Refiner.h
kernel/refiner_macros.h
refiner_macros.h
Reflection3D.h
RegistrationResult.h
RelativePositionMover.h
RemoveRigidMotionOptimizerState.h
RemoveTranslationOptimizerState.h
Replica.py
RepulsiveDistancePairScore.h
resample_density.py
Residue.h
restrain_diameter.py
restrain_in_sphere.py
restrain_minimum_distance.py
restrainer.h
restrainer_config.h
kernel/Restraint.h
Restraint.h
saxs/Restraint.h
restraint_cache.py
restraint_geometry.h
restraint_io.h
kernel/restraint_macros.h
restraint_macros.h
restraints.py
kernel/RestraintSet.h
RestraintSet.h
RestraintsScoringFunction.h
rg.cpp
rigid_bodies.h
rigid_bodies.py
rigid_body_and_excluded_volume_restraint.py
rigid_body_excluded_volume.py
rigid_body_geometries.h
rigid_brownian_dynamics.py
rigid_collisions.py
rigid_fitting.h
RigidBodiesImageFitRestraint.h
RigidBodyDistancePairScore.h
RigidBodyMover.h
RigidClosePairsFinder.h
rmf.h
rmf_color.cpp
rmf_config.h
rmf_display.cpp
RMFWriter.h
rmsd.py
RMSDClustering.h
ro.py
rotamer.h
rotamer_config.h
rotamer_pdb.py
rotamer_pdb2.py
RotamerCalculator.h
RotamerLibrary.h
Rotation2D.h
Rotation3D.h
SameResiduePairFilter.h
SampledDensityMap.h
kernel/Sampler.h
Sampler.h
kernel/sampler_macros.h
sampler_macros.h
sampling.py
save_assignments.py
SaveOptimizerState.h
saxs.h
saxs_config.h
saxs_merge.py
saxs_restraint.py
Scale.h
kernel/scoped.h
scoped.h
Score.h
score.py
score_functor.h
score_functor_config.h
score_protein_with_ligand.py
kernel/score_state_macros.h
score_state_macros.h
kernel/ScoreAccumulator.h
ScoreAccumulator.h
scores2D.h
kernel/ScoreState.h
ScoreState.h
ScoreUnaryFunction.h
kernel/scoring_function_macros.h
scoring_function_macros.h
kernel/ScoringFunction.h
ScoringFunction.h
scratch.h
scratch_config.h
secondary_structure_reader.h
SecondaryStructureResidue.h
Segment3D.h
Selection.h
SerialMover.h
serialPeptideDocker.py
set.h
SetCheckState.h
SetLogState.h
SettingsData.h
setup.py
shared_functions.py
Shift.h
shortest_segment.h
show_particles_as_spheres.py
Showable.h
showable_macros.h
simple_connectivity_on_molecules.py
simple_connectivity_on_rigid_bodies.py
simple_diameter.py
simple_distance.py
simple_em_fit.py
simple_excluded_volume.py
simple_links.h
Simplex.h
simplex.py
simplify_restraint.h
simulate_density_from_pdb.py
simulation.py
Simulator.h
kernel/singleton_macros.h
singleton_macros.h
singleton_predicates.h
SingletonConstraint.h
kernel/SingletonContainer.h
SingletonContainer.h
SingletonContainerSet.h
SingletonContainerStatistics.h
kernel/SingletonDerivativeModifier.h
SingletonDerivativeModifier.h
kernel/SingletonModifier.h
SingletonModifier.h
kernel/SingletonPredicate.h
SingletonPredicate.h
SingletonRestraint.h
SingletonsConstraint.h
kernel/SingletonScore.h
SingletonScore.h
SingletonsOptimizerState.h
SingletonsRestraint.h
six_particles_optimization.py
slave_handler.py
slavestate.py
Slice.h
SlidingPriorRestraint.h
smoothing_functions.h
SoftCylinderPairScore.h
solutions_io.py
SolventAccessibleSurface.h
Sphere3D.h
SphereD.h
SphereDistance.h
SphereDistancePairScore.h
SpherePatch3D.h
SphericalVector3D.h
SpiderHeader.h
SpiderImageReaderWriter.h
SpiderReaderWriter.h
standard_grids.h
StateAdaptor.h
Statistical.h
StatisticalPairScore.h
statistics.h
Statistics.py
statistics_config.h
SteepestDescent.h
StereochemistryPairFilter.h
structure_from_sequence.py
subproc.py
Subset.h
subset_filters.h
subset_graphs.h
subset_scores.h
surface.py
SurfaceShellDensityMap.h
swap_macros.h
swig_macros.h
Switching.h
symmetric_multifit.h
symmetry.h
symmetry.py
symmetry_utils.h
system.h
system_config.h
TableRefiner.h
TALOSReader.py
TALOSRestraint.h
tasks.py
TBLReader.py
test.h
thread_macros.h
threads.h
TIFFImageReaderWriter.h
tracking.h
Transform.h
Transformation2D.h
Transformation3D.h
TransformationClustering.h
TransformedDistancePairScore.h
transforms.py
Triangle3D.h
kernel/triplet_macros.h
triplet_macros.h
triplet_predicates.h
TripletConstraint.h
kernel/TripletContainer.h
TripletContainer.h
TripletContainerSet.h
TripletContainerStatistics.h
kernel/TripletDerivativeModifier.h
TripletDerivativeModifier.h
kernel/TripletModifier.h
TripletModifier.h
kernel/TripletPredicate.h
TripletPredicate.h
TripletRestraint.h
TripletsConstraint.h
kernel/TripletScore.h
TripletScore.h
TripletsOptimizerState.h
TripletsRestraint.h
TruncatedHarmonic.h
TuneRex.py
tuple_macros.h
Typed.h
TypedPairScore.h
types.h
kernel/unary_function_macros.h
unary_function_macros.h
kernel/UnaryFunction.h
UnaryFunction.h
UnaryFunctionEvaluate.h
kernel/Undecorator.h
Undecorator.h
univariate_functions.h
util.py
algebra/utility.h
base/utility.h
benchmark/utility.h
core/utility.h
domino/utility.h
kernel/utility.h
saxs/utility.h
statistics/utility.h
utility.h
utility.py
utility_macros.h
utils.py
validate_profile.cpp
Value.h
value_macros.h
Vector.h
Vector2D.h
Vector3D.h
vector_generators.h
vector_metrics.h
vector_property_map.h
vector_search.h
VectorD.h
VelocityScalingOptimizerState.h
base/VersionInfo.h
kernel/VersionInfo.h
VersionInfo.h
view_density_header.py
VolumeRestraint.h
vonMises.h
vonMisesKappaConjugateRestraint.h
vonMisesKappaJeffreysRestraint.h
vonMisesSufficient.h
Voxel.h
warning_macros.h
WarningContext.h
base/WeakPointer.h
kernel/WeakPointer.h
WeakPointer.h
weighted_excluded_volume.h
WeightedExcludedVolumeRestraint.h
WeightScore.h
WormLikeChain.h
write_a_metric.py
write_a_restraint.py
write_an_optimizer_state.py
Writer.h
writer_macros.h
XplorReaderWriter.h
XYZ.h
XYZ_Decorator.py
XYZR.h
XYZR_Decorator.py
File Members
Examples
domino_macros.h
Go to the documentation of this file.
1
/**
2
* \file IMP/domino/domino_macros.h \brief Various important macros
3
* for implementing decorators.
4
*
5
* Copyright 2007-2013 IMP Inventors. All rights reserved.
6
*
7
*/
8
9
#ifndef IMPDOMINO_MACROS_H
10
#define IMPDOMINO_MACROS_H
11
12
/** This macro declares
13
- IMP::domino::ParticleStates::get_number_of_states()
14
- IMP::domino::ParticleStates::load_state()
15
and defines
16
- IMP::domino::after_set_current_particle() to be empty
17
*/
18
#define IMP_PARTICLE_STATES(Name) \
19
public: \
20
IMP_IMPLEMENT(virtual unsigned int get_number_of_particle_states() const); \
21
IMP_IMPLEMENT(virtual void load_particle_state(unsigned int, \
22
Particle*) const); \
23
IMP_OBJECT(Name)
24
25
26
/** This macro declares
27
- IMP::domino::AssignmentTable::get_assignments()
28
*/
29
#define IMP_ASSIGNMENTS_TABLE(Name) \
30
public: \
31
IMP_IMPLEMENT(virtual void \
32
load_assignments(const IMP::domino::Subset&s, \
33
AssignmentContainer *ac) const); \
34
IMP_OBJECT(Name)
35
36
37
38
39
/** This macro declares
40
- IMP::domino::SubsetFilterTable::get_subset_filter()
41
- IMP::domino::SubsetFilterTable::get_strength()
42
in addition to the IMP_OBJECT() methods.
43
*/
44
#define IMP_SUBSET_FILTER_TABLE(Name) \
45
public: \
46
IMP_IMPLEMENT(virtual IMP::domino::SubsetFilter* \
47
get_subset_filter(const IMP::domino::Subset&s, \
48
const IMP::domino::Subsets &excluded) const); \
49
IMP_IMPLEMENT(virtual double get_strength(const IMP::domino::Subset&s, \
50
const IMP::domino::Subsets &excluded) const); \
51
IMP_OBJECT(Name)
52
53
/** This macro defines a class NameSubsetFilterTable from a method
54
which is applied to disjoint sets. The code should assume there is
55
a Assignment state and an Ints members which ordered indices into
56
the Assignment for the current set.
57
*/
58
#define IMP_DISJOINT_SUBSET_FILTER_TABLE_DECL(Name) \
59
class IMPDOMINOEXPORT Name##SubsetFilterTable: \
60
public DisjointSetsSubsetFilterTable { \
61
typedef DisjointSetsSubsetFilterTable P; \
62
public: \
63
Name##SubsetFilterTable(IMP::domino::ParticleStatesTable *pst): \
64
P(pst, std::string(#Name)+std::string(" %1%")){} \
65
Name##SubsetFilterTable(): P(std::string(#Name) \
66
+std::string(" %1%")){} \
67
IMP_SUBSET_FILTER_TABLE(Name##SubsetFilterTable); \
68
}; \
69
IMP_OBJECTS(Name##SubsetFilterTable, Name##SubsetFilterTables)
70
71
72
#define IMP_DISJOINT_SUBSET_FILTER_TABLE_DEF(Name, filter, strength, \
73
next) \
74
struct Name##Filter { \
75
bool operator()(const Assignment &state, \
76
const Ints &members) const { \
77
filter; \
78
} \
79
}; \
80
struct Name##Strength { \
81
double operator()(const Subset &s, \
82
const Subsets &excluded, \
83
const Ints &members) const { \
84
strength; \
85
} \
86
}; \
87
struct Name##Next { \
88
int operator()(int pos, const Assignment& state, \
89
const Ints &set) const { \
90
next; \
91
} \
92
}; \
93
void Name##SubsetFilterTable::do_show(std::ostream &) const { \
94
} \
95
IMP::domino::SubsetFilter* Name##SubsetFilterTable:: \
96
get_subset_filter(const IMP::domino::Subset &s, \
97
const IMP::domino::Subsets &excluded) const{ \
98
IMP_OBJECT_LOG; \
99
set_was_used(true); \
100
base::Vector<Ints> all; \
101
Ints used; \
102
get_indexes(s, excluded, all, 1, used); \
103
return get_disjoint_set_filter<Name##Filter, Name##Next>(#Name, s, \
104
get_log_level(), \
105
all, used); \
106
} \
107
double \
108
Name##SubsetFilterTable::get_strength(const IMP::domino::Subset &s, \
109
const IMP::domino::Subsets &excluded) const{ \
110
IMP_OBJECT_LOG; \
111
set_was_used(true); \
112
base::Vector<Ints> all; \
113
Ints used; \
114
get_indexes(s, excluded, all, 0, used); \
115
return get_disjoint_set_strength<Name##Strength>(s, \
116
excluded, \
117
all,used); \
118
}
119
120
121
122
/** This macro declares
123
- IMP::domino::SubsetFilter::get_is_ok()
124
*/
125
#define IMP_SUBSET_FILTER(Name) \
126
public: \
127
IMP_IMPLEMENT(virtual bool get_is_ok(const IMP::domino::Assignment& \
128
assignment) const); \
129
IMP_OBJECT(Name)
130
131
132
/** This macro declares
133
- IMP::domino::DiscreteSampler::do_get_sample_assignments()
134
*/
135
#define IMP_DISCRETE_SAMPLER(Name) \
136
public: \
137
IMP_IMPLEMENT(Assignments do_get_sample_assignments(const\
138
IMP::domino::Subset\
139
&known) \
140
const); \
141
IMP_OBJECT(Name)
142
143
144
/** This macro declares:
145
- IMP::domino::SubsetGraphTable::get_subset_graph()
146
- IMP::Object methods
147
*/
148
#define IMP_SUBSET_GRAPH_TABLE(Name) \
149
public: \
150
IMP_IMPLEMENT(SubsetGraph get_subset_graph(IMP::domino::ParticleStatesTable\
151
*pst) const); \
152
IMP_OBJECT(Name)
153
154
155
#define IMP_ASSIGNMENT_CONTAINER_BASE(Name) \
156
public: \
157
IMP_IMPLEMENT(virtual unsigned int get_number_of_assignments() const); \
158
IMP_IMPLEMENT(virtual Assignment get_assignment(unsigned int i) const); \
159
IMP_IMPLEMENT_INLINE(virtual Assignments get_assignments(IntRange r) const,\
160
{ \
161
Assignments ret(r.second-r.first); \
162
for (unsigned int i=0; i != ret.size(); ++i) { \
163
ret[i]= Name::get_assignment(r.first+i); \
164
} \
165
return ret; \
166
}); \
167
IMP_IMPLEMENT_INLINE(virtual Assignments get_assignments() const, { \
168
return get_assignments(IntRange(0, get_number_of_assignments())); \
169
}); \
170
IMP_IMPLEMENT(virtual void add_assignment(const Assignment& a)); \
171
IMP_IMPLEMENT_INLINE(virtual void add_assignments(const Assignments &as), { \
172
for (unsigned int i=0; i< as.size(); ++i) { \
173
Name::add_assignment(as[i]); \
174
} \
175
}); \
176
IMP_IMPLEMENT_INLINE(virtual Ints get_particle_assignments(unsigned\
177
int index) const,\
178
{ \
179
Ints ret(Name::get_number_of_assignments()); \
180
for (unsigned int i=0; i< Name::get_number_of_assignments(); \
181
++i) { \
182
ret[i]= get_assignment(i)[index]; \
183
} \
184
return ret; \
185
})
186
187
188
/** This macro declares:
189
- AssignmentsContainer::get_number_of_assignments()
190
- AssignmentsContainer::get_assignment()
191
- AssignmentsContainer::add_assignment()
192
and defines:
193
- AssignmentsContainer::get_assignments(IntRange)
194
- AssignmentsContainer::add_assignments()
195
- AssignmentsContainer::get_assignments(unsigned int)
196
in addition to the IMP_OBJECT() declarations and definitions.
197
*/
198
#define IMP_ASSIGNMENT_CONTAINER(Name) \
199
IMP_ASSIGNMENT_CONTAINER_BASE(Name); \
200
IMP_OBJECT(Name)
201
202
203
#define IMP_ASSIGNMENT_CONTAINER_INLINE(Name, show, dest) \
204
IMP_ASSIGNMENT_CONTAINER_BASE(Name); \
205
IMP_OBJECT_INLINE(Name, show, dest)
206
207
#endif
/* IMPDOMINO_MACROS_H */