Skip to main content
Fig. 2 | BMC Bioinformatics

Fig. 2

From: Computing structure-based lipid accessibility of membrane proteins with mp_lipid_acc in RosettaMP

Fig. 2

Convex and concave hull algorithms. Illustration of the convex hull, concave hull and ‘concave shell’ from a 2D point cloud that was projected onto the xy plane from the 3D structure. The example protein is the sodium channel with PDBID 4DXW and the points in blue are outside the hull, the points in black are inside the hull and the points in red are part of the hull. The convex hull algorithm starts by connecting the points with smallest and largest x and y values in counter-clockwise direction and identifying the points inside the hull (a). The hull is extended to a convex hull by connecting two points on the boundary, finding the point in the outside list that is farthest away from the two boundary points and that is in clockwise direction, and adding this point to the boundary (b). The points within the triangle between the old two boundary points and the added one are then classified as inside the hull. These steps are repeated until all points are inside the convex hull (c). The concave hull is then computed by finding the longest distance between two connected points on the boundary, finding the point inside the hull that has the smallest enclosing angles with respect to the two original boundary points, and adding this new point to the hull boundary. The distance cutoff defines the ‘resolution’ of the hull with a distance cutoff of 15 Å in (d) and 5 Å in (e). This process is repeated until all distances between connecting points are smaller than the cutoff distance. Lastly, a concave shell is computed by including points within an xy distance radius from the original boundary points (from e to f). All boundary points in F are now part of the concave shell and classified as lipid exposed

Back to article page