Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
Occupancy policies

Classes

struct  No_occupancy_policy< Line_format >
 
struct  Accept_all_occupancy_policy< Line_format >
 
struct  Accept_none_occupancy_policy< Line_format >
 
class  Max_occupancy_policy< Line_format >
 
class  Min_occupancy_policy< Line_format >
 
class  Atom_list_occupancy_policy< Line_format >
 

Description

This module gathers all methods provided to handle atoms with no alternate location identification and occupancy factor different from 1. An occupancy policy must be a class of the following type:

template <class Line_format>
struct Occupancy_policy_concept{
//check whether an atom can directly be added to a system.
//It returns -1 if not, and the number of the system otherwise.
//Line_format must provide similar functionalities to ESBTL::PDB::Line_format.
//line is a line of a molecular data file representing an atom.
//system_index is the index of the system the line should be added (provided by the selector).
int add_or_postpone(const Line_format& line_format,const std::string& line,int system_index) const{ ... }
//This function is called by the builder when the whole file have been read.
//Potential atom that have not already been inserted can be. The integer returned is
//the number of atoms added.
template <class Builder> int finalize(Builder&) const { ... }
};