>> What would you want to do with inactivating particles as opposed to >> deleting them? >> __ > a particle might not take part in a specific stage of optimization - > but it is still relevant for the next steps. You can always just leave it out of the restraints (or remove it from the restraints). What I do is - first create all the restraints, but leave their list of particles blank - then create some data structure which encodes all of my active particles and the relationships between them (in my case, it is just a bunch of lists of particles) - set the particles used by each restraint as appropriate for what I am optimizing now
If I change what I want to use, I just modify my lists and rerun the last function.
Now that I think about it, I think this sort of architecture is a better alternative to trying to stick metadata into the restraints.