DE60003913T2 - Kombinatorische erzeugung von materialbibliotheken - Google Patents

Kombinatorische erzeugung von materialbibliotheken Download PDF

Info

Publication number
DE60003913T2
DE60003913T2 DE60003913T DE60003913T DE60003913T2 DE 60003913 T2 DE60003913 T2 DE 60003913T2 DE 60003913 T DE60003913 T DE 60003913T DE 60003913 T DE60003913 T DE 60003913T DE 60003913 T2 DE60003913 T2 DE 60003913T2
Authority
DE
Germany
Prior art keywords
user
procedure
objects
target
code object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Revoked
Application number
DE60003913T
Other languages
English (en)
Other versions
DE60003913D1 (de
Inventor
C. William RUST
B. Ralph NIELSEN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Symyx Technologies Inc
Original Assignee
Symyx Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23182549&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60003913(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Symyx Technologies Inc filed Critical Symyx Technologies Inc
Application granted granted Critical
Publication of DE60003913D1 publication Critical patent/DE60003913D1/de
Publication of DE60003913T2 publication Critical patent/DE60003913T2/de
Anticipated expiration legal-status Critical
Revoked legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01JCHEMICAL OR PHYSICAL PROCESSES, e.g. CATALYSIS OR COLLOID CHEMISTRY; THEIR RELEVANT APPARATUS
    • B01J19/00Chemical, physical or physico-chemical processes in general; Their relevant apparatus
    • B01J19/0046Sequential or parallel reactions, e.g. for the synthesis of polypeptides or polynucleotides; Apparatus and devices for combinatorial chemistry or for making molecular arrays
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01JCHEMICAL OR PHYSICAL PROCESSES, e.g. CATALYSIS OR COLLOID CHEMISTRY; THEIR RELEVANT APPARATUS
    • B01J2219/00Chemical, physical or physico-chemical processes in general; Their relevant apparatus
    • B01J2219/00274Sequential or parallel reactions; Apparatus and devices for combinatorial chemistry or for making arrays; Chemical library technology
    • B01J2219/0068Means for controlling the apparatus of the process
    • B01J2219/00686Automatic
    • B01J2219/00689Automatic using computers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01JCHEMICAL OR PHYSICAL PROCESSES, e.g. CATALYSIS OR COLLOID CHEMISTRY; THEIR RELEVANT APPARATUS
    • B01J2219/00Chemical, physical or physico-chemical processes in general; Their relevant apparatus
    • B01J2219/00274Sequential or parallel reactions; Apparatus and devices for combinatorial chemistry or for making arrays; Chemical library technology
    • B01J2219/0068Means for controlling the apparatus of the process
    • B01J2219/00686Automatic
    • B01J2219/00691Automatic using robots
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01JCHEMICAL OR PHYSICAL PROCESSES, e.g. CATALYSIS OR COLLOID CHEMISTRY; THEIR RELEVANT APPARATUS
    • B01J2219/00Chemical, physical or physico-chemical processes in general; Their relevant apparatus
    • B01J2219/00274Sequential or parallel reactions; Apparatus and devices for combinatorial chemistry or for making arrays; Chemical library technology
    • B01J2219/0068Means for controlling the apparatus of the process
    • B01J2219/00695Synthesis control routines, e.g. using computer programs

Landscapes

  • Chemical & Material Sciences (AREA)
  • Organic Chemistry (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Chemical Vapour Deposition (AREA)
  • Steroid Compounds (AREA)
  • Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)
  • Stored Programmes (AREA)
  • Gloves (AREA)
  • Glass Compositions (AREA)
  • Fireproofing Substances (AREA)
  • General Factory Administration (AREA)
  • Mechanical Treatment Of Semiconductor (AREA)
  • Saccharide Compounds (AREA)
  • Sampling And Sample Adjustment (AREA)
  • Physical Or Chemical Processes And Apparatus (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Verfahren und eine Vorrichtung zum Steuern von automatisierten Materialhandhabungsprozeduren.
  • Herkömmlicherweise ist die Entdeckung und Entwicklung von Materialien vor allem durch Proben und Versuche bestimmt, die durch Wissenschaftler durchgeführt werden, wobei jeweils durch Experimente Daten erzeugt werden. Dieser Prozess erzeugt niedrige Erfolgsraten, lange Laufzeiten und hohe Kosten, insbesondere wenn die gewünschten Materialien an Komplexität zunehmen. Wenn ein Material aus mehreren Komponenten besteht, bietet die Theorie wenig Anleitung, während die große Vielfältigkeit von Kombinationsmöglichkeiten für die Komponenten eine beträchtliche Zeitdauer für die Vorbereitung und Analyse erfordert.
  • Die Materialkombinationswissenschaft beschäftigt sich mit diesen Anforderungen. Die Materialkombinationswissenschaft verwendet allgemein Verfahren zum Erstellen einer Sammlung (oder „Bibliothek") von chemisch verschiedenen Verbindungen oder Materialien und/oder Verfahren zum schnellen Testen und Analysieren derartiger Bibliotheken in Bezug auf gewünschte Leistungseigenschaften. Durch ein paralleles oder schnelles serielles Testen von vielen Verbindungen oder Materialien beschleunigen Kombinationstechniken die Geschwindigkeit der Untersuchung, vereinfachen Durchbrüche und erweitern die für Forscher verfügbaren Informationen. Weiterhin versetzt die Möglichkeit zur Untersuchung der Beziehungen zwischen Hunderten und Tausenden von Materialien innerhalb von kurzer Zeit die Wissenschaftler in die Lage, entsprechende Entscheidungen im Entdeckungsprozess zu treffen und unerwartete Trends zu identifizieren.
  • Die Implementierung von Kombinationsanalyseverfahren hängt von der Fähigkeit ab, Bibliotheken zu Materialien unter Verwendung von Kombinationssyntheseverfahren vorzubereiten. Diese Techniken verwenden gewöhnlich einen Roboter für die automatische Vorbereitung und Analyse einer Bibliothek, wobei Computerprogramme zur Steuerung derartiger Roboter verwendet werden. Ein derartiges Computerprogramm ist in US-5 614 608 angegeben.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung gibt Verfahren und eine Vorrichtung einschließlich von Computerprogrammprodukten an, die betrieben werden können, um automatische Materialhandhabungsprozeduren zu steuern. Die Erfindung ist insbesondere nützlich für die Steuerung der automatisierten Synthese und/der Analyse von kombinatorischen Bibliotheken, wobei sie jedoch allgemein nützlich für die Steuerung von Materialhandhabungsprozeduren ist, welche die Übertragung von Materialien von einer oder mehreren Quellpositionen zu einer oder mehreren Zielpositionen umfassen.
  • Allgemein gibt die Erfindung gemäß einem Aspekt ein Computerprogramm auf einem Computer-lesbaren Medium zum Steuern einer Materialhandhabungsvorrichtung gemäß Anspruch 1 an. Das Programm umfasst Befehle, mit denen ein programmierbarer Prozessor eine Gruppe von vorprogrammierten Codeobjekten vorsehen kann und von einem Benutzer eine Auswahl und Anordnung von vorprogrammierten Codeobjekten von der Gruppe empfangen kann. Die Gruppe umfasst ein erstes vorprogrammiertes Codeobjekt, mit dem eine Eingabe zur Definition von einer oder mehreren Quellkomponenten, einer oder mehreren Zielkomponenten und einer oder mehreren Abbildungen empfangen werden kann. Jede Abbildung nimmt auf eine Quellkomponente und eine Zielkomponente Bezug und definiert eine oder mehrere Übertragungen von wenigstens einem Quellkomponentenmaterial auf wenigstens ein Zielkomponentenmaterial. Die Auswahl definiert einen Satz von Materialhandhabungsschritten. Die Anordnung definiert eine Ausführungsreihenfolge für die ausgewählten vorprogrammierten Codeobjekte.
  • Implementierungen der Erfindung können eines oder mehrere der folgenden vorteilhaften Merkmale umfassen. Das erste vorprogrammierte Codeobjekt kann betrieben werden, um mit einem Benutzer für den Empfang einer Abbildung zu interagieren. Das erste vorprogrammierte Codeobjekt kann betrieben werden, um mit einem Benutzer zum Assoziieren der Quellkomponente mit einer oder mehreren Quellpositionen sowie zum Assoziieren der Zielkomponente mit einer Zielposition einschließlich eines Zugangsanschlusses einer analytischen Einrichtung zu interagieren. Die Eingabe ist eine Rezeptdatei, die Bibliotheksentwurfsinformation enthält, welche die Quellkomponente, die Zielkomponente und die Abbildung definiert. Die Materialhandhabungsschritte definieren eine Prozedur zum Synthetisieren einer kombinatorischen Bibliothek aus Materialien. Die Abbildung definiert einen Gradienten für die Verteilung der Quellkomponentenmaterialien unter den Zielpositionen. Das erste vorprogrammierte Codeobjekt kann betrieben werden, um mit einem Benutzer zu interagieren, um die Quellkomponente mit einer oder mehreren Zielpositionen zu assoziieren, von denen jede ein Quellkomponentenmaterial aufweist, und um die Zielkomponente mit einer Vielzahl von Zielpositionen in Entsprechung zu einer Vielzahl von Mitgliedern der kombinatorischen Bibliothek zu assoziieren. Die Gruppe umfasst wenigstens ein zweites vorprogrammiertes Codeobjekt, mit dem eine Abbildung für die Verarbeitung durch wenigstens ein drittes vorprogrammiertes Codeobjekt etikettiert werden kann, das nachfolgend in der Anordnung ausgeführt wird. Die Anordnung umfasst eine logische Hierarchie mit einem übergeordneten vorprogrammierten Codeobjektes und wenigstens einem untergeordneten vorprogrammierten Codeobjekt. Mit dem übergeordneten vorprogrammierten Codeobjekt kann eine Bedingung definiert werden, die bestimmt, ob das wenigstens eine untergeordnete vorprogrammierte Codeobjekt nachfolgend in der Anordnung ausgeführt wird. Mit dem übergeordneten vorprogrammierten Codeobjekt kann vorgesehen werden, dass das wenigstens eine untergeordnete vorprogrammierte Codeobjekt wenigstens ein Mal für jede durch die Eingabe durchgeführte Abbilddung ausgeführt wird. Mit dem übergeordneten vorprogrammierten Codeobjekt kann vorgesehen werden, dass das wenigstens eine untergeordnete vorprogrammierte Codeobjekt wenigstens ein Mal für jede Übertragung ausgeführt wird, die durch eine der einen oder mehreren Abbildungen definiert wird. Die Bedingung ist eine „for"-Bedingung. Die Bedingung ist eine „while"-Bedingung. Die Bedingung ist eine „if"-Bedingung.
  • Allgemein gibt die Erfindung gemäß einem weiteren Aspekt ein Computerprogramm zum Steuern einer automatisierten Materialhandhabungsvorrichtung zum Ausführen eins Satzes von Materialhandhabungsschritten nach Anspruch 15 an. Das Programm umfasst Befehle, die veranlassen, dass ein programmierbarer Prozessor eine Rezeptdatei mit Komponenteninformation und Abbildungsinformation empfängt, mit einem Benutzer zur Erstellung einer Prozedur zum Ausführen des Satzes von Materialhandhabungsschritten interagiert und veranlasst, dass die automatisierte Materialhandhabungsvorrichtung den Satz von Materialhandhabungsschritten durch die Ausführung der Prozedur durchführt. Die Abbildungsinformation nimmt auf eine Quellkomponente und eine Zielkomponente Bezug. Die Abbildungsinformation definiert eine oder mehrere Übertragungen von wenigstens einem Quellkomponentenmaterial auf wenigstens ein Zielkomponentenmaterial. Das Programm umfasst Befehle, um für den Benutzer eine Gruppe aus vorprogrammierten Codeobjekten vorzusehen und von dem Benutzer eine Auswahl und Anordnung der vorprogrammierten Codeobjekte zu empfangen. Die Prozedur wird durch die Auswahl und Anordnung des Benutzers definiert. Die Prozedur enthält wenigstens ein erstes vorprogrammiertes Codeobjekt, mit dem die Rezeptdatei gelesen und interpretiert werden kann, und ein zweites vorprogrammiertes Codeobjekt, mit dem eine aus der Rezeptdatei gelesene Abbildung interpretiert werden kann.
  • Implementierungen der Erfindung umfassen eines oder mehrere der folgenden vorteilhaften Merkmale. Das Programm umfasst Befehle, mit denen veranlasst werden kann, dass ein programmierbarer Prozessor mit einem Benutzer interagiert, um eine Ressourcenhierarchie einschließlich von einem oder mehreren Ressourcenobjekten zu erstellen, die wenigstens eine Hardwareeinrichtung der automatisierten Materialhandhabungsvorrichtung definieren, die mit dem programmierbaren Prozessor verbunden ist. Das Programm umfasst Befehle, mit denen veranlasst werden kann, dass ein programmierbarer Prozessor mit einem Benutzer interagiert, um eine Systemhierarchie einschließlich von einem oder mehreren Systemobjekten zu erstellen, die einen oder mehrere Roboterarme definieren, die mit der wenigstens einen Hardwareeinrichtung der automatisierten Materialhandhabungsvorrichtung verbunden sind. Das Programm umfasst Befehle, mit denen veranlasst werden kann, dass ein programmierbarer Prozessor mit einem Benutzer interagiert, um eine Substrathierarchie einschließlich von einem oder mehreren Substratobjekten zu erstellen, die eine Geometrie für wenigstens ein Substrat definieren. Das Programm umfasst Befehle, mit denen veranlasst werden kann, dass ein programmierbarer Prozessor mit einem Benutzer interagiert, um eines oder mehrere Positionsobjekte für jedes Substratobjekt in der Substrathierarchie zu erstellen. Wenigstens ein Substratobjekt entspricht einer oder mehreren Zielpositionen. Die Ausführung der Prozedur übersetzt die Komponenteninformation und die Abbildungsinformation zu Maschinenbefehlen für die Steuerung der automatisierten Materialhandhabungsvorrichtung. Das Programm umfasst Befehle, mit denen der Benutzer die Prozedur während der Ausführung modifizieren kann.
  • Allgemein gibt die Erfindung gemäß einem weiteren Aspekt ein Computer-implementiertes Verfahren zum Steuern einer Materialhandhabungsvorrichtung gemäß dem Anspruch 24 an. Das Verfahren umfasst das Vorsehen einer Gruppe von vorprogrammierten Codeobjekten und das Empfangen einer Auswahl und einer Anordnung von vorprogrammierten Codeobjekten aus der Gruppe vom Benutzer. Die Gruppe umfasst ein erstes vorprogrammiertes Codeobjekt, mit dem eine Eingabe empfangen werden kann, die eine oder mehrere Quellkomponenten, eine oder mehrere Zielkomponenten und eine oder mehrere Abbildungen definiert. Jede Abbildung bezieht sich auf eine Quellkomponente und eine Zielkomponente und definiert eine oder mehrere Übertragungen von wenigstens einem Quellkomponentenmaterial auf wenigstens eine Zielkomponentenposition. Die Auswahl definiert einen Satz von Materialhandhabungsschritten. Die Anordnung definiert einer Ausführungsreihenfolge für die ausgewählten vorprogrammierten Codeobjekte.
  • Implementierungen der Erfindung können eine oder mehrere der folgenden vorteilhaften Merkmale umfassen. Über das erste vorprogrammierte Codeobjekt kann mit dem Benutzer für den Empfang einer Abbildung zu interagieren. Über das erste vorprogrammierte Codeobjekt kann mit einem Benutzer interagiert werden, um die Quellkomponente mit einer oder mehreren Quellpositionen und die Zielkomponente mit einer Zielposition zu assoziieren, die einen Zugangsanschluss einer analytischen Einrichtung umfasst. Die Eingabe ist eine Rezeptdatei mit Bibliotheksentwurfsinformation, welche die Quellkomponente, die Zielkomponente und die Abbildung definiert. Die Materialhandhabungsschritte definieren eine Prozedur zum Synthetisieren einer kombinatorischen Bibliothek aus Materialien. Die Abbildung definiert einen Gradienten zum Verteilen der Quellkomponentenmaterialien unter den Zielpositionen. Über das erste vorprogrammierte Codeobjekt kann mit einem Benutzer interagiert werden, um die Quellkomponente mit einer oder mehreren Zielpositionen zu assoziieren, die jeweils ein Quellkomponentenmaterial aufweisen, und um die Zielkomponente mit einer Vielzahl von Zielpositionen zu assoziieren, die einer Vielzahl von Mitgliedern der kombinatorischen Bibliothek entsprechen. Die Gruppe umfasst wenigstens ein zweites vorprogrammiertes Codeobjekt, mit eine Abbildung für die Verarbeitung durch wenigstens ein drittes vorprogrammiertes Codeobjekt, das daraufhin in der Anordnung auszuschließen ist, zu etikettieren. Die Anordnung umfasst eine logische Hierarchie einschließlich eines übergeordneten vorprogrammierten Codeobjekts und wenigstens eines untergeordneten vorprogrammierten Codeobjekts. Mit dem übergeordneten vorprogrammierten Codeobjekt kann eine Bedingung definiert werden, die bestimmt, ob das wenigstens eine untergeordnete vorprogrammierte Codeobjekt darauffolgend in der Anordnung ausgeführt wird. Das übergeordnete vorprogrammierte Codeobjekt kann vorsehen, dass das wenigstens eine untergeordnete vorprogrammierte Codeobjekt wenigstens ein Mal für jede durch die Eingabe definierte Abbildung ausgeführt wird. Das übergeordnete vorprogrammierte Codeobjekt kann vorsehen, dass das wenigstens eine untergeordnete vorprogrammierte Codeobjekt wenigstens ein Mal für jede Übertragung ausgeführt wird, die durch eine der einen oder mehreren Abbildungen definiert wird. Die Beindung ist eine „for"-Bedingung. Die Bedingung ist eine „while"-Bedingung. Die Bedingung ist eine „if"-Bedingung.
  • Allgemein gibt die Erfindung gemäß einem weiteren Aspekt ein Verfahren zum Steuern einer automatisierten Materialhandhabungsvorrichtung zum Ausführen eines Satzes von Materialausgabeschritten nach Anspruch 38 an. Das Verfahren umfasst das Empfangen einer Rezeptdatei mit Komponenteninformation und Abbildungsinformation, das Interagieren mit einem Benutzer, um eine Prozedur zum Synthetisieren der kombinatorischen Bibliothek zu erstellen, und das Veranlassen der automatisierten Materialhandhabungsvorrichtung, um die kombinatorische Bibliothek durch die Ausführung der Prozedur zu synthetisieren. Die Abbildungsinformation bezieht sich auf eine Quellkomponente und eine Zielkomponente. Die Abbildungsinformation definiert eine oder mehrere Übertragungen von wenigstens einem Quellkomponentenmaterial auf wenigstens eine Zielkomponentenposition. Das Verfahren umfasst das Vorsehen einer Gruppe von vorprogrammierten Codeobjekten für den Benutzer und das Empfangen einer Auswahl und Anordnung der vorprogrammierten Codeobjekte von dem Benutzer. Die Prozedur wird durch die Auswahl und Anordnung des Benutzers definiert. Die Prozedur enthält wenigstens ein erstes vorprogrammiertes Codeobjekt, mit dem die Rezeptdatei gelesen und interpretiert werden kann, und wenigstens ein zweites vorprogrammiertes Codeobjekt, mit dem eine aus der Rezeptdatei gelesene Abbildung interpretiert werden kann.
  • Implementierungen der Erfindung können eine oder mehrere der folgenden vorteilhaften Merkmale umfassen. Das Verfahren umfasst die Interaktion mit einem Benutzer, um eine Ressourcenhierarchie mit einem oder mehreren Ressourcenobjekten zu erstellen, die wenigstens eine Hardwareeinrichtung der automatisierten Materialhandhabungsvorrichtung zu definieren, die mit dem programmierbaren Prozessor verbunden ist. Das Verfahren umfasst das Interagieren mit dem Benutzer, um eine Systemhierarchie mit einem oder mehreren Systemobjekten zu erstellen, die einen oder mehrere Roboterarme definieren, die mit der wenigstens einen Hardwareeinrichtung der automatisierten Materialhandhabungsvorrichtung verbunden sind. Das Verfahren umfasst das Interagieren mit einem Benutzer, um eine Substrathierarchie mit einem oder mehreren Substratobjekten zu erstellen, die eine Geometrie für wenigstens ein Substrat definieren. Das Verfahren umfasst das Interagieren mit einem Benutzer, um ein oder mehrere Positionsobjekte für jedes Substratobjekt in der Substrathierarchie zu erstellen. Wenigstens ein Substratobjekt entspricht einer oder mehreren Quellpositionen. Wenigstens ein Substratobjekt entspricht einem oder mehreren Zielpositionen. Die Ausführung der Prozedur übersetzt die Komponenteninformation und die Handhabungsinformation in Maschinenbefehle zum Steuern der automatisierten Materialhandhabungsvorrichtung. Das Verfahren umfasst das Modifizieren der Prozedur während der Ausführung.
  • Allgemein gibt die Erfindung gemäß einem weiteren Aspekt ein System zum Ausführen eines Satzes von Materialhandhabungsschritten nach Anspruch 47 an. Das System umfasst eine Einrichtung zum Empfangen einer Rezeptdatei mit Komponenteninformation und Abbildungsinformation, eine Einrichtung zum Interagieren mit einem Benutzer, um eine Prozedur zum Synthetisieren einer kombinatorischen Bibliothek aus Materialien zu erstellen, und eine Einrichtung zum Synthetisieren der kombinatorischen Bibliothek durch das Ausführen der Prozedur. Die Abbildungsinformation nimmt auf eine Quellkomponente und eine Zielkomponente Bezug und definiert eine oder mehrere Übertragungen von wenigstens einem Quellkomponentenmaterial auf wenigstens eine Zielkomponentenposition. Die Einrich tung zum Interagieren mit dem Benutzer umfasst eine Einrichtung zum Vorsehen eine Gruppe von vorprogrammierten Codeobjekten für den Benutzer und eine Einrichtung zum Empfangen einer Auswahl und einer Anordnung der vorprogrammierten Codeobjekte von dem Benutzer. Die Prozedur wird durch die Auswahl und Anordnung des Benutzers definiert. Die Prozedur enthält wenigstens ein erstes vorprogrammiertes Codeobjekt, mit dem die Rezeptdatei gelesen und interpretiert werden kann, und wenigstens ein zweites vorprogrammiertes Codeobjekt, mit dem eine aus der Rezeptdatei gelesene Abbildung interpretiert werden kann.
  • Zu den Vorteilen der Implementierungen der Erfindung gehören eine oder mehrere der folgenden. Die Verwendung von Codeblöcken erlaubt es den Benutzern, weitreichend angepasste Prozeduren für viele verschiedene Materialhandhabungsprozesse einschließlich der Vorbereitung oder Synthese von Bibliotheken sowie der Kennzeichnung von Materialbibliotheken zu erstellen. Es können neue Codeblöcke erzeugt werden und es können Sammlungen erstellt werden, die Codeblöcke für die Verwendung in zukünftigen Prozeduren speichern. Prozeduren können unmittelbar geändert werden, um Experimente und Prozessuntersuchungen zu unterstützen. Die Prozeduren sind nicht auf bestimmte Hardwareeinrichtungen beschränkt. Die Verwendung von Codeblöcken in einer graphischen Programmierumgebung gestattet es den Benutzern, Prozeduren zu erstellen, ohne dass sie hierfür Kenntnisse zu komplizierten Programmiersprachen benötigen. Die Prozeduren können mit einer minimalen Benutzeraktion während der Ausführung durchgeführt werden. Die Verwendung von Bibliotheksentwurfsdaten der höheren Ebene gestattet die Synthese von Bibliotheken für verschiedene Entwurfsumgebungen.
  • Details von einer oder mehreren Ausführungsformen der Erfindung werden in den beigefügten Zeichnungen und der folgenden Beschreibung erläutert. Andere Merkmale und Vorteile der Erfindung werden aus der Beschreibung, den Zeichnungen und den Ansprüchen deutlich.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm, das ein System zum Steuern einer automatisierten Materialhandhabungsprozedur zeigt.
  • 2 ist ein Flussdiagramm, das allgemein ein Verfahren zum Steuern einer automatisierten Materialhandhabungsprozedur zeigt.
  • 3 ist ein Flussdiagramm, das ein Verfahren zum Steuern einer automatisierten Materialhandhabungsprozedur im größeren Detail zeigt.
  • 4 ist ein Beispiel eines Dialogfensters, das eine gemäß der beanspruchten Erfindung erzeugte Prozedur zeigt.
  • 5 ist ein Flussdiagramm, das ein Verfahren zum Erstellen einer Prozedur zeigt.
  • 6 zeigt ein Beispiel eines Dialogfensters mit einer Liste von Prozeduren und einem Ereignisprotokoll gemäß der beanspruchten Erfindung.
  • 7 zeigt ein Fenster für eine Prozedur zum Verarbeiten von mehreren etikettierten Abbildungen zeigt.
  • 8 zeigt ein Fenster für eine Materialhandhabungsprozedur zum Kennzeichnen einer Materialbibliothek.
  • Entsprechende Elemente in den verschiedenen Zeichnungen werden durch gleiche Bezugszeichen angegeben.
  • AUSFÜHRLICHER BESCHREIBUNG
  • Eine Reihe von durch einen Benutzer ausgewählten Prozeduren werden zum Implementieren eines Satzes von Materialverarbeitungsbefehlen verwendet. In einer im Folgenden beschriebenen Ausführungsform werden die Befehle aus einer Rezeptdatei für die automatisierte Synthese einer kombinatorischen Materialbibliothek erhalten. Die Materialien können ein beliebiger Typ von einer chemischer Verbindung, eine Mischung oder ein anderes interessantes Material sein. Die kombinatorische Materialbibliothek wird vorbereitet, indem Komponenten auf einem Ziel wie etwa einer Mikrotiterplatte, einem Siliziumwafer oder ähnlichem platziert werden. Jedes Ziel umfasst eine Matrix von Bereichen, die zum Beispiel Vertiefungen einer Mikrotiterplatte oder Positionen auf einem Wafer sein können. Der resultierende Satz von Materialien ist die Bibliothek, die einen Satz von „Mitgliedern" umfasst, die den Materialien in jedem Bereich der Zielmatrix entsprechen. Eine Bibliothek kann mit einer beliebigen geometrischen Form wie etwa einem Quadrat, Rechteck, Kreis oder Dreieck angeordnet werden.
  • Wie in 1 und 2 gezeigt, umfasst ein System 100 einen Computer 110 mit Ein-/Ausgabeeinrichtungen 120. Ein Satz von Materialhandhabungsbefehlen wird in dem Entwurfsmodul 130 erzeugt und zu dem Steuermodul 140 (Schritt 200) gegeben. Alternativ hierzu ruft das Steuermodul 140 Befehle aus dem Speicher 150 ab. Es können geeignete Befehle in einer „Rezeptdatei" vorgesehen werden, wobei diese zum Beispiel Komponenteninformation zur Identifikation von Quell- und Zielkomponenten (als Wiedergabe von physikalischen Behältern wie etwa Fläschchen oder Mikrotiterplaten oder von physikalischen Positionen wie etwa Bereichen auf einem Substratwafer) für die Verwendung in der Synthese einer Bibliothek, Abbildungsinformation, die jede Quelle auf eine oder mehrere Zielkomponenten abbildet und Größen jeder zu verwendenden Quelle für die Synthetisierung jedes Bibliotheksmitgliedes identifiziert, sowie Parameter, die Reaktionsbedingungen für die Kombination der Komponenten zur Ausbildung von einzelnen Bibliotheksmitgliedern definieren, umfassen können.
  • Die Abbildungsinformation kann zum Beispiel eine Liste der spezifischen Mengen der aus einem oder mehreren Quellfläschchen zu jeder aus einem Satz von Zielvertiefungen zu übertragenden Materialien umfassen. Die Abbildungsinformation kann auch Gradienten umfassen, welche einen Mengenbereich eines oder mehrerer von einer bestimmten Quelle zu einer Reihe von Vertiefungen zu übertragenden Materialien spezifizieren, wobei die zu jeder Zielvertiefung zu übertragende Menge in Übereinstimmung mit einer linearen, exponentiellen, logarithmischen, polynomen, geometrischen oder anderen mathematischen Gleichung bestimmt wird. Die Erstellung der Rezeptdateien wird in der gleichzeitig anhängigen US-Anmeldung mit der Seriennummer 09/174,856 vom 19. Oktober 1998 beschrieben, die hier vollständig unter Bezugnahme eingeschlossen ist. Das Steuermodul 140 erfasst die Komponenten-, Abbildungs- und Parameterinformation aus einer Rezeptdatei und macht die Information für die Verwendung durch benutzerdefinierte Prozeduren verfügbar, die weiter unten beschrieben werden.
  • Ein typischer Benutzer des Systems 100 ist ein Chemiker. Über die Benutzerschnittstelle 160 initialisiert der Benutzer das System 100 und erstellt eine Prozedur unter Verwendung eines Objekteditors 170 (Schritt 210). Das Steuermodul 140 führt die Prozedur (Schritt 220) aus, die beispielsweise veranlasst, dass eine durch den Satz der Befehle in der Rezeptdatei spezifizierte kombinatorische Bibliothek synthetisiert wird. In der beschrieben Ausführungsform kommuniziert das Steuermodul 140 direkt mit der Vorrichtung 180, indem sie beispielsweise Textbefehle über einen oder mehrere serielle Anschlüsse an die Vorrichtung 180 überträgt. Alternativ hierzu können die durch das Modul 140 erzeugten Befehle durch Treiber für die Vorrichtung 180 implementiert werden, die auf dem Computer 110 installiert sind.
  • Die entsprechende Vorrichtung 180 kann zum Beispiel automatisierte Flüssigkeitshandhabungsroboter wie etwa den RSP 900 Robotic Sample Processor von Cavro Scientific Instruments, Inc. aus Sunnyvale, Kalifornien, oder entsprechende Einrichtungen umfassen. Die Vorrichtung 180 kann auch automatisierte Systeme umfassen, die verschiedene Typen von physikalischen oder chemischen Dampfablagerungsprozessen durchführen. Bei der Handhabung von Flüssigkeiten werden gewöhnlich Lösungsmischungen in eine Matrix aus Miniaturvertiefungen gegeben, um eine Bibliothek zu erstellen. Bei der Vakuumauftragung werden Festelemente oder Chemikalien bzw. Mischungen aus Festelementen oder Chemikalien verdampft und als einzelne Komponenten auf einem Substrat abgelagert. Die Ablagerung kann durch eine Reihe von Verschlüssen und Masken gesteuert werden, um die Bibliothek zu erzeugen. Ein Beispiel einer Ablagerungseinrichtung ist in WO98/47613 (US-Anmeldung mit der Seriennummer 08/841,423) vom 22. April 1997 angegeben.
  • Mit Bezug auf 3 wird im Folgenden ein Verfahren beschrieben, welches das System 100 zum Synthetisieren einer kombinatorischen Materialbibliothek beschreibt. In jedem der ersten vier Schritte des Verfahrens (Schritte 300, 310, 320 und 330) verwendet der Benutzer einen Objekteditor 170, um Datenobjekte zu erstellen und zu konfigurieren, die Hardwareeinrichtungen und Prozesse für die gewünschte Synthese definieren. Jedes Datenobjekt weist einen assoziierten Satz von Eigenschaften auf. Der Benutzer wählt Datenobjekte aus und fügt diese in eine Hierarchie von Objekten ein, welche die Hardwareeinrichtungen und Prozesse für das System definieren. Dabei kann der Benutzer die ausgewählten Objekte anpassen, indem er die mit jedem Objekt assoziierten Eigenschaften manipuliert, was weiter unten ausführlicher beschrieben wird. Datenobjekte werden durch den Editor 170 unter Verwendung von Computerprogrammtechniken erzeugt, die bei der Objekt-orientierten Programmierung üblich sind. Der Editor ist vorzugsweise mit einer graphischen Benutzeroberfläche implementiert.
  • In einer in 4 gezeigten Ausführungsform zeigt die Benutzerschnittstelle 160 ein Fenster an, das eine Objekthierarchie oder einen Baum 403 (in diesem Fall für die Prozedurobjekte 405 und 408) im Feld 410 umfasst. Der Benutzer manipuliert die Eigenschaften von ausgewählten Objekten – zum Beispiel der Eigenschaften 414 und 418 des ausgewählten For Loop-Objekts 432 – indem er Text eingibt oder Werte in den entsprechenden Feldern des Feldes 420, in diesem Beispiel die Felder 424 und 428, wählt. Der Benutzer muss nicht mit der Erzeugung der Datenobjekte selbst vertraut sein und keine Kenntnisse zu den Objekt-orientierten Programmiertechniken besitzen, die zur Erzeugung der Datenobjekte verwendet werden, wenn er die Datenobjekte wie oben beschrieben manipuliert.
  • Wie wiederum in 3 gezeigt, definiert der Benutzer die für das System 100 verfügbaren physikalischen Hardwareressourcen über die Benutzerschnittstelle 160 (Schritt 300). Wie oben beschrieben, gehören zu den entsprechenden Hardwareressourcen Einrichtungen wie etwa automatisierte Syntheseroboter, Spritzenpumpensteuereinrichtungen, physikalische Auftragungssysteme oder Dampfauftragungssysteme und ähnliches. Die Hardwareressourcen können auch Temperatursteuereinrichtungen zum Regulieren der Temperatur von einer oder mehreren Quell- oder Zielfläschchen bzw. Platten, Spritzen oder anderen Ausgabevorrichtungen umfassen. Der Benutzer definiert jede mit dem System 100 verbundene Hardwareeinrichtung, indem er ein Hardwareressourcen-Datenobjekt erstellt, das insbesondere für die betreffende Einrichtung konfiguriert ist. So kann er beispielsweise einen seriellen Anschluss spezifizieren, über den die Einrichtung mit dem Computer 110 verbunden ist. Jedes Hardwareressourcenobjekt implementiert ein Protokoll für die Kommunikation zwischen dem Computer 110 und der betreffenden Einrichtung, wobei dem Computer 110 (und damit dem Benutzer) Zugriff auf die Funktionen der Einrichtung gewährt wird.
  • Der Benutzer definiert die Eigenschaften der einzelnen Arme, Spritzen, Verschlüsse, Masken oder anderen im System 100 installierten Einrichtungen, indem er Systemdatenobjekte für jede derartige Einrichtung erstellt (Schritt 310). Jedes Systemobjekt identifiziert eine Hardwareressource, die aus den bereits definierten ausgewählt wurde (z. B. eine besondere Roboter- oder Pumpensteuereinrichtung) und die betreffende Einrichtung steuert. Andere Systemobjekteigenschaften sind die Einrichtungsadresse, die Konfiguration der mit einem Arm verbundenen Spritzen (z. B. seriell oder parallel), Bewegungsgrenzen, Schrittgröße und Bezugspositionen für Armbewegungen, sowie Auflösung, Volumen und Ausgabeeigenschaften für Spritzen und ähnliches.
  • Der Benutzer identifiziert außerdem jede Quelle von Ausgangsmaterialien und jedes Ziel, indem er ein Substratdatenobjekt erstellt, das die Geometrie für jedes Substrat mit einer oder mehreren Vertiefungen für den Zugriff durch das System 100 definiert, wobei spezifische Positionen für diese Substrate auf der Arbeitsoberfläche unter Verwendung von Positionsobjekten definiert werden, die der Benutzer als Kindobjekte des entsprechenden Substratobjektes einfügt (Schritt 320). Für ein Substratobjekt, das einem einzelnen Vertiefungssubstrat oder einem Fläschchen entspricht, umfassen die durch den Benutzer definierten Eigenschaften zum Beispiel die Querschnittsfläche und die Höhe des Fläschchens sowie die Position, an der das System Flüssigkeit in das Fläschchen ausgibt. Ein mit jedem Fläschchen assoziiertes Fläschchenpositionsobjekt definiert die Positionskoordinaten des Fläschchens auf der Arbeitsoberfläche. Zu den Eigenschaften für zweidimensionale Substratmatrizen gehören zum Beispiel alle mit dem einzelnen Vertiefungssubstrat assoziierten Eigenschaften sowie die Anzahl der Reihen und Spalten und der entsprechende Abstand. Ein Plattenpositionsobjekt definiert die Position der zweidimensionalen Matrix auf der Arbeitsoberfläche, indem zum Beispiel die Positionskoordinaten der gegenüberliegenden Ecken der Matrix spezifiziert werden.
  • Der Benutzer erstellt ein Prozedurobjekt (Schritt 330), indem er eine Hierarchie von Codeobjekten zusammenstellt, die dann durch das Steuermodul 140 und den Roboter 180 ausgeführt werden können. Der Prozess der Verwendung des Objekteditors 170 zum Erstellen einer Flüssigkeitsausgabeprozedur wird mit Bezug auf 5 beschrieben. Der Benutzer erstellt ein Prozedurobjekt unter Verwendung des Objekteditors 170 (Schritt 500). Der Benutzer wählt dann ein Codeobjekt, um eine gewünschte Funktion – wie etwa das Laden von Synthesebefehlen, das Initialisieren von einem oder mehreren Roboterarmen, das Setzen von Parametern für die Arm- und Spritzenbewegung, das Bewegen von Armen, das Aufsaugen oder Ausgeben von Flüssigkeiten mit Spritzen und ähnliches – aus einem Satz von Objekten, auf die der Objekteditor 170 zugreifen kann, durchzuführen, wobei der Benutzer dann das Objekt an der entsprechenden Position in der logischen Hierarchie des Prozedurobjekts einfügt (Schritt 510). Der Benutzer kann auch ein „Behälter"-Objekt aus einer Codebibliothek auswählen. Behälterobjekte sind, wie ihre Bezeichnung schon andeutet, zum Gruppieren von anderen Objekten zu funktionalen Einheiten verwendete Behälter, die dann als Einheit gespeichert, kopiert und in andere Prozeduren eingefügt werden können. Behälterobjekte können bedingte „For Loop", „If"- und „While Loop"-Objekte enthalten, die einen oder mehrere Funktionsableitungen oder untergeordnete Objekte umfassen, die null, ein oder mehrere Male in einer Prozedur in Übereinstimmung mit dem Auftreten einer spezifizierten Bedingung ausgeführt werden, was weiter unten ausführlicher beschrieben wird.
  • Ein Beispiel für die Auswahl von geeigneten Codeobjekten wird in der folgenden Tabelle 1 gegeben.
  • Figure 00120001
  • Figure 00130001
  • Figure 00140001
  • Figure 00150001
  • Figure 00160001
  • Figure 00170001
  • Figure 00180001
  • Figure 00190001
  • Figure 00200001
  • Figure 00210001
  • Figure 00220001
  • Figure 00230001
  • Figure 00240001
  • Figure 00250001
  • Tabelle 1
    Figure 00260001
  • Der Benutzer definiert die mit dem gewählten Codeobjekt assoziierten Eigenschaften (Schritt 520). Wenn zusätzliche Codeobjekte zum Abschließen der Prozedur erforderlich sind (Ja-Verzweigung von Schritt 530), wählt der Benutzer das nächste gewünschte Codeobjekt (Schritt 510) und wiederholt den Prozess. Wenn das letzte Codeobjekt ausgewählt und definiert wurde (NEIN-Verzweigung von Schritt 530), ist die Prozedur abgeschlossen. Zu diesem Zeitpunkt oder zu einem anderen Zeitpunkt während der Erstellung der Prozedur kann der Benutzer den Code validieren, um die Konsistenz der Prozedur oder eines ausgewählten Codeobjekts und seiner Abhängigen zu verifizieren (Schritt 540). Der Objekteditor 170 speichert die Prozedur im Speicher 150 und/oder gibt die Prozedur an das Steuermodul 140 zur Ausführung durch die Vorrichtung 180 (Schritt 550).
  • Eine in Übereinstimmung mit den oben erläuterten Schritten erzeugte Probenprozedur wird in 4 gezeigt. Das Prozedurobjekt 405, das der Benutzer mit „Simple Mapping w/Left Arm" benannt hat, umfasst den Baum 403 der Codeobjekte 430–451. Jedes Codeobjekt in dem Baum 403 wird durch ein dem Objekttyp entsprechendes Symbol wie etwa das Symbol 460 und einen Namen wiedergegeben. Bei dem Namen kann es sich um einen Standardnamen auf der Basis des Objekttyps oder um einen durch den Benutzer gewählten Namen handeln. Die Prozedur 405 umfasst eine Reihe von Codeobjekten, die bei der Ausführung veranlassen, dass das Steuermodul 140 die Vorrichtung 180 dazu anweist, eine einfache Abbildungsprozedur mit dem linken Arm eines Syntheseroboters durchzuführen. Das Steuermodul 140 führt die Prozedur 405 wie folgt durch.
  • Das Objekt „Initialize Arm" 430 initialisiert den Arm des Roboters, indem es die Geschwindigkeiten des Armes und der Spritze sowie das maximale Aufsaugvolumen und das minimale Ausgabevolumen der Spritze auf Standardwerte setzt. Das Objekt „Load Recipe" 431 lädt Komponenten-, Abbildungs- und Parameterinformation aus einer spezifzierten Rezeptdatei. Wie oben beschrieben, enthält eine geeignete Rezeptdatei Komponenteninformation, um die Quell- und Zielkomponenten zu identifizieren, die während der Ausführung der Prozedur verwendet werden, sowie Abbildungsinforation, welche die von jeder Quellkomponente zu einer oder mehreren Zielkomponenten zu übertragenden Mengen spezifiziert. Die Rezeptdatei kann auch Parameterinformation in der Form von Werten oder Sätze von Werten enthalten, die mit in der Rezeptdatei identifizierten Komponenten assoziiert sind.
  • Die Ausführung des Objektes „Load Recipe" 431 veranlasst das Modul 140, den Benutzer zur Eingabe eines Namens einer zu ladenden Rezeptdatei aufzufordern. Optional kann eine bestimmte Rezeptdatei als eine Eigenschaft des Objektes „Load Recipe" 431 identifiziert werden. Das Steuermodul 140 lädt die spezifizierte Rezeptdatei und veranlasst die Benutzerschnittstelle 160 Tabellen mit Komponenten- und Abbildungsinformation anzuzeigen. Das Steuermodul 140 fordert den Benutzer auf, eine Position auf der Arbeitsoberfläche für jede wie oben erläutert in Schritt 320 definierte Substratkomponente zu identifizieren. Ein bestimmtes Substrat kann als Quelle (z. B. eine Position, von der ein Reagenz übertragen wird), als Ziel (eine Position, zu der ein Reagenz übertragen wird) oder beides (z. B. eine Position, bei der zwei oder mehr Reagenzien gemischt werden, wobei die Mischung dann zu einer anderen Position übertragen wird) während der Ausführung einer Prozedur verwendet werden. Parameterdaten in der Rezeptdatei sind mit den spezifizierten Substratobjekten assoziiert und werden für folgende Codeobjekte in der Prozedur 405 verfügbar gemacht. Wenn also beispielsweise die durch das Objekt 431 geladene Rezeptdatei eine Temperaturparameterinformation einschließlich eines Wertes für jede Vertiefung in einer spezifizierten Zielplatte umfasst, werden diese Werte für folgende Codeobjekte verfügbar gemacht, die eine vordefinierte Variable „Temperatur" aufrufen, die unter Verwendung eines Objektes „Define Variable" wie in Tabelle 1 und weiter unten ausführlicher erläutert definiert wurde. Ein Satz von Temperaturparametern kann vorteilhaft durch die Objekte „Set Temperature", „Get Temperature" und „Wait for Temperature" wie in Tabelle 1 gezeigt aufgerufen werden.
  • Das Objekt „For Each Mapping" 432 ist ein Behälterobjekt – insbesondere für ein For Loop-Objekt – das seinen Satz von untergeordneten Objekten für eine spezifizierte Anzahl von Wiederholungen ausführt. In diesem Fall ist das Objekt 432 eine „mapping loop", die für jede Abbildung in der durch das Objekt „Load Recipe" 431 geladenen Rezeptdatei wiederholt wird. Das Objekt 432 veranlasst, dass das Steuermodul 140 eine Variable „Total Mappings", welche die Gesamtanzahl der aus der Rezeptdatei geladenen Abbildungen enthält, sowie eine Variable „Mapping Number" definiert, die in den Index der aktuellen Abbildung gesetzt wird und von eins bis zu dem Wert von Total Mappings reicht. Beide Variablen sind für alle untergeordneten Objekte des Loop-Objekts 432 verfügbar. Die untergeordneten Objekte von Loop objekt 432 sind die Objekte 433–450, die durch das Steuermodul 140 für jede geladene Abbildung ausgeführt werden.
  • Das Objekt „For Each Dispense" 433 ist ein weiteres For Loop-Objekt, das für jede in der aktuellen Abbildung spezifizierte Ausgabe wiederholt wird (in Entsprechung zu der durch die oben erläuterte Variable Mapping Number identifizierten Abbildung). Das Objekt 433 veranlasst, dass das Steuermodul 140 acht Systemvariablen definiert, die für alle untergeordneten Objekte des Loop-Objekts 433 verfügbar sind. Dazu gehören die Variable „Total Dispenses" mit der Anzahl der Ausgaben für die aktuelle Abbildung sowie die Variable „Dispense Number" mit dem Index der aktuellen Ausgabe, wobei diese Variable von eins bis zu dem Wert von „Total Dispenses" reicht. Diese Variablen umfassen auch eine Variable „Mapping Aspirate Volume", die das aufzusaugende (bzw. von einer Quellkomponente zu erhaltende) Volumen auf der Basis der Abbildungszielvertiefung (oder auf mehreren Vertiefungen auf der Basis eines vorbestimmten Vorausschauintervalls, das eine bestimmte Anzahl von Vertiefungen angibt, die bei der Berechnung der aufzusaugenden Menge zu berücksichtigen sind) angibt, und eine Variable „Mapping Dispense Volume", die das für das aktuelle Abbildungsziel auszugebende Volumen angibt. Für jede Ausgabe werden diese beiden Variablen auf voreingestellte Werte für die Ausgabe initialisiert und bei fortschreitender Ausgabe aktualisiert. Schließlich veranlasst das Objekt 433 auch, dass das Steuermodul 140 die Variablen „Source Row" und „Source Column" definiert, welche die Reihe und Spalte der aktuellen Quellvertiefung angeben, sowie die Variablen „Destination Row" und „Destination Column", welche die Reihe und Spalte der aktuellen Zielvertiefung angeben. Die untergeordneten Objekte für das Loop-Objekt 433 sind die Objekte 434–441, die nacheinander für jede Ausgabe und jede geladene Abbildung wiederholt werden.
  • Das Objekt „White Liquid to Dispense" 434 ist ein anderer Typ von Behälterobjekt – ein White Loop-Objekt – das veranlasst, dass alle untergeordneten Objekte wiederholt ausgeführt werden, solange eine spezifizierte Bedingung gilt. In diesem Fall veranlasst das Modul 434, dass das Steuermodul 140 bestimmt, ob der Wert der Variable Mapping Dispense Volume größer als null ist, wodurch angegeben wird, dass die Ausgabe weiterhin die auszugebende Flüssigkeit benötigt. Solange diese Gleichung wahr ist, führt das Steuermodul 140 die untergeordneten Objekte 435–441 aus. Wenn die Gleichung falsch ist (d. h. kein Volumen mehr für die Ausgabe verbleibt), ist die aktuelle Ausgabe abgeschlossen und schreitet das Steuermodul 140 zu der nächsten Wiederholung des „For Each Dispense"-Schleife 433 fort. Das „White"-Objekt 434 kann einen beliebigen logischen Ausdruck wie etwa arithmetische Ausdrücke, die einen Wert mit einem anderen Wert vergleichen, implementieren. Das White Loop-Objekt 434 kann auch Spritzenbedingungen, die prüfen, ob eine bestimmte Spritze nachgefüllt werden muss, oder Abbildungsetikett-Bedingungen implementieren, die prüfen, ob die aktuelle Abbildung für eine bestimmte Aktion durch den Benutzer identifiziert wurde.
  • Das Objekt „Fill Syringe" 435 ist ein weiteres Behälterobjekt – ein If-Objekt – das veranlasst, dass das Steuermodul 410 seine untergeordneten Objekte ausführt, wenn eine spezifizierte Bedingung wahr ist. In diesem Fall veranlasst das Objekt 435, dass das Steuermodul 140 bestimmt, ob die spezifizierte Spritze aufgefüllt werden muss (d. h. wenn die Bedingung „syringe empty" wahr ist). Wenn die Spritze leer ist, veranlasst das Objekt 435, dass das Steuermodul 140 das Objekt „Move to Source" 436, ein Armbewegungsobjekt, das die Vorrichtung 180 anweist, die Spritze zu der Position der spezifizierten Quellkomponente zu bewegen, und das Objekt „Aspirate" 437 auszuführen, welches die Spritze anweist, von der Quellkomponente eine Menge, die durch die für die aktuelle Ausgabe definierte Variable „Mapping Aspirate Volume" bestimmt wird, aufzusaugen.
  • Wenn die Spritze nicht leer ist, veranlasst das Objekt „Move to Destination" 438 (ein weiteres Armbewegungsobjekt), dass die Vorrichtung 180 die geladene Spritze zu der Position der spezifizierten Zielkomponente bewegt. Das Objekt „Dispense" 439 veranlasst, dass die Vorrichtung 180 in die spezifizierte Zielvertiefung eine Menge ausgibt, die durch die für die aktuelle Ausgabe definierte Variable „Mapping Dispense Volume" bestimmt wird. Die Objekte „Set Timer" und „Wait For Timer" 440 und 441 veranlassen, dass das Steuermodul 140 für eine vorbestimmte (oder variable) Zeitdauer pausiert, bevor sie zu der nächsten Ausgabewiederholung fortschreitet.
  • Nach Abschluss aller Ausgaben für die aktuelle Abbildung (und nach jeder folgenden Abbildung) führt das Steuermodul 140 das Behälterobjekt 442 namens „Standard Wash – Left 500ul" aus. Das Objekt „Move To Waste" 443, ein weiteres Armbewegungsobjekt, veranlasst, dass die Vorrichtung 180 die Spritze zu der Position eines Abfallziels bewegt. Das Objekt „Purge Syringe" 44 veranlasst, dass die Vorrichtung 180 den gesamten Inhalt der spezifizierten Spritze in das Abfallziel ausgibt. Da Objekt „Dispense" 445 veranlasst, dass die Vorrichtung 180 die spezifizierte Spritze mit einem spezifizierten Volumen von einem Reservoir auffüllt (das Reservoir ist gewöhnlich mit einem Lösungsmittel wie zum Beispiel Wasser gefüllt) und dann das spezifizierte Volumen ausgibt. Das Steuermodul 140 veranlasst, dass die Vorrichtung die spezifizierte Spritze zu der Reinigungsstation bewegt (Objekt „Move to Clean 1" 446), wo die Spritze wieder mit einem Lösungsmittel gefüllt wird, das dann ausgegeben wird (Objekt „Dispense" 447). Das Objekt „Move To Clean 2" 448 veranlasst, dass die Vorrichtung 180 die spezifizierte Spritze für eine endgültige Spülung (Objekt „Dispense" 449) zu einer zweiten Reinigungsstation bewegt. Das Objekt „Move Home" 450 veranlasst, dass die Vorrichtung 180 den spezifizierten Arm zurück zu einer Ausgangsposition bewegt, wo die nächste Abbildungswiederholung beginnt. Wenn alle Abbildungen verarbeitet wurden, veranlasst das Objekt „Park" 451 (ein abschließendes Armbewegungsobjekt), dass die Vorrichtung 180 den Arm zurück zu der Ausgangsposition bewegt.
  • 6 zeigt ein Fenster 600 der Benutzerschnittstelle. Der Benutzer weist das Steuermodul 140 an, eine abgeschlossene Prozedur auszuführen, indem beispielsweise die Schaltfläche „Execute" 620 in dem Statusfeld 610 des Fensters 600 betätigt wird. Daraufhin zeigt die Benutzerschnittstelle 160 eine Liste von im Computer 110 verfügbaren Prozeduren an. Das Statusfeld 610 umfasst ein Zeilenelement 630, das angibt, dass das Steuermodul 140 eine Prozedur ausführt. Während eine Prozedur ausgeführt wird, zeigt die Benutzerschnittstelle 160 Statusmeldungen in einem Ereignisprotokoll 640 an. Der Benutzer kann eine Prozedur während der Ausführung unterbrechen oder abbrechen, indem er das entsprechende Zeilenelement wählt und jeweils die Schaltfläche 650 oder 660 betätigt.
  • Je nachdem, was der Benutzer vorzieht, kann das Ereignisprotokoll 640 eine Aufzeichnung von Ereignissen hohen Pegels oder eine detaillierte Aufzeichnung jedes Schrittes in einer Prozedur vorsehen. Das Ereignisprotokoll 640 zeigt auch Fehler an, die während der Ausführung auftreten. Wenn ein Fehler auftritt, unterbricht das Steuermodul 140 die ausgeführte Prozedur und trägt den Fehler in dem Ereignisprotokoll 640 ein. Während die Prozedur unterbrochen wird, kann der Benutzer andere Prozeduren durchführen, um den Fehler zu korrigieren. Wenn der Fehler beispielsweise aus einer falschen Substratposition resultiert, kann der Benutzer versuchen, die Position zu korrigieren. Der Benutzer kann auch die unterbrochene Prozedur selbst unter Verwendung des Objekteditors 170 modifizieren. Wenn der Fehler korrigiert wurde; weist der Benutzer das Steuermodul 140 an, die Ausführung der ursprünglichen Prozedur wiederaufzunehmen, indem er nochmals die Schaltfläche „pause" 650 betätigt. Das Steuermodul 140 versucht den fehlgeschlagenen Befehl nochmals, und fährt bei erfolgreichem Abschluss mit der Ausführung der Prozedur fort.
  • Unter Verwendung der oben beschriebenen Techniken kann der Benutzer Prozeduren für viele verschiedene automatisierte Prozesse anpassen. Eine derartige Prozedur 700 namens „Tagged Mappings" ist in 7 gezeigt. Das Objekt „Load Recipe" 705 ruft eine Rezeptdatei wie oben mit Bezug auf die Prozedur 405 erläutert aus dem Speicher ab. Anstatt einfach jede Abbildung in der Rezeptdatei zu durchlaufen, was mit Bezug auf diese Prozedur beschrieben wurde, gestattet die Prozedur 700 es dem Benutzer, eine andere Behandlung für bestimmte Abbildungen oder Gruppen von Abbildungen zu spezifizieren. Die Tag Mappings-Objekte 710–716 veranlassen, dass das Steuermodul 140 den Benutzer zu Auswahl von einer oder mehreren Abbildungen für die Etikettierung auswählt. Zum Beispiel fordert das Objekt „Tag Type 1 Mapping" 710 den Benutzer auf, Abbildungen in der geladenen Rezeptdatei als Abbildungen des Typs 1 für die folgenden Verarbeitungsschritte zu etikettieren. Alternativ hierzu können Etiketten in der durch das Objekt „Load Recipe" 705 geladenen Rezeptdatei spezifiziert werden. Das Etikett für jedes Tag Mapping-Objekt wird während der Erstellung der Prozedur spezifiziert und kann eine beliebige Kombination von Zeichen sein, die vom Ersteller der Prozedur gewählt werden Auf diese Weise können Tags ausgewählt werden, um Abbildungen als bestimmte Typen von Materialien oder Chemikalien entsprechend zu identifizieren, wie z. B. Lösungsmittel, Reagenzien, Monomere, Initiatoren, Katalysatoren, grenzflächenaktive Stoffe und ähnliches.
  • Nachdem die Roboterarme durch die Objekte 720 und 725 initialisiert wurden, führt die Prozedur 700 die durch das Objekt „For Each Mapping" 730 spezifizierten Abbildungsprozesse durch. Anstatt einfach dieselben Verarbeitungsschritte für jede Abbildung in der Rezeptdatei zu wiederholen, wie oben für die Prozedur 405 (Objekt „For Each Mapping" 432) beschrieben, umfasst die Prozedur 700 eine Reihe von If-Objekten 740–746, die den durch die Objekte 710–716 definierten Abbildungsetiketten entsprechen. Wie für das Objekt „If Type 1" 740 gezeigt, enthält jedes If-Objekt 740–746 eine Reihe von untergeordneten Objekten, die einen Satz von Prozessschritten für jede durch das entsprechende Etikett identifizierte Abbildung implementiert. Das Objekt „If Type 1" 740 und dessen untergeordnete Objekte 750–760 definieren eine Reihe von Verarbeitungsschritten für Rezeptdatei-Abbildungen, die der Benutzer mit dem Etikett „Type 1" identifiziert hat.
  • Das Objekt „Wash Interval" 750 und das Objekt „Air Gap Flag" 751 sind Variablendefinitionsobjekte, die das Steuermodul 140 veranlassen, ein Paar von Variablen zu definieren, die für folgenden Codeobjekte im If-Objekt 740 verfügbar sind. Das Objekt „For Each Dispense" 752 ist ein For Loop-Objekt, das alle seine untergeordneten Objekte 753– 748 für jede Ausgabe jeder „Type 1"-Abbildung durchläuft. Das Objekt „White Liguid to Dispense" 753 ist ein White Loop-Objekt, das alle seine untergeordneten Objekte 754–757 durchläuft, solange auszugebende Flüssigkeit in dem aktuellen Ausgabezyklus vorhanden ist. Das Objekt „Fill Syringe" 754 ist ein If-Objekt, das eine Reihe von Schritten durchführt, in denen die Spritze aufgefüllt wird, nachdem sie leer geworden ist (dabei wird die Variable „Air Gap Flag" verwendet, die durch das Objekt 751 definiert wird, um zu identifizieren, wann ein Luftzwischenraum während des Spritzenfüllprozesses eingesaugt werden soll). Das Objekt „Move to Destination" 755 veranlasst, dass die Vorrichtung 180 die spezifizierte Hardwareeinrichtung zu dem nächsten gewünschten Ziel bewegt, und das Objekt „Dispense" 757 veranlasst, dass die Vorrichtung 180 eine spezifizierte Flüssigkeitsmenge an dieser Position mit einer Geschwindigkeit ausgibt, die durch das Objekt „Set Syringe Speeds" 756 bestimmt wird. Wenn die Ausgabe abgeschlossen ist, veranlasst das Objekt „For Each Dispense" 752, dass das Steuermodul 140 zu der nächsten Ausgabe in der „Type 1"-Abbildung geht, wobei die Vorrichtung 180 veranlasst wird, die Spritzenspitze in Übereinstimmung mit dem Objekt „Wash On Interval" 758 (und allen untergeordneten Objekten) mit Intervallen zu spülen, die durch die Variable „Wash Interval" definiert werden, die wiederum durch das Objekt 750 definiert wird. Wenn alle Ausgaben in der Abbildung des Typs 1 verarbeitet wurden, weist das Steuermodul 140 die Vorrichtung 180 an, die Spritzenspitze in Übereinstimmung mit einem Prozess zu spülen, der durch das Objekt „Wash Left Arm" 759 und dessen untergeordneten Objekten definiert wird, und den Arm zu einer Endposition zu bewegen (Objekt „Park" 760).
  • Entsprechend enthalten die If-Objekte 741–746 jeweils eine Reihe von untergeordneten Objekten, die Verarbeitungsschritte zum Implementieren von Ausgaben für jede der verbleibenden Gruppen von etikettierten Abbildungen in der Rezeptdatei festlegen. Wenn jede etikettierte Abbildung in Übereinstimmung mit dem entsprechenden If-Objekt verarbeitet wurde, ist die Bibliothekssynthese abgeschlossen.
  • Je nach den Ressourcen, den Systemeinrichtungen und den Substraten, die für das System 100 definiert sind, kann der Benutzer Prozeduren erstellen, um andere Prozesse als die Bibliothekssynthese wie beispielsweise eine Analyse und Kennzeichnung von Mitglieder einer kombinatorischen Bibliothek auszuführen. Eine derartige Prozedur ist in 8 gezeigt. Um derartige Prozesse zu implementieren, muss das System 100 keine Bibliotheksentwurfsinformation aus einer Rezeptdatei erhalten. Um einen Analyseprozess zu definieren, erstellt der Benutzer eine Prozedur 800 wie oben beschrieben, wobei er jedoch ein Objekt „Sample Map" 810 anstelle des oben genannte Objektes „Load Recipe" einfügt. Bei der Ausführung durch das Steuermodul 140 erstellt das Objekt "Sample Map" 810 eine oder mehrere Abbildungen, um die für die Analyse abzutastenden Bibliotheksmitglieder zu definieren. Das Steuermodul 140 fordert den Benutzer auf, eine oder mehrere Quellkomponenten für die Abtastung zu identifizieren, indem er beispielsweise die Identität und die Position einer für das System 100 definierten Platte mit mehreren Vertiefungen spezifiziert. Der Benutzer spezifiziert eine Anzahl von Proben, die aus jeder Vertiefung indem angegebenen Substrat zu ziehen sind, indem er beispielsweise ganzzahlige Wert in eine Tabelle eingibt, die eine Quellsubstratmatrix wiedergibt. Der Wert der in die Tabelle eingegebenen Ganzzahl bestimmt die Anzahl von Ausgaben für die entsprechende Vertiefung. Der Benutzer definiert ein Zielsubstrat und eine Position für die Abbildung, z. B. einen Injektionseingang einer analytischen Einrichtung wie etwa eines Permeationschromatographen für Flüssigkeiten, Gase oder Gele.
  • Der Benutzer schließt die Prozedur 800 wie oben beschrieben ab, indem er zum Beispiel ein Objekt „Mapping Loop" 820 definiert, welches veranlasst, dass das Modul 140 die durch das Objekt „Sample Map" 810 definierten Abbildungen durchläuft. Für jede Ausgabe in jeder Abbildung veranlasst die Prozedur 800, dass das Modul 140 die Vorrichtung 180 anweist, den Inhalt der spezifizierten Vertiefung zu verdünnen und zu mischen (If-Objekt 830 und untergeordnete Objekte 831–838), die Spritzenspitze zu spülen (Objekt „Wash" 840) und für ein spezifiziertes Intervall zu warten (Objekt „Wait for Timer 1" 845).
  • Das Objekt „Inject Sample" 850 enthält eine Reihe von untergeordneten Objekten 8501–861, die den Injektionsprozess definieren. Das Objekt „Go To Source" 851 veranlasst, das die Vorrichtung 180 die Spritze zu der spezifizierten Quellposition bewegt (z. B. zu einer spezifizierten Vertiefung in einer Substratmatrix). Das Objekt „Aspirate" 852 veranlasst, dass die Vorrichtung 180 eine Probe von der Quellposition zieht. Das Objekt „Go above injector" 853 veranlasst, dass die Vorrichtung 180 die Spritze zu einer Position über einem Injektionsteil der analytischen Einrichtung bewegt. Das Objekt „Go into injector" 855 veranlasst, dass die Vorrichtung 180 die Spritze mit einer durch das Objekt „Set Arm Speeds" 854 bestimmten Geschwindigkeit in den Injektionseingang bewegt (danach setzt das Objekt 856 die Geschwindigkeit wieder zurück). Das Objekt „Dispense" 857 veranlasst, dass das Modul 140 die Vorrichtung 180 anweist, die Probe in den Injektionseingang zu injizieren. Nachdem für ein vorbestimmtes Intervall gewartet wurde (gemäß der Spezifikation durch das Objekt „Wait for Timer 2" 858), veranlasst das Objekt „Begin Analysis", dass das Steuermodul 140 einen Befehl an die Analyseeinrichtung zum Beginn der Analyse sendet. Die Set Timer-Objekte 860 und 861 initialisieren dann wieder die Timer 1 und 2 für die nächste Probe. Nach dem Spülen der Spritzenspitze (Objekt „Wash" 862) schreitet die Prozedur 800 zu der nächsten Vertiefung (d. h. der nächsten Ausgabe) fort. Das Steuermodul 140 wiederholt die Prozedur, bis eine Probe aus der jeder spezifizierten Quellposition gezogen und die Analyseeinrichtung injiziert wurde.
  • Das Steuermodul 140 kann mehrere Prozeduren gleichzeitig ausführen. Zum Beispiel kann das Steuermodul 140 unter Verwendung eines automatisierten Syntheseroboters mit zwei Armen mit jedem Roboterarm eine andere Prozedur ausführen. Es können jedoch Fehler auftreten, wenn die Prozedur versucht, dieselbe Hardware zu steuern – etwa denselben Arm oder dieselbe Spritze. Entsprechend kann ein Versuch der Ausführung gleichzeitiger Prozeduren, die Zugriff auf gleiche Bereiche der Arbeitsoberfläche erfordern, zu Fehlern führen, wenn keine Timer-Objekte vorgesehen sind, um die Armbewegungen zur Vermeidung von Kollisionen zu synchronisieren.
  • Die Erfindung kann in einer digitalen elektronischen Schaltung oder in Computerhardware, Fimware, Software oder Kombinationen aus denselben implementiert werden. Die Vorrichtung der Erfindung kann in einem Computerprogrammprodukt implementiert werden, das in einer maschinenlesbaren Speichereinrichtung für die Ausführung durch einen programmierbaren Prozessor gespeichert ist, wobei die Verfahrensschritte der Erfindung durch einen programmierbaren Prozessor durchgeführt werden können, der ein Programm mit Befehlen zum Durchführen von Funktionen der Erfindung ausführt, indem er auf Eingabedaten operiert und eine Ausgabe erzeugt. Die Erfindung kann vorteilhaft in einem oder mehreren Computerprogrammen implementiert werden, die auf einem programmierbaren System ausgeführt werden können, das wenigstens einen programmierbaren Prozessor, der zum Empfangen von Daten und Befehlen von sowie zum Senden von Daten und Befehlen zu einem Datenspeichersystem verbunden ist, wenigstens eine Eingabeeinrichtung und wenigstens eine Ausgabeeinrichtung umfasst. Jedes Computerprogramm kann in einer prozeduralen oder Objekt-orientierten Programmiersprache oder bei Bedarf in einer Assemblier- oder Maschinensprache implementiert werden; in jedem Fall kann die Sprache eine kompilierte oder interpretierte Sprache sein. Geeignete Prozessoren sind zum Beispiel allgemeine und spezielle Mikroprozessoren. Allgemein empfängt ein Prozessor Befehle und Daten von einem Nur-Lese-Speicher und/oder einem Speicher mit wahlfreiem Zugriff. Zum Speichern der Befehle und Daten des Computerprogramms geeignete Speicher sind alle Formen von nichtflüchtigen Speichern, einschließlich von beispielhaften Halbleiterspeichereinrichtungen wie etwa EPROMs, EEPROMs und Flash-Speichern, Magnetplatten wie etwa Festplatten oder Wechselplatten, magnetooptischen Platten und CD-ROMs. Die Daten können vorübergehend auch in einem flüchtigen Speicher gespeichert werden. Die vorstehend genannten Speicher können durch ASICs (Application-Specific Integrated Circuits) ergänzt werden oder in denselben integriert sein.
  • Um eine Interaktion mit einem Benutzer vorzusehen, kann die Erfindung auf einem Computersystem mit einer Anzeigeeinrichtung wie etwa einem Monitor oder einem LCD-Bildschirm zum Anzeigen von Informationen für den Benutzer und mit einer Tastatur und einer Zeigeeinrichtung wie etwa einer Maus oder einem Trackball für Eingaben in das Computersystem implementiert werden. Das Computersystem kann programmiert werden, um eine graphische Benutzeroberfläche vorzusehen, über welche die Computerprogramme mit Benutzern interagieren.
  • Die Erfindung wurde mit Bezug auf bestimmte Ausführungsformen beschrieben. Andere Ausführungsformen sind in dem durch die beigefügten Ansprüche definierten Erfindungsumfang enthalten. Zum Beispiel können die Schritte der Erfindung in einer anderen Reihenfolge durchgeführt werden, wobei trotzdem gewünschte Ergebnisse erhalten werden. Die Erfindung wurde im Kontext eines Systems und einer Prozedur zur Flüssigkeitshandhabung beschrieben, wobei die Erfindung jedoch genauso gut auf andere Systeme und Techniken für die Synthese wie beispielsweise auf die oben erläuterten Ablagerungssysteme angewendet werden kann. Entsprechend wurde die Erfindung in dem Kontext von spezifischen Hardwareressourcen, Systemeinrichtungen, Substraten und Codeobjekten beschrieben, wobei zusätzlich Datenobjekte für andere Typen von Hardwareressourcen, Einrichtungen, Substrate und Prozessschritte definiert werden können.

Claims (47)

  1. Computerprogramm auf einem Computer-lesbaren Medium zum Steuern einer Materialhandhabungsvorrichtung, wobei das Programm Befehle umfasst, mit denen en programmierbarer Prozessor zu den folgenden Schritten veranlasst werden kann: Vorsehen einer Gruppe von vorprogrammierten Codeobjekten, wobei die Gruppe ein erstes vorprogrammiertes Codeobjekt umfasst, mit dem eine Eingabe empfangen werden kann, die eine oder mehrere Quellkomponenten, eine oder mehrere Zielkomponenten und eine oder mehrere Abbildungen definiert, wobei jede Abbildung auf eine Quellkomponente und eine Zielkomponente Bezug nimmt und eine oder mehrere Übertragungen von wenigstens einem Quellkomponentenmaterial zu wenigstens einer Zielkomponentenposition definiert, und Empfangen einer Auswahl und einer Anordnung von vorprogrammierten Codeobjekten aus der Gruppe von einem Benutzer, wobei die Auswahl einen Satz von Materialhandhabungsschritten definiert und die Anordnung eine Ausführungsreihenfolge für die ausgewählten vorprogrammierten Codeobjekte definiert.
  2. Computerprogramm nach Anspruch 1, wobei über das erste vorprogrammierte Codeobjekt mit einem Benutzer interagiert werden kann, um eine Abbildung zu empfangen.
  3. Computerprogramm nach Anspruch 2, wobei über das erste vorprogrammierte Codeobjekt mit dem Benutzer interagiert werden kann, um eine Quellkomponente der einen oder mehreren Quellkomponenten mit einer oder mehreren Zielpositionen zu assoziieren und eine Zielkomponente der einen oder mehreren Zielkomponenten mit einer Zielposition zu assoziieren, die einen Zugangsanschluss einer Analyseeinrichtung umfasst.
  4. Computer nach Anspruch 1, wobei die Eingabe eine Rezeptdatei ist, die Bibtiotheksentwurfsinformation zum Definieren der Quellkomponenten, der Zielkomponenten und der Abbildungen umfasst, und wobei die Materialhandhabungsschritte eine Prozedur zum Synthetisieren einer kombinatorischen Bibliothek von Materialien definieren.
  5. Computerprogramm nach Anspruch 4, wobei die eine oder mehreren Abbildungen eine Abbildung umfassen, die einen Gradienten für die Verteilung eines Quellkomponentenmaterials auf die Zielpositionen definiert.
  6. Computerprogramm nach Anspruch 4, wobei über das erste vorprogrammierte Codeobjekt mit einem Benutzer interagiert werden kann, um eine Quellkomponente mit einer oder mehreren Quellpositionen zu assoziieren, wobei jede Position ein Quellkomponentenmaterial aufweist, und eine Zielkomponente mit einer Vielzahl von Zielpositionen in Entsprechung zu einer Vielzahl von Mitgliedern der kombinatorischen Bibliothek zu assoziieren.
  7. Computerprogramm nach Anspruch 1, wobei die Gruppe wenigstens ein zweites vorprogrammiertes Codeobjekt umfasst, mit dem eine Abbildung für die Verarbeitung durch wenigstens ein drittes vorprogrammiertes Codeobjekt etikettiert werden kann, das danach in der Anordnung auszuführen ist.
  8. Computerprogramm nach Anspruch 1, wobei die Anordnung eine logische Hierarchie umfasst, die ein übergeordnetes vorprogrammiertes Codeobjekt und wenigstens ein untergeordnetes vorprogrammiertes Codeobjekt umfasst.
  9. Computerprogramm nach Anspruch 8, wobei mit dem übergeordneten vorprogrammierten Codeobjekt eine Bedingung definiert werden kann, die bestimmt, ob das wenigstens eine untergeordnete vorprogrammierte Codeobjekt nachfolgend in der Anordnung ausgeführt wird.
  10. Computerprogramm nach Anspruch 9, wobei mit dem übergeordneten vorprogrammierten Codeobjekt vorgesehen werden kann, dass das wenigstens eine untergeordnete vorprogrammierte Codeobjekt wenigstens ein Mal für jede durch die Eingabe definierte Abbildung ausgeführt wird.
  11. Computerprogramm nach Anspruch 9, wobei mit dem übergeordneten vorprogrammierten Codeobjekt vorgesehen werden kann, dass das wenigstens eine untergeordnete vorprogrammierte Codeobjekt wenigstens ein Mal für jede Übertragung ausgeführt wird, die durch eine der einen oder mehreren Abbildungen definiert wird.
  12. Computerprogramm nach Anspruch 9, wobei die Bedingung eine „for"-Bedingung ist.
  13. Computerprogramm nach Anspruch 9, wobei die Bedingung eine „while"-Bedingung ist.
  14. Computerprogramm nach Anspruch 9, wobei die Bedingung eine „if"-Bedingung ist.
  15. Für die Verwendung in einem System mit einer automatisierten Materialhandhabungsvorrichtung zum Ausführen eines Satzes von Materialhandhabungsschritten, ein Computerprogramm oder ein Computer-lesbares Medium zum Steuern der automatisierten Materialhandhabungsvorrichtung, wobei das Programm Befehle umfasst, mit denen ein programmierbarer Prozessor zu den folgenden Schritten veranlasst werden kann: Empfangen einer Rezeptdatei mit Komponenteninformation und Abbildungsinformation, wobei die Abbildungsinformation auf eine Quellkomponente und eine Zielkomponente Bezug nimmt und eine oder mehrere Übertragungen von wenigstens einem Quellkomponentenmaterial zu wenigstens einer Zielkomponentenposition definiert, Interagieren mit einem Benutzer, um eine Prozedur zum Ausführen des Satzes von Materialhandhabungsschritten zu erstellen, die Befehle umfassen, um für den Benutzer eine Gruppe von vorprogrammierten Codeobjekten vorzusehen und eine Auswahl und eine Anordnung von vorprogrammierten Codeobjekten von dem Benutzer zu empfangen, wobei die Prozedur durch die Auswahl und die Anordnung des Benutzers definiert wird, und Veranlassen, dass die automatisierte Materialhandhabungsvorrichtung den Satz von Materialhandhabungsschritten durchführt, indem sie die Prozedur ausführt, wobei die Prozedur wenigstens ein erstes vorprogrammiertes Codeobjekt, mit dem die Rezeptdatei gelesen und interpretiert werden kann, und wenigstens ein zweites vorprogrammiertes Codeobjekt enthält, mit dem eine aus der Rezeptdatei gelesene Abbildung interpretiert werden kann.
  16. Computerprogramm nach Anspruch 15, das weiterhin Befehle umfasst, mit denen ein programmierbarer Prozessor zu folgendem Schritt veranlasst werden kann: Interagieren mit einem Benutzer, um eine Ressourcenhierarchie mit einem oder mehreren Ressourcenobjekten zu erstellen, die wenigstens eine Hardwareeinrichtung der automatisierten Materialhandhabungsvorrichtung definieren, die mit dem programmierbaren Prozessor verbunden ist.
  17. Computerprogramm nach Anspruch 16, das weiterhin Befehle umfasst, mit denen ein programmierbarer Prozessor zu folgendem Schritt veranlasst werden kann: Interagieren mit einem Benutzer, um eine Systemhierarchie mit einem oder mehreren Systemobjekten zu erstellen, die einen oder mehrere Roboterarme definieren, die mit der wenigstens einen Hardwareeinrichtung der automatisierten Materialhandhabungsvorrichtung verbunden sind.
  18. Computerprogramm nach Anspruch 16, das weiterhin Befehle umfasst, mit denen ein programmierbarer Prozessor zu folgendem Schritt veranlasst werden kann: Interagieren mit einem Benutzer, um eine Substrathierarchie mit einem oder mehreren Substratobjekten zu erstellen, die eine Geometrie für wenigstens ein Substrat definieren.
  19. Computerprogramm nach Anspruch 18, das weiterhin Befehle umfasst, mit denen ein programmierbarer Prozessor zu folgendem Schritt veranlasst werden kann: Interagieren mit einem Benutzer, um ein oder mehrere Positionsobjekte für jedes Substratobjekt in der Substrathierarchie zu erstellen.
  20. Computerprogramm nach Anspruch 18, wobei wenigstens ein Substratobjekt einer oder mehreren Quellpositionen entspricht.
  21. Computerprogramm nach Anspruch 18, wobei wenigstens ein Substratobjekt einer oder mehreren Zielpositionen entspricht.
  22. Computerprogramm nach Anspruch 15, wobei: die Ausführung der Prozedur die Komponenteninformation und die Abbildungsinformation zu Maschinenbefehlen zum Steuern der automatisierten Materialhandhabungsvorrichtung übersetzt.
  23. Computerprogramm nach Anspruch 15, das weiterhin Befehle umfasst, mit denen der Benutzer die Prozedur während der Ausführung modifizieren kann.
  24. Computer-implementiertes Verfahren zum Steuern einer Materialhandhabungsvorrichtung, wobei das Verfahren folgende Schritte umfasst: Vorsehen einer Gruppe von vorprogrammierten Codeobjekten, wobei die Gruppe ein erstes vorprogrammiertes Codeobjekt umfasst, mit dem eine Eingabe empfangen werden kann, die eine oder mehrere Quellkomponenten, eine oder mehrere Zielkomponenten und eine oder mehrere Abbildungen definiert, wobei jede Abbildung auf eine Quellkomponente und eine Zielkomponente Bezug nimmt und eine oder mehrere Übertragungen von wenigstens einem Quellkomponentenmaterial zu wenigstens einer Zielkomponentenposition definiert, und Empfangen einer Auswahl und einer Anordnung von vorprogrammierten Codeobjekten aus der Gruppe von einem Benutzer, wobei die Auswahl einen Satz von Materialhandhabungsschritten definiert und die Anordnung eine Ausführungsreihenfolge für die ausgewählten vorprogrammierten Codeobjekte definiert.
  25. Verfahren nach Anspruch 24, wobei über das erste vorprogrammierbare Codeobjekt mit einem Benutzer interagiert werden kann, um eine Abbildung zu empfangen.
  26. Verfahren nach Anspruch 25, wobei über das erste vorprogrammierte Codeobjekt mit dem Benutzer interagiert werden kann, um eine Quellkomponente der einen oder mehreren Quellkomponenten mit einer oder mehreren Zielpositionen zu assoziieren und eine Zielkomponente der einen oder mehreren Zielkomponenten mit einer Zielposition zu assoziieren, die einen Zugangsanschluss einer Analyseeinrichtung umfasst.
  27. Verfahren nach Anspruch 24, wobei die Eingabe eine Rezeptdatei ist, die Bibliotheksentwurfsinformation zum Definieren der Quellkomponenten, der Zielkomponenten und der Abbildungen umfasst, und wobei die Materialhandhabungsschritte eine Prozedur zum Synthetisieren einer kombinatorischen Bibliothek von Materialien definieren.
  28. Verfahren nach Anspruch 27, wobei die eine oder mehreren Abbildungen eine Abbildung umfassen, die einen Gradienten für die Verteilung eines Quellkomponentenmaterials auf die Zielpositionen definiert.
  29. Verfahren nach Anspruch 27, wobei über das erste vorprogrammierte Codeobjekt mit einem Benutzer interagiert werden kann, um eine oder mehrere der Quellkomponenten mit einer oder mehreren Quellpositionen zu assoziieren, wobei jede Position ein Quellkomponentenmaterial aufweist, und die eine oder mehreren Zielkomponenten mit einer Vielzahl von Zielpositionen in Entsprechung zu einer Vielzahl von Mitgliedern der kombinatorischen Bibliothek zu assoziieren.
  30. Verfahren nach Anspruch 24, wobei die Gruppe wenigstens ein zweites vorprogrammiertes Codeobjekt umfasst, mit dem eine Abbildung für die Verarbeitung durch wenigstens ein drittes vorprogrammiertes Codeobjekt etikettiert werden kann, das danach in der Anordnung auszuführen ist.
  31. Verfahren nach Anspruch 24, wobei die Anordnung eine logische Hierarchie umfasst, die ein übergeordnetes vorprogrammiertes Codeobjekt und wenigstens ein untergeordnetes vorprogrammiertes Codeobjekt umfasst.
  32. Verfahren nach Anspruch 31, wobei mit dem übergeordneten vorprogrammierten Codeobjekt eine Bedingung definiert werden kann, die bestimmt, ob das wenigstens eine untergeordnete vorprogrammierte Codeobjekt nachfolgend in der Anordnung ausgeführt wird.
  33. Verfahren nach Anspruch 32, wobei mit dem übergeordneten vorprogrammierten Codeobjekt vorgesehen werden kann, dass wenigstens ein untergeordnetes vorprogrammiertes Codeobjekt wenigstens ein Mal für jede durch die Eingabe definierte Abbildung ausgeführt wird.
  34. Verfahren nach Anspruch 32, wobei mit dem übergeordneten vorprogrammierten Codeobjekt vorgesehen werden kann, dass wenigstens ein untergeordnetes vorprogrammiertes Codeobjekt wenigstens ein Mal für jede Übertragung ausgeführt wird, die durch eine der einen oder mehreren Abbildungen definiert wird.
  35. Verfahren nach Anspruch 32, wobei die Bedingung eine „for"-Bedingung ist.
  36. Verfahren nach Anspruch 32, wobei die Bedingung eine „while"-Bedingung ist.
  37. Verfahren nach Anspruch 32, wobei die Bedingung eine „if"-Bedingung ist.
  38. Verfahren zum Steuern einer automatisierten Materialhandhabungsvorrichtung zum Ausführen eines Satzes von Materialausgabeschritten, wobei das Verfahren folgende Schritte umfasst: Empfangen einer Rezeptdatei mit Komponenteninformation und Abbildungsinformation, wobei die Abbildungsinformation auf eine Quellkomponente und eine Zielkomponente Bezug nimmt und eine oder mehrere Übertragungen von wenigstens einem Quellkomponentenmaterial zu wenigstens einer Zielkomponentenposition definiert, Interagieren mit einem Benutzer, um eine Prozedur zum Ausführen eines Satzes von Materialausgabeschritten zu erstellen, wobei für den Benutzer eine Gruppe von vorprogrammierten Codeobjekten vorgesehen wird und von dem Benutzer eine Auswahl und eine Anordnung von vorprogrammierten Codeobjekten empfangen wird, wobei die Prozedur durch die Auswahl und die Anordnung des Benutzers definiert wird, und Veranlassen, dass die automatisierte Materialhandhabungsvorrichtung den Satz von Materialausgabeschritten durchführt, indem sie die Prozedur ausführt, wobei die Prozedur wenigstens ein erstes vorprogrammiertes Codeobjekt, mit dem die Rezeptdatei gelesen und interpretiert werden kann, und wenigstens ein zweites vorprogrammiertes Codeobjekt enthält, mit dem eine aus der Rezeptdatei gelesene Abbildung interpretiert werden kann.
  39. Verfahren nach Anspruch 38, das weiterhin folgenden Schritt umfasst: Interagieren mit einem Benutzer, um eine Ressourcenhierarchie mit einem oder mehreren Ressourcenobjekten zu erstellen, die wenigstens eine Hardwareeinrichtung der automatisierten Materialhandhabungsvorrichtung definiert, die mit dem programmierbaren Prozessor verbunden ist.
  40. Verfahren nach Anspruch 39, das weiterhin folgenden Schritt umfasst: Interagieren mit einem Benutzer, um eine Systemhierarchie mit einem oder mehreren Systemobjekten zu erstellen, die einen oder mehrere Roboterarme definieren, die mit der wenigstens einen Hardwareeinrichtung der automatisierten Materialhandhabungsvorrichtung verbunden sind.
  41. Verfahren nach Anspruch 39, das weiterhin folgenden Schritt umfasst: Interagieren mit einem Benutzer, um eine Substrathierarchie mit einem oder mehreren Substratobjekten zu erstellen, die eine Geometrie für wenigstens ein Substrat definieren.
  42. Verfahren nach Anspruch 41, das weiterhin folgende Schritte umfasst: Interagieren mit einem Benutzer, um ein oder mehrere Positionsobjekte für jedes Substratobjekt in der Substrathierarchie zu erstellen.
  43. Verfahren nach Anspruch 41, wobei wenigstens ein Substratobjekt einer oder mehreren Quellpositionen entspricht.
  44. Verfahren nach Anspruch 41, wobei wenigstens ein Substratobjekt einer oder mehreren Zielpositionen entspricht.
  45. Verfahren nach Anspruch 38, wobei: die Ausführung der Prozedur die Komponenteninformation und die Abbildungsinformation zu Maschinenbefehlen zum Steuern der automatisierten Materialhandhabungsvorrichtung übersetzt.
  46. Computerprogramm nach Anspruch 38, das weiterhin einen Schritt zum Modifizieren der Prozedur während der Ausführung umfasst.
  47. System zum Ausführen eines Satzes von Materialhandhabungsschritten mit: einer Einrichtung zum Empfangen einer Rezeptdatei mit Komponenteninformation und Abbildungsinformation, wobei die Abbildungsinformation auf eine Quellkomponente und eine Zielkomponente Bezug nimmt und eine oder mehrere Übertragungen von wenigstens einem Quellkomponentenmaterial zu wenigstens einer Zielkomponentenposition definiert, einer Einrichtung zum Interagieren mit einem Benutzer, um eine Prozedur zum Ausführen eines Satzes von Materialhandhabungsschritten zu erstellen, wobei die Einrichtung eine Einrichtung zum Vorsehen einer Gruppe von vorprogrammierten Codeobjekten für den Benutzer und eine Einrichtung zum Empfangen einer Auswahl und einer Anordnung von vorprogrammierten Codeobjekten von dem Benutzer umfasst, wobei die Prozedur durch die Auswahl und die Anordnung des Benutzers definiert wird, und einer Einrichtung zum Ausführen des Satzes von Materialhandhabungsschritten, indem die Prozedur ausgeführt wird, wobei die Prozedur wenigstens ein erstes vorprogrammiertes Codeobjekt, mit dem die Rezeptdatei gelesen und interpretiert werden kann, und wenigstens ein zweites vorprogrammiertes Codeobjekt enthält, mit dem eine aus der Rezeptdatei gelesene Abbildung interpretiert werden kann.
DE60003913T 1999-05-05 2000-05-05 Kombinatorische erzeugung von materialbibliotheken Revoked DE60003913T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US305830 1981-09-28
US09/305,830 US6507945B1 (en) 1999-05-05 1999-05-05 Synthesizing combinatorial libraries of materials
PCT/US2000/012228 WO2000067086A1 (en) 1999-05-05 2000-05-05 Synthesizing combinatorial libraries of materials

Publications (2)

Publication Number Publication Date
DE60003913D1 DE60003913D1 (de) 2003-08-21
DE60003913T2 true DE60003913T2 (de) 2004-02-05

Family

ID=23182549

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60003913T Revoked DE60003913T2 (de) 1999-05-05 2000-05-05 Kombinatorische erzeugung von materialbibliotheken

Country Status (9)

Country Link
US (1) US6507945B1 (de)
EP (1) EP1175645B1 (de)
JP (1) JP2002542943A (de)
AT (1) ATE245286T1 (de)
AU (1) AU4701300A (de)
CA (1) CA2370573A1 (de)
DE (1) DE60003913T2 (de)
DK (1) DK1175645T3 (de)
WO (1) WO2000067086A1 (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7199809B1 (en) 1998-10-19 2007-04-03 Symyx Technologies, Inc. Graphic design of combinatorial material libraries
US6507945B1 (en) 1999-05-05 2003-01-14 Symyx Technologies, Inc. Synthesizing combinatorial libraries of materials
US7216113B1 (en) * 2000-03-24 2007-05-08 Symyx Technologies, Inc. Remote Execution of Materials Library Designs
US6983233B1 (en) 2000-04-19 2006-01-03 Symyx Technologies, Inc. Combinatorial parameter space experiment design
US6664067B1 (en) 2000-05-26 2003-12-16 Symyx Technologies, Inc. Instrument for high throughput measurement of material physical properties and method of using same
US20020052882A1 (en) * 2000-07-07 2002-05-02 Seth Taylor Method and apparatus for visualizing complex data sets
WO2002025504A2 (en) * 2000-09-20 2002-03-28 Lobanov Victor S Method, system, and computer program product for encoding and building products of a virtual combinatorial library
EP1350214A4 (de) * 2000-12-15 2009-06-10 Symyx Technologies Inc Verfahren und vorrichtungen zum entwurf hochdimensionaler kombinatorischer experimente
US6658429B2 (en) * 2001-01-05 2003-12-02 Symyx Technologies, Inc. Laboratory database system and methods for combinatorial materials research
US7085773B2 (en) * 2001-01-05 2006-08-01 Symyx Technologies, Inc. Laboratory database system and methods for combinatorial materials research
US20020143725A1 (en) * 2001-01-29 2002-10-03 Smith Robin Young Systems, methods and computer program products for determining parameters for chemical synthesis and for supplying the reagents, equipment and/or chemicals synthesized thereby
US7250950B2 (en) * 2001-01-29 2007-07-31 Symyx Technologies, Inc. Systems, methods and computer program products for determining parameters for chemical synthesis
US20030124028A1 (en) 2001-08-10 2003-07-03 Carlson Eric D. Apparatuses and methods for creating and testing pre-formulations and systems for same
US6758951B2 (en) * 2001-10-11 2004-07-06 Symyx Technologies, Inc. Synthesis and characterization of materials for electrochemical cells
US6881363B2 (en) * 2001-12-07 2005-04-19 Symyx Technologies, Inc. High throughput preparation and analysis of materials
US20030149933A1 (en) * 2002-02-01 2003-08-07 Marco Falcioni Graphical design of chemical discovery processes
WO2003079027A1 (en) 2002-03-11 2003-09-25 Meso Scale Technologies, Llc. System and method for flexibly representing and processing assay plates
US6928877B2 (en) * 2002-05-24 2005-08-16 Symyx Technologies, Inc. High throughput microbalance and methods of using same
US7491367B2 (en) * 2002-06-04 2009-02-17 Applera Corporation System and method for providing a standardized state interface for instrumentation
AU2003261380A1 (en) * 2002-08-06 2004-02-23 Ssci, Inc. Method of comparing x-ray diffraction patterns using the fundamental parameter method
DE10240104A1 (de) * 2002-08-30 2004-03-11 Siemens Ag Verfahren zur Verarbeitung von Daten
US20040123650A1 (en) * 2002-09-17 2004-07-01 Symyx Technologies, Inc. High throughput rheological testing of materials
US7213034B2 (en) 2003-01-24 2007-05-01 Symyx Technologies, Inc. User-configurable generic experiment class for combinatorial materials research
US20040219602A1 (en) * 2003-03-01 2004-11-04 Symyx Technologies, Inc. Evaluating effects of exposure conditions on drug samples over time
WO2004086027A2 (en) * 2003-03-21 2004-10-07 Symyx Technologies, Inc. Mechanical resonator
US7721590B2 (en) * 2003-03-21 2010-05-25 MEAS France Resonator sensor assembly
US7840943B2 (en) * 2003-08-08 2010-11-23 Oracle America, Inc. Method and apparatus for transferring data in a distributed testing system
US20050182775A1 (en) * 2003-12-01 2005-08-18 George Fitzgerald Method of storing fast throughput experimentation information in a database
US20050273272A1 (en) * 2004-04-22 2005-12-08 Applera Corporation, A Delaware Corporation System and method for laboratory-wide information management
US20060048128A1 (en) * 2004-09-01 2006-03-02 Roth Steven T Module preparation scripts
US7705157B2 (en) * 2004-12-16 2010-04-27 Symyx Solutions, Inc. Phenol-heterocyclic ligands, metal complexes, and their uses as catalysts
WO2007022110A2 (en) * 2005-08-12 2007-02-22 Symyx Technologies, Inc. Event-based library process design
EP1973655B1 (de) 2005-12-16 2013-03-20 Dow Global Technologies LLC Polydentat-heteroatom-ligand mit metallkomplexen, katalysatoren sowie herstellungs- und verwendungsverfahren dafür
US7631286B2 (en) 2005-12-30 2009-12-08 Wafertech Llc Automated metrology recipe generation
US8555206B2 (en) * 2007-12-21 2013-10-08 Fisher-Rosemount Systems, Inc. Methods and apparatus to present recipe progress status information
US20090286944A1 (en) * 2008-05-15 2009-11-19 Symyx Technologies, Inc. Select phenol-heterocycle ligands, metal complexes formed therefrom, and their uses as catalysts
US10699223B1 (en) * 2009-08-13 2020-06-30 Amazon Technologies, Inc. System and method for resource allocation across distinct processes of a materials handling facility
US20110202177A1 (en) * 2010-02-15 2011-08-18 Siemens Medical Solutions Usa, Inc. Intuitive Graphical User Interface for Carrying Out Chemical Reactions
US10013252B2 (en) * 2010-04-16 2018-07-03 Oracle International Corporation Software development compliance system
US9235337B2 (en) 2013-05-09 2016-01-12 Mitutoyo Corporation System, GUI and method for editing step and repeat operation instructions in a machine vision inspection system

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291587A (en) 1986-04-14 1994-03-01 National Instruments, Inc. Graphical system for executing a process and for programming a computer to execute a process, including graphical variable inputs and variable outputs
US4914568A (en) 1986-10-24 1990-04-03 National Instruments, Inc. Graphical system for modelling a process and associated method
US4901221A (en) 1986-04-14 1990-02-13 National Instruments, Inc. Graphical system for modelling a process and associated method
US4829445A (en) * 1987-03-11 1989-05-09 National Semiconductor Corporation Distributed routing unit for fully-automated flexible manufacturing system
WO1991006050A1 (en) 1989-10-17 1991-05-02 Applied Biosystems, Inc. Robotic interface
US5355304A (en) 1990-01-30 1994-10-11 Demoranville Victoria E Clinical laboratory work-flow system which semi-automates validated immunoassay and electrophoresis protocols
WO1991016675A1 (en) 1990-04-06 1991-10-31 Applied Biosystems, Inc. Automated molecular biology laboratory
US5499193A (en) 1991-04-17 1996-03-12 Takeda Chemical Industries, Ltd. Automated synthesis apparatus and method of controlling the apparatus
US5506787A (en) 1992-08-31 1996-04-09 Siemens Aktiengesellschaft Configurable man-machine communication structure for machine tool or robot control systems
US5576946A (en) 1993-09-30 1996-11-19 Fluid Air, Inc. Icon based process design and control system
US6034681A (en) * 1993-12-17 2000-03-07 International Business Machines Corp. Dynamic data link interface in a graphic user interface
US5571639A (en) 1994-05-24 1996-11-05 Affymax Technologies N.V. Computer-aided engineering system for design of sequence arrays and lithographic masks
US5694546A (en) * 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US5546301A (en) 1994-07-19 1996-08-13 Honeywell Inc. Advanced equipment control system
US5611059A (en) 1994-09-02 1997-03-11 Square D Company Prelinked parameter configuration, automatic graphical linking, and distributed database configuration for devices within an automated monitoring/control system
US5985356A (en) * 1994-10-18 1999-11-16 The Regents Of The University Of California Combinatorial synthesis of novel materials
US6030917A (en) * 1996-07-23 2000-02-29 Symyx Technologies, Inc. Combinatorial synthesis and analysis of organometallic compounds and catalysts
US6045671A (en) * 1994-10-18 2000-04-04 Symyx Technologies, Inc. Systems and methods for the combinatorial synthesis of novel materials
US5623592A (en) 1994-10-18 1997-04-22 Molecular Dynamics Method and apparatus for constructing an iconic sequence to operate external devices
US5795716A (en) 1994-10-21 1998-08-18 Chee; Mark S. Computer-aided visualization and analysis system for sequence evaluation
US5614608A (en) 1995-01-20 1997-03-25 Selectide Corporation Apparatus and method for multiple synthesis of organic compounds on polymer support
GB9501378D0 (en) * 1995-01-24 1995-03-15 Ibm A system and method for establishing a communication channel over a heterogeneous network between a source node and a destination node
US5737498A (en) 1995-07-11 1998-04-07 Beckman Instruments, Inc. Process automation method and apparatus
US5812394A (en) 1995-07-21 1998-09-22 Control Systems International Object-oriented computer program, system, and method for developing control schemes for facilities
US5880972A (en) 1996-02-26 1999-03-09 Pharmacopeia, Inc. Method and apparatus for generating and representing combinatorial chemistry libraries
CA2198433A1 (en) 1996-03-22 1997-09-23 Sheila Helen Hobbs Dewitt Information management system for automated multiple simultaneous synthesis
US5801942A (en) 1996-04-12 1998-09-01 Fisher-Rosemount Systems, Inc. Process control system user interface including selection of multiple control languages
US5862052A (en) 1996-04-12 1999-01-19 Fisher-Rosemount Systems, Inc. Process control system using a control strategy implemented in a layered hierarchy of control modules
US5960200A (en) * 1996-05-03 1999-09-28 I-Cube System to transition an enterprise to a distributed infrastructure
US6044212A (en) 1996-05-24 2000-03-28 Advanced Life Sciences, Inc. Use of automated technology in chemical process research and development
US6175816B1 (en) 1997-05-23 2001-01-16 Advanced Life Sciences, Inc. Use of automated technology in chemical process research and development
US5781190A (en) * 1996-06-05 1998-07-14 Microsoft Corporation Method and system for transferring a slide presentation between computers
CA2301230A1 (en) 1996-09-20 1998-03-26 Digital Drives, Inc. Spatially addressable combinatorial chemical arrays in cd-rom format
AU4662097A (en) 1996-10-01 1998-04-24 Symyx Technologies, Inc. Potential masking systems and methods for combinitorial library synthesis
WO1998015825A2 (en) 1996-10-07 1998-04-16 Irori Matrices with memories in automated drug discovery and units therefor
US6088693A (en) * 1996-12-06 2000-07-11 International Business Machines Corporation Data management system for file and database management
US6339775B1 (en) * 1997-11-07 2002-01-15 Informatica Corporation Apparatus and method for performing data transformations in data warehousing
US6014670A (en) * 1997-11-07 2000-01-11 Informatica Corporation Apparatus and method for performing data transformations in data warehousing
US6003040A (en) * 1998-01-23 1999-12-14 Mital; Vijay Apparatus and method for storing, navigating among and adding links between data items in computer databases
US6339795B1 (en) * 1998-09-24 2002-01-15 Egrabber, Inc. Automatic transfer of address/schedule/program data between disparate data hosts
US6240335B1 (en) * 1998-12-14 2001-05-29 Palo Alto Technologies, Inc. Distributed control system architecture and method for a material transport system
US6507945B1 (en) 1999-05-05 2003-01-14 Symyx Technologies, Inc. Synthesizing combinatorial libraries of materials

Also Published As

Publication number Publication date
EP1175645A1 (de) 2002-01-30
WO2000067086A1 (en) 2000-11-09
AU4701300A (en) 2000-11-17
DK1175645T3 (da) 2003-11-10
EP1175645B1 (de) 2003-07-16
US6507945B1 (en) 2003-01-14
DE60003913D1 (de) 2003-08-21
CA2370573A1 (en) 2000-11-09
ATE245286T1 (de) 2003-08-15
JP2002542943A (ja) 2002-12-17

Similar Documents

Publication Publication Date Title
DE60003913T2 (de) Kombinatorische erzeugung von materialbibliotheken
EP2713166B1 (de) Laborautomat und Verfahren zur automatischen Behandlung von Laborproben
DE69828800T2 (de) Herstellungschnittstelle für ein integriertes schaltungsprüfsystem
DE60019588T2 (de) Verfahren, vorrichtung, hergestellter gegenstand und benutzeroberflächen für die automatische präparierung von biologischen tests und die reinigung von makromolekülen
US7937502B2 (en) Instrumentation control software
DE10147115B4 (de) Verwendung von entfernt gelegenen Softphasen in einem Prozeßsteuerungssystem
DE69913201T2 (de) Verfahren und vorrichtung zur steuerung eines systems mit hierarchischen zustandsautomaten
DE4110144A1 (de) Rohstoff-produktgruppen-zuweisungskoordinator
DE60210406T2 (de) Erhöhung des durchsatzes in einem automatischen klinischen analysierer durch aufteilen von assays nach typ
DE10131531A1 (de) Kampagnenmanagement für Chargenprozesse
DE19940078A1 (de) Verteiltes Stapelverarbeitungssystem und Verfahren
DE10039538A1 (de) Vorrichtung und Methode zum Analysieren der Leistung eines Computerprogramms
DE60105675T2 (de) Microarray sowie dafür geeignetes Herstellungs- und Aufgabestiftabstandskorrekturverfahren
DE4312093A1 (de) Automatisches Analysensystem
DE112019004910T9 (de) Automatische Proben- und Standardaufbereitung auf Grundlage der Erkennung von Probenidentität und Probentyp
DE112014004154T5 (de) Automatische Analysevorrichtung
DE19615683A1 (de) Verfahren und Steuereinrichtung für eine graphische Steuerung von Abläufen in einem Netzwerkmanagementsystem
DE60125389T2 (de) Flexibler protokollerzeuger
DE10203776A1 (de) Methode für branchenspezifische Software-Bibliothek zur Erstellung von Kundenapplikationen in Industrieunternehmen (Industry Suite)
EP3742171B1 (de) Steuerungseinrichtung für pipettierautomaten
US7409250B2 (en) Method and apparatus for the development of a control process for an instrument
EP1490762B1 (de) Verfahren, software-produkt und system zur universellen computergestuetzten informationsverarbeitung
DE102010043405A1 (de) Verfahren und System zur Planung mechatronischer Systeme mit Mechatronikeinheiten
WO1999027427A1 (de) Virtueller roboter
DE112021001506T5 (de) Geordnete auswahlliste für den flüssigkeitstransfer

Legal Events

Date Code Title Description
8363 Opposition against the patent
8331 Complete revocation