(19)
(11)EP 2 504 776 B1

(12)EUROPEAN PATENT SPECIFICATION

(45)Mention of the grant of the patent:
26.06.2019 Bulletin 2019/26

(21)Application number: 10832469.0

(22)Date of filing:  23.11.2010
(51)International Patent Classification (IPC): 
G06F 19/24(2011.01)
G06F 17/30(2006.01)
G06F 19/16(2011.01)
(86)International application number:
PCT/CA2010/001873
(87)International publication number:
WO 2011/063518 (03.06.2011 Gazette  2011/22)

(54)

DENSITY BASED CLUSTERING FOR MULTIDIMENSIONAL DATA

AUF DICHTE BASIERENDES CLUSTERING FÜR MEHRDIMENSIONALE DATEN

MISE EN GRAPPE BASÉE SUR LA DENSITÉ POUR DES DONNÉES MULTIDIMENSIONNELLES


(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

(30)Priority: 24.11.2009 US 264196 P

(43)Date of publication of application:
03.10.2012 Bulletin 2012/40

(73)Proprietor: Zymeworks Inc.
Vancouver, British Colombia V6H 3V9 (CA)

(72)Inventors:
  • RODINGER, Tomas
    Vancouver, BC V6B 0J2 (CA)
  • LARIO, Paula I.
    Vancouver, British Columbia V59-4X2 (CA)

(74)Representative: Grund, Martin 
Grund Intellectual Property Group Patentanwalt und Solicitor PartG mbB Nikolaistrasse 15
80802 München
80802 München (DE)


(56)References cited: : 
WO-A2-01/16880
US-A1- 2009 043 220
US-A1- 2003 142 094
  
  • VAN HULLE DENSITY-BASED CLUSTERING WITH TOPOGRAPHIE MAPS IEEE TRANSACTIONS ON NEURAL NETWORKS vol. 10, no. 1, January 1999, XP011039274
  • Minkyoung Kim ET AL: "Density-Based Clustering of Small Peptide Conformations Sampled from a Molecular Dynamics Simulation", JOURNAL OF CHEMICAL INFORMATION AND MODELING, vol. 49, no. 11, 23 November 2009 (2009-11-23), pages 2528-2536, XP055297869, US ISSN: 1549-9596, DOI: 10.1021/ci800434e
  
Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


Description

TECHNICAL FIELD



[0001] The invention relates to the field of chemical modeling and design.

BACKGROUND



[0002] The volume and types of data produced by biological science and theoretical chemistry are vast. Such fields as protein conformation, chemical and protein structure and activity; genomic sequences, gene expression and phenotype; and population and disease incidence and prevalence yield large amounts of interrelated data that must be organized and interpreted to be useful.

[0003] A variety of methods have been designed to "cluster", or organize, large amounts of technical data, including that relating to three-dimensional molecular forms.

[0004] Algorithms are used to perform the enormous number of decision-making steps required to organize shape data. Examples include: "DBSCAN", proposed by Martin Ester, Hans-Peter Kriegel, Jörg Sander, Xiaowei Xu in Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96): 226-231, in 1996; "OPTICS", proposed by M. Ankerst et al. Proc. ACM SIGMOI'99 Int. Conf. on Management of Data, Philadelphia PA, 1999; "K-means", proposed by J. A. Hartigan et al in "A K-Means Clustering Algorithm". Applied Statistics 28 (1): 100-108, 1979; "K-medoid", referenced at http://en.wikipedia.org/wiki/K-medoids; "FLAME" proposed by L. Fu et al. in BMC Bioinformatics 2007, 8:3, 2007; "G_cluster / grooms" proposed by Daura et al. in Angew. Chem. Int. Ed. 1999, 38, pp 236-240, 1999; "DCBOR", proposed by A.M.Fahim, G.Saake, A.M.Salem, F.A.Torkeyand, M.A.Ramadan, in Proceedings of World Academy of Science, Engineering and Technology, Vol. 35, November 2008; "DENCLUE", proposed by Alexander Hinneburg and Daniel A Keim in An Efficient Approach to Clustering in Large Multimedia Databases with Noise. Institute of Computer Science University of Halle Germany, 1998; "SUBCLU", Karin Kailing, Hans-Peter Kriegel and Peer Kröger In Proc. SIAM Int. Conf. on Data Mining (SDM'04), pp. 246-257, 200, 2004; and CLIQUE, proposed by Rakesh Agrawal, Johannes Gehrke, Dimitrios Gunopulos, and Prabhakar Raghavan of IBM Almaden Research Center, 1998.

[0005] These methods have various limitations, such as being unable to cluster data with varying densities across a volume, yielding inconsistent results depending on the input order, producing clusters based on shape and not density, or being confined to smaller datasets. Of these, FLAME and DENCLUE share the advantage of having only one required parameter and defining arbitrarily-shaped clusters.

[0006] The FLAME algorithm starts with a neighborhood graph to connect each data point to its K-nearest neighbors, estimates a density for each object based on its proximities to its K-nearest neighbors, and any data point with a density higher than all its neighbors is assigned full membership to itself. Remaining data points are assigned equal membership weights to all clusters defined, and then membership weights are updated for all points as a linear combination of the membership weights of its neighbors. This process is iterated to convergence, whereupon each object is assigned to the cluster in which it has the highest membership. FLAME needs many iterations and is inefficient and time consuming.

[0007] In DENCLUE, each data point is assigned an influence function that determines the effect of itself on the surrounding areas. A typical influence function can be a Gaussian distribution centered around the point. The algorithm sums together the influence functions of all points and then proceeds to find local maxima on this new hypersurface. Cluster centers are located at these maxima. The cluster to which points belong is found via a steepest ascent procedure on this hypersurface. An efficient implementation of this algorithm is very complex.

[0008] US Patent No. 6,226,408 by Sirosh discloses an unsupervised learning routine for use in analyzing credit card transactions for fraudulent activity. A number of data types are converted to numerical values and grouped accordingly.

[0009] Kim et al. (J. Chem. Inf. Model. 2009, 49, 2528-2536) describe a density-based algorithm to clustering small peptide conformations after a molecular dynamics simulation.The key idea of the algorithm is that the neighbor density of a conformation must exceed some threshold to be a cluster member. Otherwise, it corresponds to a noise point and is removed. All remaining neighbor conformations that are within a predefined cutoff of a cluster member are iterativelly collected into a cluster.

SUMMARY OF INVENTION



[0010] In one aspect, the invention provides a method of identifying movement in a protein between conformational states using a density-based clustering algorithm as defined in claim 1.

[0011] The methods of the invention advantageously are density based and do not force a particular shape on clusters. The methods have only one adjustable parameter (preset radius or cutoff distance) and are therefore easy to optimize. The methods further do not presuppose any particular number of clusters, which is determined by the algorithm and does not need to be specified. Additional qualities of the methods include noise tolerance and faster execution than other (more complicated) algorithms. That is, the methods are not adversely affected by noise and are fast compared to other more complicated algorithms. Furthermore, the methods can form clusters of varying densities separated by varying lower density regions.

[0012] The methods of the invention are useful for grouping large amounts of quantitative data into meaningful categories. The methods achieve their goal without using an iterative procedure of a type commonly performed in the literature. This substantially reduces the processing time required and allows them to be run on practical computing systems.

BRIEF DESCRIPTION OF DRAWINGS



[0013] 

Fig. 1 shows a one-dimensional (1D) data set. The density of each point is plotted against the point's ID coordinate value.

Fig. 2 shows a clustered one-dimensional data set. A cutoff parameter of 0.5 yields the following clustering along with a standard histogram (bin width = 0.5) of the data. Symbols used to outline the clusters from left to right are *, x and +.

Fig. 3 depicts a two-dimensional data set in the form of a Ramachandran plot (phi/psi angles). Phi (x-axis) and psi (y-axis) angles were extracted from a long simulation of trialanine and displayed.

Fig. 4 depicts a two-dimensional data set clustered with a cutoff parameter of 15. The various clusters differ according to shading and symbol used to depict each point.

Fig. 5 shows a two-dimensional data set with the density of the points plotted against the phi and psi angles. Fig. 5 represents Fig. 4 viewed in the direction of the psi angle axis. Thus, in Fig. 5, the x-axis represents the phi angle and the y-axis represents density.

Fig. 6 shows the clustering of conformations of a histidine residue. This is an 18-dimensional dataset (6 atoms, three coordinates each). The cutoff parameter used was 2.


DESCRIPTION OF EMBODIMENTS



[0014] The present invention provides methods of data analysis useful in a wide variety of applications. These methods comprise grouping the datapoints of a dataset comprising a plurality of datapoints in space into one or more subsets or "clusters" as discussed below.

[0015] In one aspect, the invention provides a method of clustering a first query datapoint to a first cluster comprising a first cluster center, wherein the first query datapoint and the first cluster center are selected from a plurality of datapoints in space and wherein each of the datapoints is characterized by a density.

[0016] "Datapoint" in this application is taken to mean an association of one or more one-dimensional measurable quantities. Typically, these quantities are related or correlated in some meaningful and interesting way. An example would include groupings such as x, y, and z coordinates that describe the position of an object, phi/psi angles that describe the conformation of a protein, protein configuration and protein activity, nucleic acid expression levels and phenotype, or any other combination of measurements. Generally, a datapoint can refer to a set of measured quantities.

[0017] "Cluster" refers to a set of datapoints or observations that are grouped into a subset. Datapoints or observations in the same cluster are typically similar in some sense. Clustering is a technique for statistical data analysis referenced in many fields, including data mining, machine learning, pattern recognition, image analysis and bioinformatics. As described below, a cluster is typically characterized by at least one datapoint, known as a "cluster center". The methods herein describe ways of assigning various datapoints of a given dataset into one or more clusters.

[0018] "Density" is a measure of how many datapoints occupy a given space. A 2-dimensional area or 3-dimensional volume having 100 datapoints is more dense than one of equal size containing 10 datapoints, for example. It will be understood by one of skill in the art that the dimensionality of the space is determined by the dimensionality of the datapoints of a given dataset. A space can be a 1, 2, 3, 4 or higher dimensional space.

[0019] The density of a datapoint is determined with reference to a threshold, known as a "preset radius", "cutoff' or "cutoff distance" (used interchangeably). The cutoff distance is a measure used to define the boundary around a given datapoint within which another datapoint needs to occur to be considered a neighbor. The density of a datapoint can thus refer to the number of all datapoints lying within a cutoff distance from the datapoint. One of skill in the art will appreciate that the cutoff distance is a generalized parameter that can be determined for a space of any dimensionality.

[0020] The cutoff distance must be established by the user in advance. This parameter plays a direct role in how the algorithm smoothes out noise and thus how many clusters it ultimately detects. A larger value leads to more smoothing and the datapoints will be grouped into fewer clusters. Setting a smaller value will result in more clusters. The cutoff distance should be set just high enough to deal with the noise but not so high so as to cause legitimately separate clusters to be incorrectly merged. The cutoff distance is a quantity greater than zero with units of the same type as the datapoints (distance, for example). The cutoff distance can be easily adjusted and optimized by the user according to the application at hand and the quality of the dataset.

[0021] "Noise" is taken to mean any form of random addition, statistical noise, measurement inaccuracy, or other unexplained variation or source of error in the datapoint quantities. Noise usually shows up as sporadically distributed points on a plot, local inconsistencies in point density, or high frequency fluctuation in otherwise slowly changing data. Noise makes the identification of the correct locations of local maxima and minima in a dataset difficult and this often confuses clustering algorithms.

[0022] In one embodiment, the method comprises (a) determining a first trace of the first query datapoint to the first cluster center, wherein the first trace comprises n datapoints selected from the plurality of datapoints and wherein n is an integer; and (b) assigning the first query datapoint to the first cluster. Thus, in this embodiment, assigning a point to a cluster can be conceptualized as determining a trace of the point to the cluster center of the cluster. A "trace" refers to a set of datapoints comprising a query datapoint, a cluster center and optionally one or more datapoints. Typically, each datapoint of the trace is characterized by some relationship to another datapoint in the trace, as discussed below.

[0023] Each point of the trace can be referred to using a trace index, i.e., each point of the trace can be designated x1, x2 and so on. The first point of the trace can be referred to as a "query" datapoint, labeled x1. The query datapoint is a datapoint chosen by a practitioner to be related to some "cluster center". The relationship may be in reference to the density of the cluster center and of other datapoints. The relationship between the query datapoint and the cluster center may be direct, i.e., the cluster center may have the greatest density of all datapoints lying within a cutoff distance of the query datapoint. The relationship may be indirect, i.e., the cluster center may have the greatest density of all datapoints lying within a cutoff distance of an intermediate datapoint of the trace, which itself has the greatest density of all datapoints lying within a cutoff distance of the query datapoint. This indirect relationship can extend to any number of intermediate datapoints. Thus, in one embodiment, the step of determining a first trace of the first query datapoint to the first cluster center comprises (i) designating the first query datapoint as x1; and (ii) determining the remaining n-1 datapoints of the first trace, wherein the remaining n-1 datapoints are designated x2 ... xn; wherein xn designates the first cluster center; and wherein xj+1 has the greatest density of all datapoints lying within a cutoff distance from xj, wherein j is an integer selected from 1 to n-1.

[0024] In one embodiment, no point within the cutoff distance from the first cluster center is characterized by a density higher than the density of the first cluster center.

[0025] Each point of the first trace could, in some other embodiment, be selected as a query datapoint. The trace of the query datapoint in these other embodiments would be a subset of the first trace that would include the first cluster center. Accordingly, in one embodiment, x1 ... xn are all assigned to the first cluster.

[0026] In one embodiment, the density of xj or xj+1 is the number of all datapoints selected from the plurality of datapoints whose distance to xj or xj+1, respectively, is less than or equal to the cutoff distance.

[0027] In one embodiment, x2 is the first cluster center. In other words, in one embodiment, a trace can consist of a query datapoint and a cluster center.

[0028] Each point of a trace can be determined sequentially starting from the first query datapoint x1. The next datapoint, x2, would have the greatest density of all datapoints lying with a cutoff distance of x1. x2 could thus be referred to as the local density maximum neighbor of x1. If x2 is not a cluster center, then the local density maximum neighbor of x2 can be determined. This process is continued until a cluster center is determined. Thus, in one embodiment, the step of determining the remaining n-1 datapoints comprises determining a local density maximum neighbor of each of the datapoints of the first trace in sequence according to ascending index, wherein the local density maximum neighbor of xj is xj+1.

[0029] The methods described herein may provide an ordered set of points from a given dataset. Thus, in one embodiment, the density of xj+1 is greater than the density of xj.

[0030] In some instances, more than one datapoint may have the same highest density within the cutoff of a given point. In order to resolve this situation, a global index is assigned to each datapoint of the plurality of datapoints in space. The datapoint that is chosen to be assigned to the trace is the datapoint with the highest global index. The one or more rejected datapoints will have a global index that is lower than the global index of the point assigned to the trace. Thus, in one embodiment, the step of determining the remaining n-1 datapoints of the first trace further comprises rejecting a rejected datapoint selected from the plurality of datapoints, wherein the density of one of the remaining n-1 datapoints xj and the density of the rejected datapoint are the same; wherein xj is characterized by a first global index, the rejected datapoint is characterized by a second global index and the first global index is greater than the second global index.

[0031] Each of the clusters determined for a given plurality of datapoints can be thought of as comprising more than one trace of datapoints. In other words, a number of different traces can be determined to lead to the same cluster center. Thus, in one embodiment, the method further comprises determining a second trace of a second query datapoint to the first cluster center; and assigning the second query datapoint to the first cluster. In one embodiment, the method further comprises assigning each datapoint of the second trace to the first cluster.

[0032] As discussed above, more than one cluster can be determined for a given plurality of datapoints. Each of the clusters will comprise its own cluster center and can be numbered. Thus, in one embodiment, the method further comprises clustering a second query datapoint to a second cluster comprising a second cluster center, numbering the first cluster, and numbering the second cluster.

[0033] In one example, the cluster numbering and datapoint assignments to the first cluster and the second cluster are visualized by a computer-generated graph.

[0034] In one example, the first cluster and the second cluster are visualized in two or three dimensions.

[0035] In one embodiment, the cutoff distance is a single tunable parameter that affects the ability of the algorithm to overcome noisy points scattered between the first cluster and a second cluster. In one embodiment, the cutoff distance is a parameter tuned such that the algorithm overcomes noisy points scattered between the first cluster and a second cluster.

[0036] The clustering methods described herein can be conceptualized and described in a number of different ways. In one aspect, a method is provided for dividing a plurality of datapoints into clusters according to density of the datapoints, the method including the steps of: a) for a datapoint arbitrarily selected, identifying all neighboring datapoints within a preset radius; b) counting the number of neighboring points within said radius and calling this the density at that datapoint; c) iterating steps a through b to compute the density for all datapoints; and then d) for a datapoint arbitrarily selected from the plurality of datapoints, finding the neighboring datapoint within the preset radius that has the highest density; e) for that higher-density datapoint, finding its neighboring datapoint with the highest density; f) iterating steps d to e until a datapoint is found that has no neighbors with a higher density than itself, and labelling this datapoint the centre of a cluster; g) assigning the original datapoint of step d to this cluster, and h) repeating steps d through g until all datapoints are assigned to a cluster.

[0037] As discussed above, the datapoints can represent basically any combination of phenomena that can be measured.

[0038] In one embodiment, the plurality of datapoints exist in a one-, two-, three-, or any higher dimensional space.

[0039] In one example, the plurality of datapoints represent quantifiable phenomena selected from the group consisting of amino acid configurations, protein conformation coordinates, measurable differences between proteins, nucleic acid expression levels and phenotypic qualities.

[0040] "Measurable protein differences" or "measurable differences between proteins" refer to differences in a measured quantity with respect to a protein and can include different column retention times (different chromatography columns work by size exclusion, affinity, charge, etc.); physical property differences as measured by biophysical methods such as mass spectrometry, circular dichroism, fluorescence, phosphorescence, or standard spectroscopy techniques (different wavelengths measure different properties: visible, ultraviolet and infrared). Any method that can provide a number associated with a physical property can be used to generate a metric for clustering, as long as the property is normalized in such a way that a "cutoff parameter" or "cutoff distance" chosen will resolve the differences in that metric (to some extent, full resolution is not required as multi-dimensional clustering will resolve things).

[0041] Applications of the present methods include chemical modelling to improve therapeutic activity of proteins, chemical modelling to study pathological forms, optimizing nucleic acid or small molecule therapeutics, agricultural, or other biological purpose, associating chemical analysis with activity readouts, protein activity and structure correlation, bacterial flora profiling and health diagnoses and genomic sequence and expression data interpretation.

[0042] In one embodiment, an experimentally-derived protein structure may be simulated via computer algorithms to derive a theoretical trajectory that reveals atomic motions over time. An enormous quantity of data is produced to reflect the different theoretical positions of various atoms and bond angles. Time snapshots from this trajectory can be used to determine the possible protein "states". The method of the invention is used to process the different positions or datapoints into clusters of most-preferred and distinct states.

[0043] In another embodiment, a trajectory representing the time evolution of a protein, movement between conformational states can be analysed for each amino acid individually. Various metrics can be defined such as dihedral angles, angles between two bonds, angles between two planes (where each plane is defined by three atoms), and distances between atoms. These metrics separately or in any combination form the datapoints which are subsequently clustered using the methods of the invention. Each cluster then defines a distinct state of the amino acid. Having enumerated the states, it now becomes possible to find correlations and concerted movement of multiple amino acids as they transition from state to state.

[0044] In one example, chromatography data can be organized and interpreted. For example, molecular weight, fluorescence, particle size, charged surface area, hydrodynamic radius, and tumbling rate are all properties that can be used for the clustering and separation of different proteins, protein isoforms, protein structural states, and proteins with different posttranslational modifications. The chromatographical data can be clustered to provide meaningful information. For example, runoff from a column may be chronologically plated in a multiwall plate and analysed by mass spectrometer, generating size data, and then an activity assay could be run on the same plated solutions to yield activity data for each well. The three dimensional data generated would then be analyzed using the methods of the invention to provide a structure-mass-activity relationship clustering.

[0045] In yet another example, the invention can be used to cluster protein-protein interaction data. For example, proteins can be categorized based on differences in binding constants to other proteins.

[0046] In some examples, the methods further comprise performing biochemical methods capable of detecting structural differences of proteins. For example, proteolysis time point fractions can be combined with the metrics obtained from biophysical analysis on these fractions using, for example, mass spectrometry and activity assays.

[0047] In another example, cellular levels of mRNA for a protein of interest may be tracked. The mRNA may be labelled in vitro or extracted and labelled. The labelled mRNA may be run on a gel to determine size or chemical modification. At the same time, phenotypic cell data such as cell size, motility, heat tolerance, or secreted protein levels may be measured. The relationship between mRNA expression level and phenotype may be captured by clustering the datapoints of size, chemical modification, and cellular activity. The method may be applied to larger systems such as in vivo models, using tissue sampling.

Implementation in a computer system



[0048] The methods described may be implemented as computer programs that are executed on programmable computers comprising a processor and a data storage system. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or to bring about a certain result. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, function, procedure or other unit suitable for use in a computing environment.

[0049] The computer program can be stored on a computer-readable storage system. Examples of storage systems include, without limitation, optical disks such as CD, DVD and Blu-ray Discs (BD); magneto-optical disks; magnetic media such as magnetic tape and internal hard disks and removable disks; semi-conductor memory devices such as EPROM, EEPROM and flash memory; and RAM.

[0050] A computer-readable storage system may be physically transformed such that it contains a computer program. It will be appreciated by one of skill in the art that a computer-readable storage system comprising instructions for performing any method disclosed herein is physically distinct from a computer-readable storage system that does not comprise such instructions. In other words, any given computer-readable storage system must be physically transformed to comprise instructions for performing any method disclosed herein. A computer-readable storage system comprising computer executable instructions, such as instructions for performing any method disclosed herein, is physically configured in such a manner so as to cause a computer interacting with the storage system to perform a process or a method. One of skill in the art will appreciate that a computer-readable storage system comprising computer executable instructions for performing any method disclosed herein, when accessed and read by a general purpose computer, will transform the general purpose computer into a special purpose computer.

[0051] Thus, in one aspect, the invention provides a computer-readable storage system comprising computer executable instructions for performing any method described herein. In one embodiment, a computer-readable storage system comprises computer executable instructions for clustering a first query datapoint to a first cluster comprising a first cluster center, wherein the first query datapoint and the first cluster center are selected from a plurality of datapoints in space and wherein each of the datapoints is characterized by a density, the clustering comprising (a) determining a first trace of the first query datapoint to the first cluster center, wherein the first trace comprises n datapoints selected from the plurality of datapoints and wherein n is an integer, the determining step comprising: (i) designating the first query datapoint as x1; (ii) determining the remaining n-1 datapoints of the first trace, wherein the remaining n-1 datapoints are designated x2 ... xn; wherein xn designates the first cluster center; and wherein xj+1 has the greatest density of all datapoints lying within a cutoff distance from xj, wherein j is an integer selected from 1 to n-1; and (b) assigning the first query datapoint to the first cluster.

[0052] In a further aspect, the invention provides a computer system for performing any method described herein, the computer system comprising a data storage system and a processor comprising instructions for performing any method described herein. In one embodiment, a computer system for clustering a first query datapoint to a first cluster comprising a first cluster center, wherein the first query datapoint and the first cluster center are selected from a plurality of datapoints in space and wherein each of the datapoints is characterized by a density comprises (1) a data storage system and (2) a processor comprising instructions for performing a method comprising (a) determining a first trace of the first query datapoint to the first cluster center, wherein the first trace comprises n datapoints selected from the plurality of datapoints and wherein n is an integer, the determining step comprising: (i) designating the first query datapoint as x1; (ii) determining the remaining n-1 datapoints of the first trace, wherein the remaining n-1 datapoints are designated x2 ... xn; wherein xn designates the first cluster center; and wherein xj+1 has the greatest density of all datapoints lying within a cutoff distance from xj, wherein j is an integer selected from 1 to n-1; and (b) assigning the first query datapoint to the first cluster.

[0053] It will be appreciated by one of skill in the art that a processor comprising instructions for performing any method disclosed herein is physically distinct from a processor that does not comprise such instructions. In other words, any given processor must be physically transformed to comprise instructions for performing any method disclosed herein.

[0054] The processor and the data storage system can be supplemented by or incorporated in application-specific integrated circuits (ASICs). When read into the processor of the computer, which is thus physically transformed, and executed or further processed before execution, the instructions of the program cause the programmable computer to carry out the various operations described herein. The processor and the data storage system are typically connected by a bus.

[0055] To provide for interaction with a user, the invention can be implemented on a computer comprising a display device such as, for example, a cathode ray tube (CRT) or liquid crystal display (LCD) monitor for displaying information to the user. The user can provide input, for example, via a keyboard, a touch screen or a pointing device such as a mouse or a trackpad. The various data generated by the present methods can be represented graphically using modeling and graphics software.

[0056] The different aspects and embodiments described herein can be implemented in a computer system that includes a backend component such as a data server, a middleware component such as an application server or an Internet server, or a front end component such as a client computer having a user interface, Internet browser or any combination thereof. The components of the system can be connected by any form or medium of digital data communication.

[0057] The present methods can be implemented on hardware in a variety of configurations. Thus, in some examples, computational processes are performed in parallel on nodes of a computer cluster, in a distributed computing system or on graphics processing units as these configurations are understood in the art.

[0058] Without intending to be limiting, the following examples are provided to give those of ordinary skill in the art a complete disclosure and description of how to make and use the subject invention, and are not intended to limit the scope of what is regarded as the invention. Efforts have been made to ensure accuracy with respect to the numbers used (e.g. amounts, temperature, concentrations, etc.) but some experimental errors and deviations should be allowed for.

EXAMPLES


Example 1


Demonstration of the method on a simple data set



[0059] A one-dimensional data set that was generated by taking points at random from three superimposed Gaussian distributions is shown in Fig. 1. With a cutoff radius of 0.5, the correct clusters were recovered as confirmed by visual inspection in Fig. 2.

Example 2


Identifying the different states of a protein



[0060] A Ramachandran plot distribution of phi/psi angles generated from a many nanosecond long computer simulation of trialanine is shown in Fig. 3. Applying the method of the invention to this two dimensional dataset yields the clustering result shown in Fig. 4 when using a preset cutoff of 15. A side view of the density of points vs. phi/psi angles (shaded by cluster) is shown in Fig. 5 and provides an illustration of the how the method of the invention may be applied.

Example 3


Identifying different conformations of a protein at the amino acid level



[0061] The clustering results for the conformations of a single histidine molecule as observed in a 1 nanosecond trajectory is shown in Fig. 6. Simulation snapshots were aligned based on the protein backbone atoms (C, Cα, N) and clustered based on side chain heavy atom coordinates (x, y, z coordinates for each of 6 atoms - an 18-dimensional data set). The cutoff was set at 2. Two heavily populated clusters are clearly distinguished using the method of the invention.

[0062] The articles "a," "an" and "the" as used herein do not exclude a plural number of the referent, unless context clearly dictates otherwise. The conjunction "or" is not mutually exclusive, unless context clearly dictates otherwise. The term "include" is used to refer to non-exhaustive examples.


Claims

1. A computer-implemented method for identifying movement in a protein between conformational states for each amino acid individually of the protein using a trajectory representing the time evolution of the protein, the method comprising:

A) dividing a plurality of datapoints of the trajectory into a plurality of clusters according to the density of the datapoints, by

i) for a respective datapoint arbitrarily selected in the plurality of datapoints, identifying all neighboring datapoints in the plurality of datapoints within a preset radius of the respective datapoint;

ii) counting a number of neighboring datapoints within said preset radius and calling this a density at the respective datapoint;

iii) iterating steps i) through ii) to compute the density for all datapoints in the plurality of datapoints; and then

iv) for a respective datapoint arbitrarily selected in the plurality of datapoints, finding the neighboring datapoint within the preset radius of the respective datapoint that has the highest density;

v) for the datapoint identified in step iv), finding a datapoint in the plurality of datapoints with the highest density within the preset radius of the neighboring datapoint identified in step iv);

vi) iterating steps iv) to v) until a datapoint is found in the plurality of datapoints that has no neighbors with a higher density than itself, and labelling this datapoint the center of a cluster in the plurality of clusters;

vii) assigning the original datapoint of step iv) to the cluster identified in step vi), and

viii) repeating steps iv) through vii) until each datapoint in the plurality of datapoints is assigned to a cluster in the plurality of clusters; wherein (a) dihedral angles of the protein, (b) angles between two bonds of the protein, (c) angles between two planes in the protein, wherein each plane of the two planes is defined by three atoms of the protein, and (d) distances between atoms of the protein separately or in combination form each datapoint in the plurality of datapoints, and wherein each cluster in the plurality of clusters defines a distinct state of an amino acid of the protein,

B) using the plurality of clusters to find correlations and concerted movement of multiple amino acids of the protein as the multiple amino acids of the protein transition from state to state thereby identifying movement in the protein between conformational states.


 
2. The computer-implemented method of claim 1 wherein the plurality of datapoints exist in a one-, two-, three-, or any higher dimensional space.
 
3. A computer readable medium comprising instructions which, when executed by a computer, cause the computer to perform the method of any preceding claim.
 
4. A computer system comprising a data storage system and a processor adapted to perform the method of claim 1 or 2.
 


Ansprüche

1. Ein computerimplementiertes Verfahren zum Identifizieren von Bewegung in einem Protein zwischen konformationellen Zuständen einzeln für jede Aminosäure des Proteins unter Verwendung einer Trajektorie, die die zeitliche Entwicklung des Proteins repräsentiert, wobei das Verfahren umfasst:

a. Teilen einer Vielzahl von Datenpunkten der Trajektorie in eine Vielzahl von Clustern gemäß der Dichte der Datenpunkte, durch

i. für einen jeweiligen zufällig unter der Vielzahl von Datenpunkten ausgewählten Datenpunkt, Identifizieren aller benachbarten Datenpunkte in der Vielzahl von Datenpunkten innerhalb eines vorgegebenen Radius vom jeweiligen Datenpunkt;

ii. Zählen einer Anzahl von benachbarten Datenpunkten innerhalb des vorgegebenen Radius und Benennen davon als Dichte bei dem jeweiligen Datenpunkt;

iii. Wiederholen der Schritte i) bis ii), um die Dichte für alle Datenpunkte in der Vielzahl von Datenpunkten zu berechnen; und dann

iv. für einen jeweiligen zufällig unter der Vielzahl von Datenpunkten ausgewählten Datenpunkt, Finden des benachbarten Datenpunkts innerhalb des vorgegebenen Radius vom jeweiligen Datenpunkt, der die höchste Dichte hat;

v. für den in Schritt iv) identifizierten Datenpunkt, Finden eines Datenpunkts in der Vielzahl von Datenpunkten mit der höchsten Dichte innerhalb des vorgegebenen Radius von dem in Schritt iv) identifizierten benachbarten Datenpunkt.

vi. Wiederholen der der Schritte iv) und v), bis ein Datenpunkt in der Vielzahl von Datenpunkten gefunden wurde, der keine Nachbarn mit einer höheren Dichte als er selbst hat, und Benennen dieses Datenpunkt als das Zentrum eines Clusters in einer Vielzahl von Clustern;

vii. Zuordnen des ursprünglichen Datenpunkts von Schritt iv) zu dem in Schritt vi) identifizierten Cluster, und

viii. Wiederholen der Schritte iv) bis vii) bis jeder Datenpunkt in der Vielzahl von Datenpunkten einem Cluster in der Vielzahl von Clustern zugeordnet ist;
wobei (a) Diederwinkel des Proteins, (b) Winkel zwischen zwei Bindungen des Proteins, (c) Winkel zwischen zwei Ebenen in dem Protein, wobei jede Ebene der zwei Ebenen durch drei Atome des Proteins definiert ist, und (d) Abstände zwischen Atomen des Proteins separat oder in Kombination jeden Datenpunkt in der Vielzahl von Datenpunkten bilden, und
wobei jeder Cluster in der Vielzahl von Clustern einen unterscheidbaren einzelnen Zustand einer Aminosäure des Proteins definiert,

b. Verwenden der Vielzahl von Clustern, um Korrelationen und konzertierte Bewegungen von mehreren Aminosäuren des Proteins zu finden, wenn die mehreren Aminosäuren des Proteins von Zustand zu Zustand übergehen, dadurch Identifizieren von Bewegungen im Protein zwischen konformationellen Zuständen.


 
2. Das computerimplementierte Verfahren von Anspruch 1, wobei die Vielzahl von Datenpunkten in einem ein-, zwei-, drei-, oder jeglichem höher-dimensionalen Raum existiert.
 
3. Ein computerlesbares Medium, umfassend Befehle, die, wenn sie von einem Computer ausgeführt werden, den Computer dazu veranlassen, das Verfahren eines vorhergehenden Anspruchs durchzuführen.
 
4. Ein Computersystem, umfassend ein Datenspeichersystem und einen Prozessor, adaptiert, um das Verfahren von Anspruch 1 oder 2 durchzuführen.
 


Revendications

1. Procédé mis en oeuvre par ordinateur pour identifier un mouvement dans une protéine entre des états conformationnels pour chaque acide aminé individuellement de la protéine à l'aide d'une trajectoire représentant l'évolution dans le temps de la protéine, le procédé comprenant :

A) la division d'une pluralité de points de données de la trajectoire en une pluralité de grappes selon la densité des points de données, par

i) pour un point de données respectif sélectionné arbitrairement dans la pluralité de points de données, l'identification de tous les points de données voisins dans la pluralité de points de données à l'intérieur d'un rayon prédéfini du point de données respectif ;

ii) le comptage d'un nombre de points de données voisins à l'intérieur dudit rayon prédéfini et le fait d'appeler celui-ci une densité au point de données respectif ;

iii) l'itération des étapes i) à ii) pour calculer la densité pour tous les points de données dans la pluralité de points de données ; et ensuite

iv) pour un point de données respectif arbitrairement sélectionné dans la pluralité de points de données, le fait de trouver le point de données voisin à l'intérieur du rayon prédéfini du point de données respectif qui a la plus grande densité ;

v) pour le point de données identifié à l'étape iv), le fait de trouver un point de données dans la pluralité de points de données avec la plus grande densité à l'intérieur du rayon prédéfini du point de données voisin identifié à l'étape iv) ;

vi) l'itération des étapes iv) à v) jusqu'à ce qu'un point de données soit trouvé dans la pluralité de points de données qui n'ont pas de voisins avec une densité plus grande que la sienne, et l'étiquetage de ce point de données comme centre d'une grappe dans la pluralité de grappes ;

vii) l'attribution du point de données original de l'étape iv) à la grappe identifiée à l'étape vi), et

viii) la répétition des étapes iv) à vii) jusqu'à ce que chaque point de données dans la pluralité de points de données soit attribué à une grappe dans la pluralité de grappes ;
dans lequel (a) des angles dièdres de la protéine, (b) des angles entre deux liaisons de la protéine, (c) des angles entre deux plans dans la protéine, dans lequel chaque plan des deux plans est défini par trois atomes de la protéine, et (d) des distances entre des atomes de la protéine séparément ou en combinaison forment chaque point de données dans la pluralité de points de données, et
dans lequel chaque grappe dans la pluralité de grappes définit un état distinct d'un acide aminé de la protéine,

B) l'utilisation de la pluralité de grappes pour trouver des corrélations et un mouvement concerté de multiples acides aminés de la protéine en tant que les multiples acides aminés de la transition de la protéine d'un état à un état identifiant de cette façon un mouvement dans la protéine entre des états conformationnels.


 
2. Procédé mis en oeuvre par ordinateur selon la revendication 1, dans lequel la pluralité de points de données existent dans un espace à une, deux, trois dimensions ou plus.
 
3. Support lisible par ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un ordinateur, amènent l'ordinateur à réaliser le procédé selon l'une quelconque des revendications précédentes.
 
4. Système informatique comprenant un système de stockage de données et un processeur adapté pour réaliser le procédé selon la revendication 1 ou 2.
 




Drawing























Cited references

REFERENCES CITED IN THE DESCRIPTION



This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

Patent documents cited in the description




Non-patent literature cited in the description