The present invention relates to the visualization and analysis of output from a mass spectrometer to facilitate identification of proteins in samples.
Mass spectrometry is an analytical technique that measures the mass-to-charge ratio of charged particles in a sample. A mass spectrometer may be used to determine the composition of a sample by characterizing ions in the sample based on their charge. In the field of proteomics, mass spectrometry has become an important tool in identifying the protein content of complex protein mixtures such as blood or tissue samples. In particular, tandem mass spectrometry (MS/MS) has become a preferred spectrometry method for high-throughput proteomics studies. To analyze protein mixtures using tandem mass spectrometry, proteins in a sample are first proteolytically cleaved into smaller peptide segments using an enzyme such as trypsin, for example. The resultant peptide segments are then fragmented into ions in a mass spectrometer using collision-induced dissociation. The fragmented ions have mass differences corresponding to the residue masses of their respective amino acids. Thus, the tandem mass spectrum contains partial information about the amino acid sequence of the peptides in the sample and this information can be cross-referenced to a database to identify the peptides in a sample based on the detected amino acid sequences. The output from a tandem mass spectrometry experiment is a long list of detected constituent peptides and the possible proteins to which they may belong.
While the set of all possible proteins based on detected constituent peptides in a sample is provided in the output of a mass spectrometer, the false positive rate is quite high. That is, many of the proteins listed as possible candidates are not present in the sample, but they merely happen to share peptide sequences with proteins that are present in the sample. Significant overlap in peptide sequences across proteins is not surprising as peptides are relatively short polymers of amino acids that when linked together form the greater than 500,000 proteins in the human body. We have recognized and appreciated that because the number of false positives is large, sorting through the output of a mass spectrometry experiment may be a time consuming and arduous process. Thus, improved methods and apparatus for organizing and visualizing the output of a mass spectrometry experiment are desirable. Such improved methods and apparatus are shown herein.
Some embodiments are directed to methods and apparatus for organizing output from a mass spectrometer, the output comprising a list of a plurality of detected proteins from a sample, each of the plurality of detected proteins having constituent peptides, each constituent peptide having at least one molecular property. The method comprises receiving the output from the mass spectrometer, operating a processor to assign each of the constituent peptides for each detected protein into one of a plurality of bins based at least in part on the at least one molecular property of the peptide, calculating peptide counts indicating a number of said peptides in each bin for each detected protein, displaying the peptide counts as a plurality of cells in a data structure, the display presenting the counts in a table having columns arranged along a first axis and rows arranged along a second axis, the intersection of a column and a row defining a cell, and in each row displaying data pertaining to a specific detected protein and in each column displaying peptide counts for one of said plurality of bins, assigning a first visual parameter value to each column of the data structure and assigning a second visual parameter value to each cell based on its respective peptide count. (Note: rows and columns are defined by the first and second axes, not by their horizontal and vertical orientations).
Some embodiments are directed to computer-implemented methods and apparatus for arranging peptide count information from a mass spectrometer experiment. The method comprises receiving the peptide count information from a mass spectrometer, creating a data structure, the data structure comprising, for each protein for which a peptide count is to be displayed, a plurality of cells, the plurality of cells being arranged along a first axis, and populating the data structure with the peptide count information by assigning to each cell the peptide count obtained over a predefined range of pH.
Some embodiments are directed to methods and apparatus for selecting candidate proteins using mass spectrometry. The method comprises detecting with a mass spectrometer, in a first sample and a second sample, a protein having a respective first number and second number of constituent peptides, each peptide having at least one molecular property, sorting into first bins based on respective one of the at least one molecular properties, the first number of constituent peptides detected in the first sample, sorting into second bins based on respective one of the at least one molecular properties, the second number of constituent peptides detected in the second sample, calculating a difference score for the protein, wherein the difference score represents a measure of difference between a number of peptides in the first bins and a number of peptides in the second bins, and determining that the protein is a candidate protein if the difference score is higher or lower than a predetermined value.
Some embodiments are directed to a computer system for displaying mass spectrometry output. The computer system comprises a computer data structure comprising a plurality of cells, the cells being arranged into at least one first axis for representing at least one protein in the mass spectrometry output and at least one second axis for representing a molecular property and at least one processor programmed to manipulate the computer data structure. The at least one processor comprises a color coding module which codes differences along the at least one second axis, a saturation module which codes magnitudes of values stored in the plurality of cells, and a difference score module which calculates a measure of difference between values stored in the plurality of cells.
Some embodiments are directed to methods and apparatus for consolidating a data set generated by a mass spectrometer, the data set comprising a plurality of candidate proteins having respective constituent peptides. The method comprises receiving the data set from the mass spectrometer, creating a peptide data structure comprising a plurality of first fields for storing information about each of the constituent peptides, searching the peptide data structure for at least two constituent peptides having a nearly-identical molecular sequence, determining, for the at least two constituent peptides having a nearly-identical molecular sequence, a portion of the molecular sequence common to the at least two constituent peptides, and merging the at least two constituent peptides into a single constituent peptide in the peptide data structure having the portion of the molecular sequence.
Some embodiments are directed to methods and apparatus for consolidating a data set generated by a mass spectrometer, the data set comprising a plurality of candidate proteins having respective constituent peptides. The method comprises receiving the data set from the mass spectrometer, defining at least one similarity group comprising at least two candidate proteins, the at least two candidate proteins having at least one common constituent peptide, determining a subset of candidate proteins of the at least two candidate proteins in the at least one similarity group that have at least one exclusive peptide, the at least one exclusive peptide being present in a single candidate protein of the at least two candidate proteins in the at least one similarity group, redistributing constituent peptide counts from the candidate proteins excluded from the subset to candidate proteins included in the subset to form a consolidated data set, and outputting an indication of the consolidated data set.
Some embodiments are directed to computer-implemented methods and apparatus for identifying a subset of proteins from a list of proteins comprising at least one constituent peptide, each protein in the subset comprising at least one exclusive constituent peptide. The method comprises receiving the list of proteins as output from a mass spectrometer, creating a tree-like data structure comprising a plurality of parent nodes, each parent node of the plurality of parent nodes corresponding to a protein in the list of proteins and having at least one child node corresponding to the at least one constituent peptide of the protein corresponding to the parent node, traversing the data structure to identify exclusive parent nodes that have at least one child node not shared by other parent nodes, and outputting the proteins identified by the exclusive parent nodes as the subset of proteins that have at least one exclusive constituent peptide.
Some embodiments are directed to methods and apparatus for processing a list of proteins output from a mass spectrometer, each protein in the list of proteins having constituent peptides. The method comprises receiving the list of proteins from the mass spectrometer, assigning a first protein in the list of proteins to at least one similarity group which includes at least one second protein having a common constituent peptide, classifying each of the first protein and the second protein based at least in part on their respective constituent peptides, producing, for each similarity group, a subset of proteins by eliminating at least some proteins based on their classification, and outputting an indication of the subset of proteins for each similarity group.
Some embodiments are directed to a computer-readable medium encoded with a series of instructions that when executed on a computer perform a method for displaying data output from a mass spectrometer. The computer readable medium comprises a data structure for storing at least the data in a plurality of fields, a plurality of visualization modules linked to the data structure and configured to display portions of the data, wherein at least one property of each of the plurality of visualization modules is user-configurable, and an update module for updating information in at least one of the plurality of visualization modules in response to selection of an object displayed in one of the plurality of visualization modules.
It should be appreciated that all combinations of the foregoing concepts and additional concepts discussed in greater detail below (provided such concepts are not mutually inconsistent) are contemplated as being part of the inventive subject matter disclosed herein. In particular, all combinations of claimed subject matter appearing at the end of this disclosure are contemplated as being part of the inventive subject matter disclosed herein.
The accompanying drawings are not intended to be drawn to scale. In the drawings, each identical or nearly identical component that is illustrated in various figures is represented by a like reference character. For purposes of clarity and the avoidance of obfuscating repetition, not every component may be labeled in every drawing. In the drawings:
The output of a mass spectrometry experiment may be a structured hierarchical dataset comprising the results from multiple samples. For each sample, a mass spectrum may be generated from which the identity of peptides in the sample may be determined. Software tools such as SEQUEST (available from http://fields.scripps.edu/sequest) or Mascot (from Matrix Science of London, United Kingdom), which shall be referred to herein as “searching” tools or algorithms, may be used to identify the peptides and generate a list of all possible proteins which contain the peptide sequences identified from the mass spectrum. A typical output generated by the searching stage may be a list of proteins and constituent peptides as shown in
However, these output lists may be replete with errors introduced as a result of “guessing” during the protein identification process. For example, the peptide information provided to the searching algorithms may not be sufficient to identify uniquely a protein associated with the peptide, resulting in a “best guess” by the searching algorithm. In some instances, the guess may be random, thereby creating logical contradictions in a mass spectroscopy dataset when examined across multiple samples. Additionally, the search databases used to identify peptides and/or proteins may contain duplicate entries, many peptides may be present in more than one protein, and/or the protein may have multiple isoforms.
Some embodiments of the invention are directed to addressing at least some of the aforementioned difficulties in analyzing mass spectrometer output by consolidating long lists of proteins and constituent peptides provided as output from a searching algorithm. We have recognized that peptides are occasionally observed in mass spectrometry in variations, where each instance is slightly different. For example, a peptide may have the same molecular sequence as another peptide, but with an additional amino acid at the C-terminus or the N-terminus. Such minor differences between similar peptides may be considered as sample preparation or biological artifacts, and the similar peptides may be treated as identical.
In some embodiments, detection and consolidation of similar peptides may proceed according to a process having a series of steps as illustrated in
After creating a global peptides list, the list may be searched in step 220 to find groups of peptides with molecular sequences which are nearly identical. In some embodiments, near-identical peptides may have identical kernel molecular sequences (e.g., C-X-N, where X is a shared string of amino acids), with an additional short sequence of amino acids at the C terminus or N terminus of one of the peptides (e.g., C-X-N and C-X-N-A, where A is a short sequence of amino acids). It should be appreciated that any suitable criteria may be used to determine which peptides in the global peptides list may be considered nearly identical, and embodiments of the invention are not limited in this respect. For example, in one embodiment, a criterion for nearly-identical peptides may be that the additional short sequence of amino acids may be shorter than or equal to two amino acids.
Upon identifying the groups of nearly-identical peptides in the global peptide list, each nearly-identical peptide group may be merged in step 230 into a single peptide entry represented by the group's kernel sequence (i.e., the common substring of amino acids across all near-identical peptides in a group). For example, four peptides may be identified in the global peptide list having the sequences B-C-X-N, C-X-N, C-X-N-A, and C-X-N-E. According to one embodiment, these four peptides may be merged into a single peptide entry having the molecular sequence C-X-N, thereby reducing the peptide level redundancies present in the global peptide list.
Because some of the observed peptides may have been eliminated from the global peptide list in the aforementioned steps, associations between identified proteins with their observed constituent peptides and the remaining peptides in the consolidated global peptide list may be established. In some embodiments, this may be accomplished by collecting proteins observed across all samples into a global protein list, in step 240.
For example, a data structure representing “global proteins” may be defined in a computer-readable data store or memory, and descriptors of all identified proteins and their constituent peptides in the input dataset may be used to populate the data structure.
After forming the global protein list, each of the observed peptides for each identified protein in the global protein list may be associated with a matching entry in the consolidated global peptide list, in step 250. In some embodiments, the associations between observed peptides and peptides in the global peptide list may be implemented using a linked-list data structure, as shown in
We have recognized that the output of one or more searching algorithms applied to different samples of the same complex protein mixture (e.g., human plasma, mouse liver, etc.) may result in an identification of the same proteins in the different samples, albeit by using different observed peptides. Thus, in some embodiments, the sequence of a peptide in the global peptide list may be searched within the sequence of all identified proteins in the global protein list. This process may create an overall coverage map by mapping all observed peptides to potential protein targets and providing a map of all available possibilities to position a peptide within a given protein's constituent peptide list. In order to expand the list of observed peptides for a protein in a sample of a dataset, peptides not observed by the mass spectrometer analysis for the sample and protein, but occurring elsewhere in the dataset, may be added to the protein's list of observed peptides according to a process such as illustrated in
In step 410, a peptide may be selected from a global peptide list comprising all observed peptides in a dataset. In some embodiments, the global peptide list may be a consolidated global peptide list having been processed according to the method illustrated in
In step 414, samples in which the selected protein has been identified may be determined. For a first sample and a first selected protein, it may be determined in step 416 whether the peptide is included in the protein's constituent peptide list for that sample. If the peptide is not present in the constituent peptide list, the peptide may be added to the list with a count equal to zero, in step 418. If the peptide is already present in the constituent peptide list, it may be determined whether there are any more samples which contain the selected protein in step 420. If there are more samples containing the selected protein, the process flow may return to step 414, and subsequent samples may be processed accordingly until it may be determined in step 420 that no other samples containing the selected protein are present.
After processing the first protein, it may be determined in step 422 whether additional proteins in the global protein list have a sequence containing the sequence of the peptide. If additional proteins are found, the process flow may return to step 412 where one of the additional proteins is selected, and each of the additional proteins may be processed accordingly until it may be determined in step 422 that no additional proteins containing the peptide exist in the global protein list. When no additional proteins are found, it may be determined in step 424 whether additional peptides in the global peptide list remain to be processed. If all peptides in the global peptide list have not been processed, the process flow may return to step 410 and a new peptide may be selected and processed accordingly. The above process may be repeated until all peptides in the global peptide list have been processed.
Following the process outlined in
We have further appreciated that consolidation of a dataset output from a mass spectrometer may be accomplished by dividing the dataset into subsets of nondependent groups. Each group which may be called a “similarity group,” may be a unique subset of proteins and peptides from the dataset. All of the proteins within a similarity group may have peptides in common with other proteins within that group, in any degree of relationship. By dividing the data into independent similarity groups, it may be possible to consolidate each similarity group separately rather than attempting to consolidate the dataset as a whole. Furthermore, dividing the data into similarity groups may help to reveal redundancies, as these redundancies may occur when there are proteins within the groups that can not be distinguished based on the observed constituent peptides.
In some embodiments, a dataset may be represented as a linked list, and division of the dataset into similarity groups may be performed by labeling nodes representing proteins and constituent peptides in the dataset with “Tags,” as illustrated, for example, in
An example of representing a dataset using a linked list data structure 700 and dividing the dataset into similarity groups according to some embodiments of the invention is illustrated in
We have recognized that redundant proteins in a dataset output from a mass spectrometer may be identified and excluded based on their redundancy, resulting in a consolidated dataset. Thus, some embodiments may exclude from the dataset identical proteins (proteins with identical sequences but different names) and any other protein that is not needed to explain the observed constituent peptides. In some embodiments, peptides in a global peptide list may be labeled as exclusive or common, and proteins in a global protein list may be labeled as exclusive or redundant according to a process illustrated in
In step 810, a peptide in the global peptide list may be selected and it may be determined whether the peptide is contained in one protein or more than one protein in the global protein list. In embodiments where the dataset is implemented as a linked list, this may be determined, for example, by examining the references (i.e., pointers) between the peptide and proteins in the global protein list as described in more detail below, although the associative relationship between peptides in the global peptide list and proteins in the global protein list may be determined using any suitable method. If it is determined that the peptide is only found in one protein in the global protein list, the peptide may be labeled as an “exclusive peptide” in step 812. If, on the other hand, the peptide is common to at least two proteins in the global protein list, the peptide may be labeled as a “common peptide” in step 814. The process of steps 810-814 may be repeated until it is determined in step 816 that all peptides in global peptide list have been labeled as exclusive or redundant.
Beginning in step 818, the proteins in the global protein list may be labeled. In step 818, a protein may be selected and it may be determined if any of its constituent peptides has been labeled an exclusive peptide. If at least one of the proteins constituent peptides has been labeled an exclusive peptide, the protein may be labeled as an “exclusive protein” in step 820. If however, the protein contains no constituent peptides labeled as exclusive peptides (i.e., all constituent peptides are labeled as common peptides), the protein is labeled in step 822 as a “redundant protein.” The process of steps 818-822 may be repeated until it is determined in step 824 that all proteins in the global protein list have been labeled as exclusive or redundant. In some embodiments, whether a peptide is labeled as exclusive or common, and whether a protein is labeled as exclusive or redundant may be referred to as the “redundancy status” of the peptide or protein.
Returning to the example shown in
In some embodiments, an exclusion process may be used to eliminate redundant proteins in a dataset output from a mass spectrometer. The dataset may be divided into similarity groups as described above, and each similarity group may be processed separately. This may not present difficulties because exclusion of a protein that belongs to one similarity group may not affect peptides or a protein that belongs to a different similarity group. It should be appreciated however, that elimination of redundant proteins may alternatively be performed on the entire dataset rather than on similarity groups, and embodiments of the invention are not limited in this respect. In some embodiments, redundant proteins in a similarity group may be excluded according to a process as illustrated in
In step 910, a redundant protein may be excluded from the similarity group. In step 912, the redundancy status of all of the peptides and proteins in the similarity group may be re-evaluated. Reevaluation may be necessary because some peptides may change redundancy status from common to exclusive as a protein is excluded from the group, and some proteins may change redundancy status from redundant to exclusive as well. The process of steps 910-812 may be repeated until it is determined in step 914 that all remaining proteins in the similarity group have been labeled as exclusive proteins (i.e., all proteins contain at least one exclusive peptide).
An overview of an example of a consolidation process in accordance with some embodiments is shown in
We have appreciated that in similarity groups comprising at least two redundant proteins, switching the order in which redundant proteins are selected for elimination may produce different outcomes. Thus, in some embodiments, all possible combinations of redundant protein exclusion may be evaluated using the process illustrated in
In some embodiments, at least one heuristic decision may be used to refine the decision as to which combination is preferred when multiple combinations result in the same minimum number of exclusive proteins. For example, the heuristic decision may be based on the name of a protein, an update date for a protein in a database such as the National Center for Biotechnology Information (NCBI) database, and/or a detection quality of a peptide. In some instances, the heuristic decision may favor to exclude proteins that have names containing, “similar to,” “predicted,” “theoretical,” and/or “isoform,” as names containing these words may indicate some unreliability with the identification of the protein. It should be appreciated that other words and/or phrases may also be detected and used to exclude proteins, and embodiments of the invention are not limited in this respect.
Instead of, or in addition to, using protein names, the heuristic decision may be based in part on a protein's last modification date within the NCBI or other external proteomics database. For example, priority may be given to newer records in the database, so that proteins with older database record modification dates may be excluded first.
In yet other instances, the heuristic decision may be based in part on the detection quality of peptides in a protein. As illustrated in
We also have recognized that by excluding redundant proteins from the global protein list in each similarity group, the random guessing process that occurs during protein identification of mass spectrometer output may be improved. By definition, each of the redundant proteins that may be excluded according to the process illustrated in
In step 1110, peptide counts for the common peptides in each excluded protein may be determined. In step 1120, the peptide counts for the common peptides from the excluded proteins may be redistributed to exclusive proteins having the same common peptides. Then, in step 1130, the peptide count for common peptides may be homogeneously redistributed across all proteins having the same common peptides. Peptide counts for a common peptide may be homogenously redistributed over all exclusive proteins having the common peptide because each of the exclusive proteins may have an equiprobable chance that the observed peptide corresponds to the exclusive protein. It should be appreciated that in some embodiments, steps 1110 and 1120 may be combined into a single step whereby the total peptide count for each common protein in a sample is determined (regardless of whether the common protein was identified in an exclusive or redundant peptide), and then the total peptide count may be homogenously redistributed over only exclusive proteins containing the common protein in step 1030.
A working example of the process illustrated in
A schematic overview of a consolidation process according to some embodiments is illustrated in
Some embodiments are directed to methods and apparatus for formatting and displaying mass spectrometer data. In some embodiments, observed constituent peptides from a mass spectrometry experiment may be displayed in a data structure similar to that shown in
In some embodiments, observed peptides may be separated into bins based at least in part on at least one molecular property of each peptide. Non-limiting examples of molecular properties may include any molecular property output from a mass spectrometer such as an isoelectric point, a molecular weight, or a measure of hydrophobicity. In the example of
In some embodiments, for each cell, the peptide count may represent the number of peptides observed in one sample of a mass spectrometer experiment, the total number of peptides observed across multiple repeated samples, and/or an average number of peptides observed across multiple repeated samples. Additionally, a first set of columns may represent a first group of samples and a second set of columns may represent a second group of samples. For example, columns 1410, 1420, and 1430 may represent the mass spectrometer output for a liver sample, and columns 1440, 1450, and 1460 may represent the mass spectrometer output for a liver sample treated with a pharmaceutical compound. Having different columns represent different experimental conditions may facilitate, for example, a visual assessment of pre- and post-treatment effects of a pharmaceutical compound on a complex protein sample such as a blood or tissue sample, or a visual assessment of two (or more) different treatments on the sample. Although the data structure display 1400 has been described as having columns which represent ranges of pH and rows which represent different proteins, it should be appreciated that some embodiments of the invention may alternatively interchange the functionality of rows and columns such that columns may represent different proteins and rows may represent ranges of pH.
Additionally, embodiments may comprise at least one module to assign one or more visual parameters to the columns or rows of data structure display 1400 to emphasize certain features of the data. Accordingly, some embodiments may comprise a color coding module 1510, and/or a saturation module 1520 as shown in
In some embodiments, at least one foreground color may be used to color code cells in the axis representing ranges of pH. For example, if ranges of pH are represented as columns in data structure display 1400 as shown in
In some embodiments, saturation module 1520 may code the magnitude of the value in each cell of data structure display 1400 by modifying the saturation value of the foreground color used for each cell. For example, cells with a large number of observed peptides may have a foreground color with greater saturation value than cells with a small number of observed peptides or vice versa. Distinguishing the cells of data structure display 1400 based on saturation value, may facilitate the rapid identification of regions of data structure display 1400 which show the largest number of observed peptides (i.e., cells that have the highest expression levels). In the example of
Instead of, or in addition to, using color to visually highlight various cells of data structure display 1400, visual properties of the text in each cell may be modified. In some embodiments, the text color, font, and/or style (e.g., bold, underline, italics, etc.) may be altered to provide additional visual information. For example, the cell having the highest expression level (largest magnitude value) in each row of data structure display 1400 may be shown in bold to emphasize this feature of the data. It should be appreciated that any combination of color and textual appearance coding may be used, and the examples provided above are not meant to limit embodiments of the invention in any way.
We have appreciated that some mass spectrometry experiments may be designed to determine the effect of a pharmaceutical compound on a complex protein mixture such as blood or tissue. Thus, some embodiments may additionally comprise a difference score module 1530 for calculating differences in the number of observed peptides for different experimental conditions. For example, as shown in
According to the example of
In addition to a textual representation of difference scores, difference scores may be represented graphically in a variety of ways according to some embodiments of the invention. For example, difference scores may be represented as a bubble chart 1700 shown in
In some embodiments, saturation module 1520 may be used to assign different saturation values to one or more circles 1710 in the bubble chart 1700, so that larger difference scores may be represented by more saturated (i.e., darker) circles whereas smaller difference scores may be represented by less saturated (i.e., lighter) circles or vice versa. In some embodiments, pI may be represented on the horizontal axis of the bubble chart with molecular weight represented on the vertical axis, and in at least one other embodiment, pI may be represented on the vertical axis of the bubble chart 1700 with molecular weight represented on the horizontal axis.
In some embodiments, difference scores for at least one protein may be represented as a bar graph 1800 shown in
The bars in each region may be color coded or otherwise distinguished from each other, thereby identifying to which sample (i.e., case) or pH range each bar corresponds. In some embodiments, the colors used to code the bars in the bar graph 1800 may correspond to foreground colors or background colors used in data structure display 1400. For example, in embodiments in which the bar graph represents the total number of peptides in each range of pH, as illustrated in
In some embodiments, difference scores for at least one protein may be represented as a line graph 1900 shown in
In some embodiments, a difference in the number of exclusive proteins in samples under different experimental conditions may be displayed using a Venn diagram 2000 illustrated in
One or more embodiments described above, or portions of one or more of them, may be combined and implemented as a display, produced by a software program, or portion thereof, as illustrated in
In the example of
In some embodiments, each of the regions of display 2100 may be associated with a user-configurable window, the size which may be changed. In one embodiment, if the size of a window is reduced below a predefined minimal size, the window (and all information contained therein) may be hidden from view. Windows corresponding to regions of display 2100 may also, in some embodiments, be minimized, maximized or removed. Additionally user-configurable properties defined for one region of display 2100 may be transferred to other regions as well. For example, a user may select one or more proteins to be hidden from the list of proteins shown in the first region 2110. Accordingly, the circles in the bubble chart shown in the third region 2130 which correspond to the “hidden” proteins may also not be displayed.
In some embodiments, the combination of multiple regions, as illustrated in
Peptide information calculated in accordance with some embodiments may also be integrated as a display 2200 produced by a portion of a software program as illustrated in
In some embodiments, displays produced by portions of a software program, such as the displays illustrated in
It should be appreciated that the computer system illustrated in
Having thus described several aspects of some embodiments of this invention, it is to be appreciated that various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications, and improvements are intended to be part of this disclosure, and are intended to be within the spirit and scope of the invention. Accordingly, the foregoing description and drawings are by way of example only.
The above-described embodiments of the present invention can be implemented in any of numerous ways. For example, the embodiments may be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers.
Further, it should be appreciated that a computer may be embodied in any of a number of forms, such as a rack-mounted computer, a desktop computer, a laptop computer, or a tablet computer. Additionally, a computer may be embedded in a device not generally regarded as a computer but with suitable processing capabilities, including a Personal Digital Assistant (PDA), a smart phone or any other suitable portable or fixed electronic device.
Also, a computer may have one or more input and output devices. These devices can be used, among other things, to present a user interface. Examples of output devices that can be used to provide a user interface include printers or display screens for visual presentation of output and speakers or other sound generating devices for audible presentation of output. Examples of input devices that can be used for a user interface include keyboards, and pointing devices, such as mice, touch pads, and digitizing tablets. As another example, a computer may receive input information through speech recognition or in other audible format.
Such computers may be interconnected by one or more networks in any suitable form, including as a local area network or a wide area network, such as an enterprise network or the Internet. Such networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks.
Also, the various methods or processes outlined herein may be coded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and/or programming or scripting tools, and also may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine.
In this respect, the invention may be embodied as a computer readable medium (or multiple computer readable media) (e.g., a computer memory, one or more floppy discs, compact discs, optical discs, magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, or other tangible computer storage medium) encoded with one or more programs that, when executed on one or more computers or other processors, perform methods that implement the various embodiments of the invention discussed above. The computer readable medium or media can be transportable, such that the program or programs stored thereon can be loaded onto one or more different computers or other processors to implement various aspects of the present invention as discussed above.
The terms “program” or “software” are used herein in a generic sense to refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects of the present invention as discussed above. Additionally, it should be appreciated that according to one aspect of this embodiment, one or more computer programs that when executed perform methods of the present invention need not reside on a single computer or processor, but may be distributed in a modular fashion amongst a number of different computers or processors to implement various aspects of the present invention.
Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Typically the functionality of the program modules may be combined or distributed as desired in various embodiments.
Also, data structures may be stored in computer-readable media in any suitable form. For simplicity of illustration, data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields with locations in a computer-readable medium that conveys relationship between the fields. However, any suitable mechanism may be used to establish a relationship between information in fields of a data structure, including through the use of pointers, tags or other mechanisms that establish relationship between data elements.
Various aspects of the present invention may be used alone, in combination, or in a variety of arrangements not specifically discussed in the embodiments described in the foregoing and is therefore not limited in its application to the details and arrangement of components set forth in the foregoing description or illustrated in the drawings. For example, aspects described in one embodiment may be combined in any manner with aspects described in other embodiments.
Also, the invention may be embodied as a method, of which an example has been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
Further, it should be appreciated that some embodiments may be integrated with a mass spectrometer, whereas other embodiments may receive data output from a mass spectrometer and may process the data separately from the mass spectrometer. That is, output from a mass spectrometer may be received either directly or indirectly from the mass spectrometer. For example, in some embodiments, data from a mass spectrometer may be transmitted via a network to a computer on which one or more of the embodiments is performed. Alternatively, the mass spectrometer output may be transmitted and/or received in any suitable way, for example, the output may be encoded and transferred from the mass spectrometer to a computer using a portable storage device, and embodiments of the invention are not limited in this respect.
The phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. As used herein, the phrase “at least one,” in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements. This definition also allows that elements may optionally be present other than the elements specifically identified within the list of elements to which the phrase “at least one” refers, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, “at least one of A and B” (or, equivalently, “at least one of A or B,” or, equivalently “at least one of A and/or B”) can refer, in one embodiment, to at least one, optionally including more than one, A, with no B present (and optionally including elements other than B); in another embodiment, to at least one, optionally including more than one, B, with no A present (and optionally including elements other than A); in yet another embodiment, to at least one, optionally including more than one, A, and at least one, optionally including more than one, B (and optionally including other elements); etc.
Additionally, the use of “including,” “comprising,” or “having,” “containing,” “involving,” and variations thereof herein, is meant to encompass the items listed thereafter and equivalents thereof as well as additional items.
This application claims priority under 35 U.S.C. §119(e) to U.S. Provisional Application Ser. No. 61/057,393 entitled “MASS SPECTROMETER OUTPUT ANALYSIS TOOL FOR IDENTIFICATION OF PROTEINS,” filed on May 30, 2008, which is herein incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61057393 | May 2008 | US |