Mass spectrometry is an analytical technique that is used to measure the mass-to-charge ratio of ions. The results are presented as a mass spectrum, a plot of intensity as a function of the mass-to-charge ratio. Mass spectrometry is used in various fields and is applied to pure samples as well as complex mixtures.
Embodiments will be readily understood by the following detailed description in conjunction with the accompanying drawings. To facilitate this description, like reference numerals designate like structural elements. Embodiments are illustrated by way of example, not by way of limitation, in the figures of the accompanying drawings.
Disclosed herein are scientific instrument support systems, as well as related methods, computing devices, and computer-readable media. For example, in some embodiments, a scientific instrument support apparatus may include: first logic to receive, from a mass spectrometer, injections data for each of a plurality of injections associated with a sample; second logic to determine peak data for each of the plurality of injections by executing, in parallel on a node, a peak detection algorithm for each of the plurality of injections, third logic to collate the peak data for each of the plurality of injections; and fourth logic to provide the collated peak data for further processing.
In mass spectrometry, peak detection is an important step during data analysis for determining the composition of a sample. Typically, after data acquisition for a sample, a sequence of injections is generated per an experiment where each of these injections is analyzed. Generally, based on the experiment type, a peak detection algorithm is employed to analyze each of these injections, which is a time-consuming process because, for example, individual .raw files are extracted for each algorithm. As used here, experiment type refers to what type of analysis the user is performing (e.g., pesticide analysis, water purity, and the like). Generally, a user can select an appropriate algorithm for peak detection based on the experiment type, parameters, or a combination thereof.
In some embodiments, the systems and methods described herein employ a processing module that parallelizes the data extraction and peak detection of each injection, which improves performance and provides faster processing times for data analysis (that includes peak detection for a sequence of injections). In mass spectrometry, injection generally refers to the process of introducing a sample into the instrument for analysis. Injections can be classified as either direct or indirect. Direct injection involves introducing a sample directly into the mass spectrometer, while indirect injection involves introducing the sample into a separate device, such as a gas chromatograph, which then introduces the sample into the mass spectrometer.
In some embodiments, the systems and methods described herein employ extraction algorithms and detection algorithms that are optimized for application containers, such as, for example, Linux containers. In one embodiment, the algorithms are optimized via an application programming interface (API) using dotnet core. An application container is a stand-alone, all-in-one package for a software application, which allows the software application to run quickly and reliably from one computing environment to another. In some embodiments, the systems and methods described herein employs a processing module where these optimized algorithms are executed in parallel by leveraging a computing platform configured to manage containerized workloads and services, such as, for example, the Kubernetes infrastructure (e.g., via Kubernetes clusters/pods). Within the Kubernetes platform, a pod includes a group of one or more containers, with shared storage and network resources, and a specification for how to run the containers. The containers included in a pod run in a shared context (e.g., a set of Linux namespaces, cgroups, and the like). A cluster is a group of one or more related or unrelated pods.
When multiple applications are executed on a single physical server, resource allocation issues can arise as the application compete for server resources. One way to address this issue is to run each application on a different physical server, but this solution requires significant investment and often results in underutilized resources. Rather than using separate physical servers, virtual machine (VMs) can be used, wherein multiple VMs can be run on a single physical server and the VMs provides isolation between the applications. This type of virtualization provides better utilization of resources and easily allows additional applications to be added. However, each VM is operated like a full machine running on virtualized hardware and, thus, each VM requires its own operating system (OS), which wastes central processing unit (CPU) and memory resources.
Containers, such as Kubernetes containers, operate similar to a virtual machine, wherein each container has its own CPU share, filesystem, process space, and memory, but, unlike a virtual machine, containers allow applications to share the OS. Just as each container has separate virtual memory and processing, in some embodiments, a pod includes separate (from the other pods) virtual memory and processing.
Extraction in mass spectrometry generally refers to the process of separating the molecule of interest from other substances in a sample so that it can be more easily and accurately analyzed by a mass spectrometer. Also, peak detection is generally performed post data extraction. In some embodiments, as described in more detail below, the extraction and peak detection algorithms are executed in parallel in a separate pod for each injection. In some embodiments, the determined data is collated and provided to the calling application. In some embodiments, extraction and peak detection algorithms employed for peak detection include, for example, ICIS, GENISIS, or Cobra.
In some embodiments, the processing module is scaled horizontally via processing nodes to increase performance. In some embodiments, a node is implemented via a virtual machine or a physical machine. In some embodiments, a node is implemented as a Kubernetes node and managed by the control plane and contains the services necessary to run Pods. In some embodiments, additional Kubernetes nodes are employed to horizontally scale the processing module. In some embodiments, the processing module is provided via multiple CPUs that are scaled horizontally where each node is a physical server, and each pod comprises a virtual CPU and virtual memory (see
In the following detailed description, reference is made to the accompanying drawings that form a part hereof wherein like numerals designate like parts throughout, and in which is shown, by way of illustration, embodiments that may be practiced. It is to be understood that other embodiments may be utilized, and structural or logical changes may be made, without departing from the scope of the present disclosure. Therefore, the following detailed description is not to be taken in a limiting sense.
Various operations may be described as multiple discrete actions or operations in turn, in a manner that is most helpful in understanding the subject matter disclosed herein. However, the order of description should not be construed as to imply that these operations are necessarily order dependent. In particular, these operations may not be performed in the order of presentation. Operations described may be performed in a different order from the described embodiment. Various additional operations may be performed, and/or described operations may be omitted in additional embodiments.
For the purposes of the present disclosure, the phrases “A and/or B” and “A or B” mean (A), (B), or (A and B). For the purposes of the present disclosure, the phrases “A, B, and/or C” and “A, B, or C” mean (A), (B), (C), (A and B), (A and C), (B and C), or (A, B, and C). Although some elements may be referred to in the singular (e.g., “a processing device”), any appropriate elements may be represented by multiple instances of that element, and vice versa. For example, a set of operations described as performed by a processing device may be implemented with different ones of the operations performed by different processing devices.
The description uses the phrases “an embodiment,” “various embodiments,” and “some embodiments,” each of which may refer to one or more of the same or different embodiments. Furthermore, the terms “comprising,” “including,” “having,” and the like, as used with respect to embodiments of the present disclosure, are synonymous. When used to describe a range of dimensions, the phrase “between X and Y” represents a range that includes X and Y. As used herein, an “apparatus” may refer to any individual device, collection of devices, part of a device, or collections of parts of devices. The drawings are not necessarily to scale.
The scientific instrument support module 1000 may include receiving logic 1002, determining logic 1004, collating logic 1006, and displaying logic 1008. As used herein, the term “logic” may include an apparatus that is to perform a set of operations associated with the logic. For example, any of the logic elements included in the support module 1000 may be implemented by one or more computing devices programmed with instructions to cause one or more processing devices of the computing devices to perform the associated set of operations. In a particular embodiment, a logic element may include one or more non-transitory computer-readable media having instructions thereon that, when executed by one or more processing devices of one or more computing devices, cause the one or more computing devices to perform the associated set of operations. As used herein, the term “module” may refer to a collection of one or more logic elements that, together, perform one or more functions associated with the module. Different ones of the logic elements in a module may take the same form or may take different forms. For example, some logic in a module may be implemented by a programmed general-purpose processing device, while other logic in a module may be implemented by an application-specific integrated circuit (ASIC). In another example, different ones of the logic elements in a module may be associated with different sets of instructions executed by one or more processing devices. A module may not include all of the logic elements depicted in the associated drawing; for example, a module may include a subset of the logic elements depicted in the associated drawing when that module is to perform a subset of the operations discussed herein with reference to that module. Accordingly, in the claims, if an apparatus, method, or system is claimed, for example, as including a computing device, logic element, module, or other element configured in a certain manner, for example, to perform multiple functions, the claim or claim element should be interpreted as meaning one or more computing devices, logic elements, modules, or other elements where any one of the one or more elements is configured as claimed, for example, to make any one or more of the recited multiple functions.
The receiving logic 1002 may be configured to receive a sequence that includes injection data related to a plurality of injections. In some embodiments, the sequence is received from a mass spectrometer or via a GUI, such as the GUI 3000 of
The determination logic 1004 may be configured to determine peak data for each of the injections by processing the injection data through a processing module. In some embodiments, the processing module is configured to execute, in parallel, a peak detection algorithm for each of the injections included in a sequence to determine the respective peak data. In some embodiments, the processing module is configured to execute, in parallel, extraction and peak detection algorithms for each of the plurality of injections included in a sequence to determine the respective peak data.
As noted above, the extraction and peak detection algorithm may be optimized for an application container, such as, for example, Linux containers. In some embodiments, extraction and peak detection logic is extracted and added into a new project using Microsoft® Dotnet core. In such embodiments, a docker image(s) is generated by packaging the required artifacts into the image. The docker image(s) is then deployed in a container(s). For example, in some embodiments, the processing module executes the optimized algorithms in parallel by leveraging a Kubernetes infrastructure. In some embodiments, the extraction and peak detection algorithms are executed in parallel using a separate pod for each of the injections. In some embodiments, extraction and peak detection algorithms employed for peak detection include, for example, ICIS, GENISIS, or Cobra and a container may be configured to apply one or more of such algorithms (e.g., according to configuration data set for the container). Also, in some embodiments, different containers may be used to execute (e.g., in parallel) different peak detection algorithms for a single injection, which, again, improves data processing efficiency and CPU and memory usage.
As noted above, in some embodiments, the processing module is scaled horizontally via processing nodes to increase performance. In some embodiments, additional Kubernetes nodes are employed to horizontally scale the processing module. In some embodiments, the processing module is provided via multiple CPUs that are scaled horizontally where each node is a physical server, and each pod is a virtual CPU and virtual memory (see
The collating logic 1004 may be configured to collate the peak data determined for each of the injections. In some embodiments, the peak data is collated (e.g., combined or grouped) based on the respective injections or sequence(s). In some embodiments, the determined data is collated and provided to a calling application (see
For method 2000, at 2002, first operations may be performed. For example, the receiving logic 1002 of the support module 1000 may perform the operations of 2002. The first operations may include receiving, from a mass spectrometer, injections data for each of a plurality of injections associated with a sample.
At 2004, second operations may be performed. For example, the determining logic 1004 of the support module 1000 may perform the operations of 2004. The second operations may include determining peak data for each of the plurality of injections by executing, in parallel on a node, a peak detection algorithm for each of the plurality of injections.
At 2006, third operations may be performed. For example, the collating logic 1006 of the support module 1000 may perform the operations of 2006. The third operations may include collating the peak data for each of the plurality of injections.
At 2008, fourth operations may be performed. For example, the support module 1000 may be configured to perform the operations of 2008. The fourth operations may include providing the collated peak data for further processing.
For method 2100, at 2102, first operations may be performed. For example, the receiving logic 1002 of the support module 1000 may perform the operations of 2102. The first operations may include receiving, from a mass spectrometer, injections data for each of a plurality of injections associated with a sample.
At 2104, second operations may be performed. For example, the determining logic 1004 of the support module 1000 may perform the operations of 2104. The second operations may include determining peak data for each of the plurality of injections by executing, in parallel on a node, a peak detection algorithm for each of the plurality of injections.
At 2106, third operations may be performed. For example, the collating logic 1006 of the support module 1000 may perform the operations of 2106. The third operations may include collating the peak data for each of the plurality of injections.
At 2108, fourth operations may be performed. For example, the determining logic 1004 of the support module 1000 may perform the operations of 2108. The fourth operations may include determining a composition of the sample based on the collated peak data.
At 2110, fifth operations may be performed. For example, the displaying logic 1008 of the support module 1000 may perform the operations of 2110. The fifth operations may include providing the composition of the same for display.
For method 2200, at 2202, first operations may be performed. For example, the receiving logic 1002 of the support module 1000 may perform the operations of 2202. The first operations may include receiving, from a mass spectrometer, injections data for each of a plurality of injections associated with a sample.
At 2204, second operations may be performed. For example, the determining logic 1004 of the support module 1000 may perform the operations of 2204. The second operations may include determining peak data for each of the plurality of injections by executing, in parallel on a node, a peak detection algorithm for each of the plurality of injections, wherein the node is executed by a second processing device.
At 2206, third operations may be performed. For example, the collating logic 1006 of the support module 1000 may perform the operations of 2206. The third operations may include collating the peak data for each of the plurality of injections.
At 2208, fourth operations may be performed. For example, the support module 1000 may be configured to perform the operations of 2208. The fourth operations may include providing the collated peak data for further processing.
For example,
The scientific instrument support methods disclosed herein may include interactions with a human user (e.g., via the user local computing device 5020 discussed herein with reference to
The GUI 3000 may include a data display region 3002, a data analysis region 3004, a scientific instrument control region 3006, and a settings region 3008. The particular number and arrangement of regions depicted in
The data analysis region 3004 may display the results of data analysis (e.g., the results of analyzing the data illustrated in the data display region 3002 and/or other data). For example, the data analysis region 3004 depict the peak data for each of the injections with a sequence determined, for example, according to method 2000 discussed herein with reference to
The scientific instrument control region 3006 may include options that allow the user to control a scientific instrument (e.g., the scientific instrument 5010 discussed herein with reference to
As noted above, the scientific instrument support module 1000 may be implemented by one or more computing devices.
The computing device 4000 of
The computing device 4000 may include a processing device 4002 (e.g., one or more processing devices). As used herein, the term “processing device” may refer to any device or portion of a device that processes electronic data from registers and/or memory to transform that electronic data into other electronic data that may be stored in registers and/or memory. The processing device 4002 may include one or more digital signal processors (DSPs), application-specific integrated circuits (ASICs), central processing units (CPUs), graphics processing units (GPUs), cryptoprocessors (specialized processors that execute cryptographic algorithms within hardware), server processors, or any other suitable processing devices.
The computing device 4000 may include a storage device 4004 (e.g., one or more storage devices). The storage device 4004 may include one or more memory devices such as random access memory (RAM) (e.g., static RAM (SRAM) devices, magnetic RAM (MRAM) devices, dynamic RAM (DRAM) devices, resistive RAM (RRAM) devices, or conductive-bridging RAM (CBRAM) devices), hard drive-based memory devices, solid-state memory devices, networked drives, cloud drives, or any combination of memory devices. In some embodiments, the storage device 4004 may include memory that shares a die with a processing device 4002. In such an embodiment, the memory may be used as cache memory and may include embedded dynamic random access memory (eDRAM) or spin transfer torque magnetic random access memory (STT-MRAM), for example. In some embodiments, the storage device 4004 may include non-transitory computer readable media having instructions thereon that, when executed by one or more processing devices (e.g., the processing device 4002), cause the computing device 4000 to perform any appropriate ones of or portions of the methods disclosed herein.
The computing device 4000 may include an interface device 4006 (e.g., one or more interface devices 4006). The interface device 4006 may include one or more communication chips, connectors, and/or other hardware and software to govern communications between the computing device 4000 and other computing devices. For example, the interface device 4006 may include circuitry for managing wireless communications for the transfer of data to and from the computing device 4000. The term “wireless” and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, and the like, that may communicate data through the use of modulated electromagnetic radiation through a nonsolid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not. Circuitry included in the interface device 4006 for managing wireless communications may implement any of a number of wireless standards or protocols, including but not limited to Institute for Electrical and Electronic Engineers (IEEE) standards including Wi-Fi (IEEE 802.11 family), IEEE 802.16 standards (e.g., IEEE 802.16-2005 Amendment), Long-Term Evolution (LTE) project along with any amendments, updates, and/or revisions (e.g., advanced LTE project, ultra-mobile broadband (UMB) project (also referred to as “3GPP2”), etc.). In some embodiments, circuitry included in the interface device 4006 for managing wireless communications may operate in accordance with a Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Evolved HSPA (E-HSPA), or LTE network. In some embodiments, circuitry included in the interface device 4006 for managing wireless communications may operate in accordance with Enhanced Data for GSM Evolution (EDGE), GSM EDGE Radio Access Network (GERAN), Universal Terrestrial Radio Access Network (UTRAN), or Evolved UTRAN (E-UTRAN). In some embodiments, circuitry included in the interface device 4006 for managing wireless communications may operate in accordance with Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Digital Enhanced Cordless Telecommunications (DECT), Evolution-Data Optimized (EV-DO), and derivatives thereof, as well as any other wireless protocols that are designated as 3G, 4G, 5G, and beyond. In some embodiments, the interface device 4006 may include one or more antennas (e.g., one or more antenna arrays) to receipt and/or transmission of wireless communications.
In some embodiments, the interface device 4006 may include circuitry for managing wired communications, such as electrical, optical, or any other suitable communication protocols. For example, the interface device 4006 may include circuitry to support communications in accordance with Ethernet technologies. In some embodiments, the interface device 4006 may support both wireless and wired communication, and/or may support multiple wired communication protocols and/or multiple wireless communication protocols. For example, a first set of circuitry of the interface device 4006 may be dedicated to shorter-range wireless communications such as Wi-Fi or Bluetooth, and a second set of circuitry of the interface device 4006 may be dedicated to longer-range wireless communications such as global positioning system (GPS), EDGE, GPRS, CDMA, WiMAX, LTE, EV-DO, or others. In some embodiments, a first set of circuitry of the interface device 4006 may be dedicated to wireless communications, and a second set of circuitry of the interface device 4006 may be dedicated to wired communications.
The computing device 4000 may include battery/power circuitry 4008. The battery/power circuitry 4008 may include one or more energy storage devices (e.g., batteries or capacitors) and/or circuitry for coupling components of the computing device 4000 to an energy source separate from the computing device 4000 (e.g., AC line power).
The computing device 4000 may include a display device 4010 (e.g., multiple display devices). The display device 4010 may include any visual indicators, such as a heads-up display, a computer monitor, a projector, a touchscreen display, a liquid crystal display (LCD), a light-emitting diode display, or a flat panel display.
The computing device 4000 may include other input/output (I/O) devices 4012. The other I/O devices 4012 may include one or more audio output devices (e.g., speakers, headsets, earbuds, alarms, etc.), one or more audio input devices (e.g., microphones or microphone arrays), location devices (e.g., GPS devices in communication with a satellite-based system to receive a location of the computing device 4000, as known in the art), audio codecs, video codecs, printers, sensors (e.g., thermocouples or other temperature sensors, humidity sensors, pressure sensors, vibration sensors, accelerometers, gyroscopes, etc.), image capture devices such as cameras, keyboards, cursor control devices such as a mouse, a stylus, a trackball, or a touchpad, bar code readers, Quick Response (QR) code readers, or radio frequency identification (RFID) readers, for example.
The computing device 4000 may have any suitable form factor for its application and setting, such as a handheld or mobile computing device (e.g., a cell phone, a smart phone, a mobile internet device, a tablet computer, a laptop computer, a netbook computer, an ultrabook computer, a personal digital assistant (PDA), an ultra-mobile personal computer, etc.), a desktop computing device, or a server computing device or other networked computing component.
One or more computing devices implementing any of the scientific instrument support modules or methods disclosed herein may be part of a scientific instrument support system.
Any of the scientific instrument 5010, the user local computing device 5020, the service local computing device 5030, or the remote computing device 5040 may include any of the embodiments of the computing device 4000 discussed herein with reference to
The scientific instrument 5010, the user local computing device 5020, the service local computing device 5030, or the remote computing device 5040 may each include a processing device 5002, a storage device 5004, and an interface device 5006. The processing device 5002 may take any suitable form, including the form of any of the processing devices 4002 discussed herein with reference to
The scientific instrument 5010, the user local computing device 5020, the service local computing device 5030, and the remote computing device 5040 may be in communication with other elements of the scientific instrument support system 5000 via communication pathways 5008. The communication pathways 5008 may communicatively couple the interface devices 5006 of different ones of the elements of the scientific instrument support system 5000, as shown, and may be wired or wireless communication pathways (e.g., in accordance with any of the communication techniques discussed herein with reference to the interface devices 4006 of the computing device 4000 of
The scientific instrument 5010 may include any appropriate scientific instrument. In some embodiments, the scientific instrument 5010 includes a mass spectrometer 5012, a liquid chromatograph 5014, an ion source 5016, a cartridge 5018, and an imagine device 5019. Generally, the mass spectrometer 5012 is a device that is used to analyzing ions (e.g., measure the mass-to-charge ratio of ions). In some embodiments, a high voltage power supply is located in the ion source 5016. The mass spectrometer 5012 is in communication with the ion source 5016. Generally, the liquid chromatograph 5014 contains an autosampler for introducing the sample to the chromatographic column (stationary phase) and a high-pressure pump for delivering a mobile phase to elute the sample from the column as a function of time. Generally, the ion source 5016 generates gas-phase ions from the liquid stream eluting from the chromatographic column for subsequent analysis in the mass spectrometer. In some embodiments, the ion source 5016 functions as a mount for the cartridge 5018 near the inlet of the mass spectrometer 5012.
Generally, the cartridge 5018 is the functional component of the ion source 5016 and principally includes a chromatography column and an electrospray emitter. In some embodiments, high voltage is applied to the liquid stream to generate an electrospray. In some embodiments, nebulization gas is applied to assist the electrospray plume and aid in stability. In some embodiments, the column may be maintained in a thermally controlled environment (e.g., heated or cooled), depending on the type of chromatography practiced. The storage device 5004 is employed to store historic and diagnostic data. In some embodiments, the storage device 5004 is included on or attached to the cartridge.
Generally, the imaging device (e.g., a camera) 5019 is employed for imaging the electrospray emitter and inlet. In some embodiments, the imaging device 5019 includes a light-emitting diode (LED) that is employed for imaging the electrospray. In some embodiments, the imaging device 5019 is in communication with the cartridge 5018. In some embodiments, the imaging device 5019 communicates bi-directionally with the mass spectrometer 5012.
The user local computing device 5020 may be a computing device (e.g., in accordance with any of the embodiments of the computing device 4000 discussed herein) that is local to a user of the scientific instrument 5010. In some embodiments, the user local computing device 5020 may also be local to the scientific instrument 5010, but this need not be the case; for example, a user local computing device 5020 that is in a user's home or office may be remote from, but in communication with, the scientific instrument 5010 so that the user may use the user local computing device 5020 to control and/or access data from the scientific instrument 5010. In some embodiments, the user local computing device 5020 may be a laptop, smartphone, or tablet device. In some embodiments the user local computing device 5020 may be a portable computing device.
The service local computing device 5030 may be a computing device (e.g., in accordance with any of the embodiments of the computing device 4000 discussed herein) that is local to an entity that services the scientific instrument 5010. For example, the service local computing device 5030 may be local to a manufacturer of the scientific instrument 5010 or to a third-party service company. In some embodiments, the service local computing device 5030 may communicate with the scientific instrument 5010, the user local computing device 5020, and/or the remote computing device 5040 (e.g., via a direct communication pathway 5008 or via multiple “indirect” communication pathways 5008, as discussed above) to receive data regarding the operation of the scientific instrument 5010, the user local computing device 5020, and/or the remote computing device 5040 (e.g., the results of self-tests of the scientific instrument 5010, calibration coefficients used by the scientific instrument 5010, the measurements of sensors associated with the scientific instrument 5010, etc.). In some embodiments, the service local computing device 5030 may communicate with the scientific instrument 5010, the user local computing device 5020, and/or the remote computing device 5040 (e.g., via a direct communication pathway 5008 or via multiple “indirect” communication pathways 5008, as discussed above) to transmit data to the scientific instrument 5010, the user local computing device 5020, and/or the remote computing device 5040 (e.g., to update programmed instructions, such as firmware, in the scientific instrument 5010, to initiate the performance of test or calibration sequences in the scientific instrument 5010, to update programmed instructions, such as software, in the user local computing device 5020 or the remote computing device 5040, etc.). A user of the scientific instrument 5010 may utilize the scientific instrument 5010 or the user local computing device 5020 to communicate with the service local computing device 5030 to report a problem with the scientific instrument 5010 or the user local computing device 5020, to request a visit from a technician to improve the operation of the scientific instrument 5010, to order consumables or replacement parts associated with the scientific instrument 5010, or for other purposes.
The remote computing device 5040 may be a computing device (e.g., in accordance with any of the embodiments of the computing device 4000 discussed herein) that is remote from the scientific instrument 5010 and/or from the user local computing device 5020. In some embodiments, the remote computing device 5040 may be included in a datacenter or other large-scale server environment. In some embodiments, the remote computing device 5040 may include network-attached storage (e.g., as part of the storage device 5004). The remote computing device 5040 may store data generated by the scientific instrument 5010, perform analyses of the data generated by the scientific instrument 5010 (e.g., in accordance with programmed instructions), facilitate communication between the user local computing device 5020 and the scientific instrument 5010, and/or facilitate communication between the service local computing device 5030 and the scientific instrument 5010.
In some embodiments, one or more of the elements of the scientific instrument support system 5000 illustrated in
In some such embodiments, the remote computing device 5040 and/or the user local computing device 5020 may combine data from different types of scientific instruments 5010 included in a scientific instrument support system 5000.
The following paragraphs provide various examples of the embodiments disclosed herein.