[Chimera-users] representative fits in chimera fitmap search
goddard at sonic.net
Fri Mar 18 13:57:40 PDT 2016
Yes the code just uses the first found fit as the representative for the cluster. As Elaine says it was intended to just coalesce fits believed to be equivalent — the clusters were not intended to represent different fits with any appreciable difference in correlation score. In my use of search I didn’t see cases where it found very close fits (in the same cluster) that really were different local minima, although this can probably happen depending on features of the density map.
It is reasonable to have some way to get the highest correlation member of a cluster but that is not currently possible except by writing some Python. The cluster is defined by distance (rotation + translation) from the first fit, so even if you pick out the highest correlation fit, the first fit is still the one that defines the cluster bounds.
> On Mar 18, 2016, at 12:48 PM, Elaine Meng wrote:
> Hi Jan!
> I’ll have to leave the specific answer to Tom G, but if it is indeed just keeping the first solution in a cluster:
> I believe that the reasoning is that when the fits are “non-unique" within small shifts or rotations, they would effectively be equivalent to one another and likely to converge on the same local minimum. However, you could try reducing the uniqueness criteria (see clusterAngle and clusterShift options)...
> ...and/or change other fitmap parameters for more thorough local optimization (number of steps, initial step size, convergence criterion) to see if they have any substantive effect on the results.
> Elaine C. Meng, Ph.D.
> UCSF Computer Graphics Lab (Chimera team) and Babbitt Lab
> Department of Pharmaceutical Chemistry
> University of California, San Francisco
> On Mar 18, 2016, at 10:19 AM, Jan Kosinski wrote:
>> In the fitmap command global search, how the unique fit is selected from the cluster of similar fits?
>> Ideally, from each cluster, I would like to obtain the fit the gave the best cross-correlation. But, I think, based on the fit_search code in FitMap/search.py, what is happening is that the first unique fit ever encountered is added to the fit list:
>> close = b.close_transforms(ptf)
>> if len(close) == 0:
>> transforms = [M.multiply_matrices(ptf, mtv) for mtv in mtv_list]
>> stats['hits'] = 1
>> f = Fit(models, transforms, volume, stats)
>> f.ptf = ptf
>> fo[id(ptf)] = f
>> s = fo[id(close)].stats
>> s['hits'] += 1
>> and any subsequent fit that is close to the first, would be discarded, even if it gives better cross-correlation.
>> Do I understand correctly that the unique fit is not necessarily the best scoring fit from the cluster?
>> Thanks in advance for clarification,
> Chimera-users mailing list: Chimera-users at cgl.ucsf.edu
> Manage subscription: http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users
More information about the Chimera-users