Applications of CGAL in the Gel Analysis Software CAROL Klaus Kriegel Freie Universität Berlin...
-
date post
22-Dec-2015 -
Category
Documents
-
view
214 -
download
0
Transcript of Applications of CGAL in the Gel Analysis Software CAROL Klaus Kriegel Freie Universität Berlin...
Applications of CGAL in the Gel Analysis Software CAROL
Klaus KriegelFreie Universität Berlin
Deutsches Herzzentrum Berlin
DFG Projekt FL 165/4-2
CAROL (DFG 1997-2000)CAROL (DFG 1997-2000)
FU Berlin
H. Alt
F. Hoffmann
K. Kriegel
C. Schultz
C. Wenk
German Heart Center
E. Fleck
K.-P. Pleißner
I. Seefeldt
Outline of the talkOutline of the talk
Application Background (Electrophoresis)
Gel Matching with CAROL: . The Algorithmic Approach
Using CGAL in CAROL
Experience, Problems, and Further Perspectives
2D Gel Electrophoresis2D Gel Electrophoresis
Two-dimensional Gel Electrophoresis (2DE) is an important method in proteome research
It is a high resolution technique which is capable to separate thousands of protein spots from a tissue sample
2D Gel Electrophoresis2D Gel Electrophoresis
Proteins are concentrated in so called SPOTS of elliptic shape
Protein analysis by mass spectrometry (expensive)
Gel Matching : Protein identification by gel image comparison is faster and not expensive
Gel Matching: The Assumptions Gel Matching: The Assumptions
Images which have to be compared are similar, but, possibly there are:
Local and global geometric distortions
Corresponding spot pairs with (very) different intensities
Missing spots
The Algorithmic Problem The Algorithmic Problem
Partial Approximate Point Pattern Matching
The CAROL Approach:
Design first an efficient algorithm finding all occurrencies of a small local pattern in a target image (Local Matching)
Global Matching via Local Matching
The Local Matching Approach The Local Matching Approach
Find a k-pattern in a set of n points
Naive Alignment Approach: O(k³n²log n)
Alignment with Delaunay Edges: O(k²n log n)
Scoring Scheme (Geometric Hashing): O(kn)
(+O(G) where G = size of the scheme)
Incremental Delaunay TriangulationIncremental Delaunay Triangulation
Alt et al.: If the intensity orderings are consistent with the matching then it is sufficient to use the history edges of the incremental Delaunay Triangulation where points are inserted by decreasing intensity.
Seidel: The expected number of edges in the history of the incremental Delaunay Triangulation is O(n).
To cope with differences in the intensity orderings we add all flip edges to the history!
Scoring SchemesScoring Schemes
It is also possible to take into account image scalings:
simple scaling --> 3-dimensional scheme
independend scalings of x-axis and y-axis
--> 4-dimensional scheme
Global MatchingGlobal Matching
........via local matching
1) Cover the source image by small patterns (5x5)
2) Compute all local matchings of the patterns
3) For many of the patterns the correct local
matching will be included (within a lot of proposals)
4) Find out the correct local matchings by a
consistency test
CGAL Components in CAROLCGAL Components in CAROL
Geometric primitives from the CGAL kernel:
CGAL_Point_2
CGAL_Bbox_2
CGAL_squared _distance
CGAL Components in CAROLCGAL Components in CAROL
The Delaunay Triangulation
from the CGAL basic library
Delaunay Traits
Vertex Circulators
Delaunay TraitsDelaunay Traits
class CAROL_Point : CGAL_Point_2
{ private:
double intensity;
..................
}
Defining special Traits classes triangulation vertices can be represented by CAROL_Points
Vertex CirculatorsVertex Circulators
Vertex circulators are used to get a list of the neighbors of an inserted vetex
Vertex circulators are used to construct flip edges
The Use of CGALThe Use of CGAL CGAL supplies various useful data structures and basic algorithms.
The concept is very flexible according to the user’s needs.
The user can be sure to get efficient implementations.
Several compilers are supported ( gnu, sun, virtual c++ )
CGAL with Visual C++CGAL with Visual C++
PDQUEST
CAROL library with CGAL components
Interface
CGAL with Visual C++CGAL with Visual C++
PDQUEST
virtual c++ stl
CAROL library with CGAL components
stl_port
Interface_1
Points
Interface_2
The End
http://gelmatching.inf.fu-berlin.de