[cctbxbb] Best way to compare two structures using cctbx?

Luc Bourhis luc_j_bourhis at mac.com
Tue Mar 12 10:44:40 PDT 2013


On 12 Mar 2013, at 18:19, Jan Marten Simons wrote:

> Seems I praised emma a little bit too soon, as this example leads to an 
> exception:
> 
> [...]
> m = emma.model_matches(
>    xs1.as_emma_model(),
>    xs2.as_emma_model(),
>    tolerance=0.5,
>    break_if_match_with_no_singles=False
>    ).refined_matches[0] <<<<<<<<<<<<<<<<<<<<<<<<

You get an "list index out of range" at the point I marked, don't you? That means emma has not found any match. You should always assert that .refined_matches is not empty in production code.

> I've got no idea as to why those two (random) structures cannot be compared. 
> Have I found a bug in emma?

In one of the structure the distance between the 2 scatterers is 1.75 whereas it is 0.06 in the other one. There is therefore no isometry that can map xs1 onto xs2 and emma behaves correctly here.

Best wishes,

Luc



More information about the cctbxbb mailing list