Hi Daniel, and thanks for the answers.
I think I got the technical aspect of the function, but I am still puzzled with the concrete interpretations :) Consider we have a coarse representation of a protein as a succession of 4 bead-domains, obtained through create_protein() with the provided indexes of the domain limits [0,100,200,320,456]. Somehow I'd like the connectivity to be enforced only between the successive domains… And I have the feeling this is not what is achieved in the nup84 cg example. Here, atom.create_connectivity_restraint() is called on a list of selection objects each resulting in a single particle, hence the usage of a ConnectedPairContainer, whose effect is to create a connection tree (?)… And basically, I have to confess I didn't really understand this specific container behavior neither from the documentation, nor from its code.
kernel/src/nup84_cg line 28 nup84 cg example
for instance, the first occurrence of create_connectivity_restraint reads Restraint* create_connectivity_restraint
(
const Selections &
s,
double
x0,
double
k
)
and the next one : IMP::atom::create_connectivity_restraint
(
const Selections &
s,
double
k
)
The same behavior seem to happen for each polymorphic function.
OK… Let me try to put it right : 1. With align set to True, prior to their embbeding in dimension 3N, all configurations (comprising N particles in dimension 3) are firstly aligned on configuration0. 2. I guess the alignment is "merely" an RMSD minimization And add a few questions : 1. Based on my experiments it seems this alignment does not impact the configurations, I mean the rigid transformations is only applied to the embeddings and not to the configurations themselves. Correct ? Is there a way to retrieve the applied transformations, or a way to have them applied to the configurations too ? 2. Are there any IMP functionalities to perform configurations or model alignments ? Thanks for your precious help --Ben |