[cmview-devel] Scoring functions
Jose Duarte
jose.duarte at psi.ch
Wed Apr 21 12:03:09 EDT 2010
The interface is definitely a good idea, agreed.
I did some work already in that direction. Basically I implemented
residue type and residue count scoring following Dan's ideas. I also
implemented an all atom based scoring scheme but that one doesn't play
so well with CMView which is purely residue based.
Anyway the code for residue scoring is in owl in package
owl.decoyScoring in case anyone feels like having a look. It should be
possible to adapt to the standard interface proposed below quite easily.
Jose
Henning Stehr wrote:
> Matthias had the idea to define an interface for contact based scoring
> functions such that new scoring functions can easily be added to
> CMView. This would be very useful for ab-initio modelling and
> refinement and to standardize things already implemented.
>
> Below you can see what I (in my role as architecture astronaut) think
> such an interface ScoringFunction should look like.
>
> A scoring function could be based on the sequence (like a contact type
> potential), contact map (like a contact count potential) or 3D
> structure (like a geometric potential).
>
> In CMView, the score would be displayed as an overlay similar to the
> way distance map or contact density are currently shown. One could
> also add functions for refinement/editing based on the scores. Some
> similar functionality is already implemented for DeltaRank scoring.
>
> For a start, it should be relatively easy to implement the scoring
> functions described in:
>
> Dan M Bolser, Ioannis Filippis, Henning Stehr, Jose Duarte and Michael Lappe.
> Residue contact-count potentials are as effective as residue-residue
> contact-type potentials for ranking protein decoys (2008).
> BMC Structural Biology 2008, 8:53: doi:10.1186/1472-6807-8-53
>
> In addition, we are currently working on two novel scoring functions
> DeltaRank and GMBP which are still unpublished. It will still take
> some time until they can be incorporated in such a way that they can
> be used by external users.
>
> As said before, these are only ideas so far but it seems to make sense
> to still include this in CMView 2.0.
>
> I'm posting this here for different reasons:
> - as my online notebook so I won't forget
> - to put this out for discussion and get feedback from other astronauts
> - so that someone who feels the urge can start implementing something
> - to promote the open source spirit of the project
>
> Happy hacking,
> Henning
>
> --------------------
>
> interface ScoringFunction {
>
> /**
> * Initializes the ScoringFunction object with the data that the
> scoring can potentially be based on.
> */
> public void init(sequence, contacts, coordinates);
>
> /**
> * Notifies the ScoringFunction object that the underlying data has
> changed and scores have to be recalculated
> */
> public void updateData(sequence, contacts, coordinates);
>
> /**
> * Returns the normalized score for contact (i,j). If (i,j) is not
> really a contact, should
> * returns the score assuming that it was a contact.
> */
> public double getScore(i,j);
>
> /**
> * Returns a score for the whole contact map, as it would be used for
> decoy scoring.
> * This can be simply the sum of individual scores or something more complex.
> */
> public double getOverallScore();
>
> /**
> * Returns a summed score for the current set of selected contacts.
> Similar to above.
> * Not sure if this is very useful but could be used to find good/bad regions.
> */
> public double getScoreForSelection(selected_contacts);
>
> }
>
> _______________________________________________
> cmview-devel mailing list
> cmview-devel at bioinformatics.org
> http://www.bioinformatics.org/mailman/listinfo/cmview-devel
>
More information about the cmview-devel
mailing list