Difference between revisions of "Team:Queens Canada/Linker Software"

 
Line 30: Line 30:
  
 
     <h5>Summary</h5>
 
     <h5>Summary</h5>
     <p>The software being developed is designed to connect two selected points on the molecule by finding the  
+
     <p style="font-size:18pt">The software being developed is designed to connect two selected points on the molecule by finding the  
 
     shortest path that connects them without interfering with the rest of the molecule. This is done by first  
 
     shortest path that connects them without interfering with the rest of the molecule. This is done by first  
 
     finding the shortest path at a specified resolution using an extended version of Dijkstra’s Algorithm.  
 
     finding the shortest path at a specified resolution using an extended version of Dijkstra’s Algorithm.  
Line 39: Line 39:
 
     <h5>File Description</h5>
 
     <h5>File Description</h5>
 
     <h6>Main File</h6>
 
     <h6>Main File</h6>
     <p>The main file interfaces with PyMOL allowing for user inputs to be used in the linker software.
+
     <p style="font-size:18pt">The main file interfaces with PyMOL allowing for user inputs to be used in the linker software.
 
     In addition, this file processes the inputs and manages all the function calls that coordinate the creation of the linkers.</p>
 
     In addition, this file processes the inputs and manages all the function calls that coordinate the creation of the linkers.</p>
 
     <figure>
 
     <figure>
Line 47: Line 47:
 
      
 
      
 
     <h6>Ellipsoid Fit</h6>
 
     <h6>Ellipsoid Fit</h6>
     <p>The ellipsoid fit module finds the tightest fitting ellipsoid to a set of points that represent the
+
     <p style="font-size:18pt">The ellipsoid fit module finds the tightest fitting ellipsoid to a set of points that represent the
 
     atoms that compose the molecule. This is done using an algorithm that is based on the Khachiyan Algorithm. This module returns the  
 
     atoms that compose the molecule. This is done using an algorithm that is based on the Khachiyan Algorithm. This module returns the  
 
     center, radii and rotation of the ellipsoid that encloses the points and allows for the plotting of the ellipsoid as a mesh graph.</p>
 
     center, radii and rotation of the ellipsoid that encloses the points and allows for the plotting of the ellipsoid as a mesh graph.</p>
Line 57: Line 57:
 
      
 
      
 
     <h6>Ellipsoid Points</h6>
 
     <h6>Ellipsoid Points</h6>
     <p>The Ellipsoid Points algorithm generates a grid of points that are contained in an ellipsoid with a
+
     <p style="font-size:18pt">The Ellipsoid Points algorithm generates a grid of points that are contained in an ellipsoid with a
 
     given spacing. To increase the efficiency of the algorithm the points from one of the eight quadrants are generated and the corresponding  
 
     given spacing. To increase the efficiency of the algorithm the points from one of the eight quadrants are generated and the corresponding  
 
     points from the other seven quadrants are calculated by including all the possible combinations of positive and negative values. Another
 
     points from the other seven quadrants are calculated by including all the possible combinations of positive and negative values. Another
Line 68: Line 68:
 
      
 
      
 
     <h6>Dijkstra R3</h6>
 
     <h6>Dijkstra R3</h6>
     <p>This module implements an extended version of Dijkstra’s algorithm that allows for the shortest path through a  
+
     <p style="font-size:18pt">This module implements an extended version of Dijkstra’s algorithm that allows for the shortest path through a  
 
     set of points in R3. The algorithm implements a heuristic approach using the Euclidean distance of the current point to the end of the  
 
     set of points in R3. The algorithm implements a heuristic approach using the Euclidean distance of the current point to the end of the  
 
     proposed linker site.</p>
 
     proposed linker site.</p>

Latest revision as of 00:27, 16 October 2018

Linker Software Summary

Summary

The software being developed is designed to connect two selected points on the molecule by finding the shortest path that connects them without interfering with the rest of the molecule. This is done by first finding the shortest path at a specified resolution using an extended version of Dijkstra’s Algorithm. After the shortest path has been found linkers are designed to suit the path found. The method used to generate the linkers has yet to been determined. This software will be usable through the PyMOL software to account for visual representation and interaction with the molecule of choice.

File Description
Main File

The main file interfaces with PyMOL allowing for user inputs to be used in the linker software. In addition, this file processes the inputs and manages all the function calls that coordinate the creation of the linkers.

pymol
An image of the PyMOL model of the molecule used for initial testing and demonstration.
Ellipsoid Fit

The ellipsoid fit module finds the tightest fitting ellipsoid to a set of points that represent the atoms that compose the molecule. This is done using an algorithm that is based on the Khachiyan Algorithm. This module returns the center, radii and rotation of the ellipsoid that encloses the points and allows for the plotting of the ellipsoid as a mesh graph.

bestfit
The best fitting ellipsoid to the set of points. The set of points that represent the atoms comprising the molecule are shown above as black dots while the best fitting ellipsoid is represented as a blue mesh grid.
Ellipsoid Points

The Ellipsoid Points algorithm generates a grid of points that are contained in an ellipsoid with a given spacing. To increase the efficiency of the algorithm the points from one of the eight quadrants are generated and the corresponding points from the other seven quadrants are calculated by including all the possible combinations of positive and negative values. Another function in this module sets up a set of points for Dijkstra’s Algorithm by checking to see if the point is an obstacle, setting the points to unvisited, setting the distance to be infinite and the previous node to be an empty list.

redpoints
The red points in this image represent the point grid that is developed for later use in the path finding algorithm.
Dijkstra R3

This module implements an extended version of Dijkstra’s algorithm that allows for the shortest path through a set of points in R3. The algorithm implements a heuristic approach using the Euclidean distance of the current point to the end of the proposed linker site.