> An important question is how would you define 'auto'? A number of > algorithms would be required. Would you loop over all atoms of all > residues and pick the atom furthest away from the centre of mass?
Probably the easiest would be to scale relative to the molecular mass, though a maximum dimension as you suggest, or a radius of gyration might be more robust. I can do a bit of playing to see what works. Tensor seems to do a good job of it, so it cant be too hard.
There are functions within the file 'generic_fns/pdb.py' which would help with the molecular mass. The function 'self.center_of_mass()' loops over all the atoms while the function 'self.atomic_mass()' will give you the atomic mass (of unlabelled atoms, 1H, 12C, 14N, etc.). The scale argument value could be set to 'mass' to select this behaviour.
> How > would you handle multi-domain systems? If there are multiple tensors, > then they will have to be all scaled by the same amount. Or what > about complexes? >
For these rarer and more complicated systems, the user might have to take some responsibility for getting a good result.
Having a default rotational diffusion rate of 5.55e6 s^-1 per Angstrom (scale = 1.8e-6) which can then be adjusted by hand should alleviate these problems. As long as the diffusion rate per Angstrom is included in figure legends, comparisons between publications should be a lot easier.
Edward