Team:Queens Canada/Linker Software

Linker Software 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.

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.

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.

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.