PROFASI
Version 1.5

A boolean function object class on Contacts. More...
#include <ContactFunctions.hh>
A contact function is a boolean function, taking either a Contact or two integers representing a contact as argument, that returns true if there is really a contact between those points. For instance, let's consider a graph with three points {1,2,3}. Let there be edges between (1,2), and (1,3), but not between (2,3). A contact function describing this system should then return true for Contact objects (1,2) and (1,3) while returning false for (2,3). The points 1,2,3 could be 3 amino acids, and we may be interested in whether two amino acids are close in space. Then the contact function represents the concept that this condition is satisfied. It is true if the given amino acids are close, false otherwise.
With increasing number of different types of contact functions, such as CaContact, HPContact, Proximity, HBContact, it seems useful to introduce a convention for what the two integers stored in a Contact mean. With PROFASI v. 1.1, for ContactFunction objects representing contacts between residues or endgroups, these integers represent the ligand indices in the entire population. For instance, if the population consists of 3 copies of the peptide < ACE * KLVFFAE * NH2 >, a contact between the K and A of the second chain would be denoted with integers (10,15). If the population consists of 3 copies of < * KLVFFAE * >, a contact between the same residues will be denoted by (7,12).