DE102014103482A1 - Graphische Benutzeroberfläche eines Computers mit genomischem Arbeitsablauf - Google Patents

Graphische Benutzeroberfläche eines Computers mit genomischem Arbeitsablauf Download PDF

Info

Publication number
DE102014103482A1
DE102014103482A1 DE102014103482.1A DE102014103482A DE102014103482A1 DE 102014103482 A1 DE102014103482 A1 DE 102014103482A1 DE 102014103482 A DE102014103482 A DE 102014103482A DE 102014103482 A1 DE102014103482 A1 DE 102014103482A1
Authority
DE
Germany
Prior art keywords
module
data
sequence
workflow
modules
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.)
Pending
Application number
DE102014103482.1A
Other languages
English (en)
Inventor
Lekan Wang
Hyunghoon Cho
Abimanyu Raja
Elizabeth Caudill
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.)
Palantir Technologies Inc
Original Assignee
Palantir 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
Application filed by Palantir Technologies Inc filed Critical Palantir Technologies Inc
Publication of DE102014103482A1 publication Critical patent/DE102014103482A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B45/00ICT specially adapted for bioinformatics-related data visualisation, e.g. displaying of maps or networks
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/10Ontologies; Annotations

Abstract

Es sind Verfahren und Computereinrichtungen offenbart, um Genomdaten in zumindest teilweise automatisierten Arbeitsabläufen von Modulen zu verarbeiten. Ein Verfahren umfasst Folgendes: Angeben einer Quelle von der eine oder mehrere Nukleotidsequenzen erhalten werden können; Auswählen eines oder mehrerer Module zum Verarbeiten von Daten, einschließlich mindestens eines Moduls zum Verarbeiten der einen oder mehreren Nukleotidsequenzen; Darstellen von graphischen Komponenten in einer graphischen Benutzeroberfläche, die die Quelle und das oder die Module als Knoten in einem Arbeitsbereich repräsentieren; Empfangen von Eingaben über die graphische Benutzeroberfläche, die die Quelle und das oder die Module als ein Arbeitsablauf anordnen, der eine Abfolge von Knoten umfasst, wobei die Abfolge für jedes bestimmte Modul anzeigt, dass eine Ausgabe von entweder der Quelle oder einem anderen bestimmten Modul in das bestimmte Modul eingegeben werden soll; Erzeugen einer Ausgabe für den Arbeitsablauf, gestützt auf die eine oder mehreren Nukleotidsequenzen, indem jedes Modul in einer Reihenfolge ausgeführt wird, die durch die Abfolge angezeigt ist.

Description

  • ERFINDUNGSGEBIET
  • Die vorliegende Erfindung betrifft Datenverarbeitungstechniken für Genomdaten, etwa Daten, die Nukleotidsequenzen beschreiben.
  • HINTERGRUND
  • Die Ansätze, die in diesem Abschnitt beschrieben werden, sind Ansätze, die verfolgt werden könnten, aber nicht notwendigerweise Ansätze, die schon früher erdacht oder verfolgt wurden. Daher sollte, außer es ist anderweitig angezeigt, nicht angenommen werden, dass irgendwelche der Ansätze, die in diesem Abschnitt beschrieben sind, nur aufgrund der Aufnahme in diesen Abschnitt den Stand der Technik wiedergeben.
  • Es existieren eine breite Vielfalt von Genomdaten, einschließlich, ohne Einschränkung, Datenstrukturen wie DNS-Sequenzen und Proteinsequenzen, Annotationen zu diesen Strukturen und Veröffentlichungen. Genomdaten können von einer breiten Vielfalt von Quellen erhalten werden. Sequenzdaten sind beispielsweise eine Art von Genomdaten. Übliche Quellen von Sequenzdaten umfassen netzbasierte Datenbanken, etwa GenBank, die von dem United States National Institute of Health bereitgestellt wird, das European Nucleotide Archive (”ENA”) und die Protein Data Bank, betrieben vom Research Collaboratory for Structural Bioinformatics. Diese Quellen erlauben es dem Nutzer, auf Sequenzdaten in einer Vielzahl von Formaten zuzugreifen, etwa Plain-Text-Dateien oder Dateien im FASTA-Format. Im Allgemeinen umfassen die Sequenzdaten einen Header mit einem Sequenzbezeichner und anderen Metadaten und einen Körper, der eine Sequenz umfasst. Auf die Sequenzdaten kann in einer Vielzahl von Weisen zugegriffen werden, einschließlich auf Seiten in einer Webseite, Dateien, die über HTTP- und/oder FTP-Protokolle heruntergeladen werden können, oder mittels einer REST-basierten Programmierschnittstelle.
  • Eine andere Art von Genomdaten besteht aus Annotationen. Annotationen können beispielsweise Forschungsergebnisse umfassen, die sich auf spezielle Stellen einer Sequenz beziehen, etwa eine Beobachtung, dass eine Stelle eine Bindungsstelle für ein bestimmtes Protein oder eine Variante einer bestimmten Krankheit ist. Der UC Santa Cruz (UCSC) Genome Browser ist eine beliebte netzbasierte Schnittstelle, mit der man auf verschiedene Quellen von Annotationsdaten zugreifen kann. Jeder Sequenzbezeichner kann mit einem oder mehreren Annotationseinträgen verknüpft sein und jeder Eintrag kann mit einer oder mehreren speziellen Stellen in einer Sequenz verknüpft sein.
  • Es gibt auch eine breite Vielfalt von Werkzeugen zum Verarbeiten von Genomdaten. Eine häufige Klasse von Werkzeugen aliniert beispielsweise Sequenzen und vergleicht diese Sequenzen. Manche dieser Werkzeuge sind in „Computer Graphical User Interface Supporting Aligning Genomic Sequences” mit der Attorney Docket Number 60152-0017 beschrieben, eingereicht am selben Tag wie diese Anmeldung, deren Inhalt hier durch Bezugnahme für alle Zwecke so einbezogen ist, als wäre sie in ihrer Gesamtheit angegeben. Ein weiteres Beispiel-Werkzeug ist BLAST, ein netzbasiertes Werkzeug zum Identifizieren von Ähnlichkeiten zwischen einem unbekannten Protein und bekannten Proteinen. Eine Anzahl von Beispielalgorithmen zur Verarbeitung von Genomdaten sind in „Biological Sequence Analysis: Probabilistic Models of Proteins and Nucleic Acids” von Richard Durbin, Cambridge University Press 1998, beschrieben, dessen gesamter Inhalt hier durch Bezugnahme für alle Zwecke so einbezogen ist, als wäre es in seiner Gesamtheit angegeben. Diese und andere Werkzeuge identifizieren im Allgemeinen zu verarbeitende Genomdaten gestützt auf Eingaben, etwa Eingaben, die Sequenzen angeben, oder Eingaben, gestützt auf die Sequenzen gewonnen oder abgeleitet werden können. Die Werkzeuge führen dann einen oder mehrere Verarbeitungsalgorithmen mit Bezug auf die Genomdaten aus, etwa statistische Analysen, Vergleiche, Suchvorgänge, Filteroperationen, Bearbeitungen usw. Die Werkzeuge erstellen dann einen Bericht aller Ergebnisse der Verarbeitung.
  • Die Analyse von Genomdaten ist zu einer zunehmend wichtigeren Aufgabe geworden. Leider sind solche Analysen oft komplex, da sie auf großen Mengen von getrennten Datenquellen und nicht mit einander verbundenen Werkzeugen beruhen. Ein Forscher kann beispielsweise daran interessiert sein, zu ermitteln, wie Abweichungen in einer bestimmten Gensequenz eine bestimmte Krankheit beeinflussen. Der Forscher kann die Analyse beginnen, indem er eine Sequenz aus einer Datenbank abruft. Der Forscher kann dann die Sequenz mittels eines ersten Werkzeugs als ein Protein kodieren, Varianten des Proteins mittels eines zweiten Werkzeugs berechnen und eine Ähnlichkeitssuche im großen Stil über noch andere Datenbanken ausführen, um Arten zu finden, die ähnliche Proteine haben. Der Forscher kann dann auf noch andere Werkzeuge und Datenbanken zugreifen, um nach Sequenzen in diesen Arten zu suchen, die für das Protein kodieren, und schließlich einen Algorithmus zur Motivsuche ausführen, um andere Proteine zu identifizieren, die an das Protein binden. Als Konsequenz der Komplexität dieser Aufgabe kann die Arbeit des Forschers unorganisiert und schwierig zu reproduzieren oder auf andere Sequenzen auszudehnen sein.
  • Während diese Anmeldung sich oft auf Genomdaten bezieht, sind viele der Techniken, die hier beschrieben sind, in Wirklichkeit auf jede Art von Daten anwendbar. Andere Verwendungen der hier beschriebenen Techniken können, ohne Einschränkung, Datenanalyse im Gebiet der Verarbeitung von natürlicher Sprache, der Sozialwissenschaften, finanzieller Daten, der historischen und komparativen Linguistik und der Marktforschung umfassen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • In den Figuren:
  • 1 zeigt ein beispielhaftes Flussdiagramm zur Verwendung eines Arbeitsablaufs;
  • 2 ist ein Blockdiagramm eines beispielhaften Systems, in dem die hier beschriebenen Techniken angewendet werden können;
  • 3 ist ein Screenshot, der eine beispielhafte Schnittstelle zeigt, um die hier beschriebenen Techniken anzuwenden;
  • 4 ist ein Screenshot, der die Darstellung von Datenknoten in der beispielhaften Schnittstelle zeigt;
  • 5 ist ein Screenshot, der die Bedienelemente zum Importieren von Daten in die beispielhafte Schnittstelle zeigt;
  • 6 ist ein Screenshot, der das Hinzufügen eines Datenknotens zu dem Arbeitsbereich der beispielhaften Schnittstelle zeigt;
  • 7 ist ein Screenshot, der das Hinzufügen eines Vorgangsknotens zu dem Arbeitsbereich der beispielhaften Schnittstelle zeigt;
  • 8 ist ein Screenshot, der Bedienelemente zum Verbinden von Knoten in dem Arbeitsbereich der beispielhaften Schnittstelle zeigt;
  • 9 ist ein Screenshot, der verbundene Knoten in dem Arbeitsbereich der beispielhaften Schnittstelle zeigt;
  • 10 ist ein Screenshot, der das Ausführen eines Teils des Arbeitsablaufs mittels der beispielhaften Schnittstelle zeigt;
  • 11 ist ein Screenshot, der das Interagieren mit einer Ausgabe von einem Vorgangsknoten in dem Arbeitsablauf mittels der beispielhaften Schnittstelle zeigt;
  • 12 ist ein Screenshot, der den Arbeitsbereich mit verschiedenen Arten von Knoten von dem Arbeitsablauf zeigt;
  • 13 ist ein Screenshot, der eine automatisierte Kette von Knoten zum Abrufen von Veröffentlichungen aus einer Datenbank mittels der Benutzeroberfläche zeigt;
  • 14 ist ein Paar von Screenshots, die das Aufteilen von Daten von einem Datenknoten zeigen, um einen neuen Datenknoten in dem Arbeitsbereich der Benutzeroberfläche zu erzeugen; und
  • 15 ist ein Blockdiagramm, das ein Computersystem zeigt, auf dem eine Ausführungsform der Erfindung implementiert werden kann.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung sind, zum Zweck der Erklärung, viele spezifische Details angegeben, um ein vollständiges Verständnis der vorliegenden Erfindung zu ermöglichen. Es wird jedoch deutlich, dass die vorliegende Erfindung ohne diese spezifischen Details ausgeführt werden kann. In anderen Fällen sind bekannte Strukturen und Vorrichtungen in Form eines Blockdiagramms gezeigt, um zu vermeiden, die vorliegende Erfindung unnötig zu verdunkeln.
  • 1.0. ALLGEMEINER ÜBERBLICK
  • Es sind Verfahren und Computervorrichtungen offenbart, um Genomdaten in zumindest teilweise automatisierten Arbeitsabläufen von Modulen zu verarbeiten. Gemäß einer Ausführungsform umfasst ein Verfahren Folgendes: Empfangen einer ersten Eingabe, die eine Quelle angibt, aus der eine oder mehrere Nukleotidsequenzen erhalten werden. Das Verfahren umfasst weiter das Empfangen einer oder mehrerer zweiter Eingaben, die eine oder mehrere Module zum Verarbeiten der Daten auswählen, einschließlich zumindest eines Moduls zum Verarbeiten der einen oder mehreren Nukleotidsequenzen. Das Verfahren umfasst weiter das Darstellen von graphischen Komponenten, die die Quelle und das eine oder die mehreren Module als Knoten in einem Arbeitsbereich darstellen, in einer graphischen Benutzeroberfläche. Das Verfahren umfasst weiter das Empfangen einer oder mehrerer dritter Eingaben über die graphische Benutzeroberfläche, die die Quelle und das eine oder die mehreren Module als ein Arbeitsablauf anordnen, der eine Abfolge von Knoten umfasst. Die Abfolge zeigt an, dass für jedes bestimmte Modul der ausgewählten Module die Ausgabe von entweder einer der Quellen oder einem anderen bestimmten Modul in das bestimmte Modul eingegeben werden soll. Das Verfahren umfasst weiter das Erzeugen einer Ausgabe für den Arbeitsablauf, gestützt auf die eine oder mehreren Nukleotidsequenzen, indem jedes Modul des einen oder der mehreren Module in einer Reihenfolge verarbeitet wird, die durch die Abfolge angeben ist. Das Verfahren wird durch eine oder mehrere Computervorrichtungen verarbeitet.
  • In einer Ausführungsform erzeugt jedes Modul des einen oder der mehreren Module eine Ausgabe, die einer Ontologie entspricht, die Datenstrukturen definiert, die Genomdaten repräsentieren. Die Datenstrukturen umfassen zumindest Sequenzen, Proteinobjekte, Alignment-Objekte, Annotationen und Veröffentlichungen.
  • In einer Ausführungsform umfasst das Verfahren weiter das Erzeugen eines Datenknotens aus der Ausgabe. Der Datenknoten umfasst Elemente von Genomdaten. Der Datenknoten ist mit dem letzten Modul in der Abfolge verbunden. Das Verfahren umfasst weiter das Empfangen einer vierten Eingabe, die ein Element der Genomdaten zu dem Datenknoten hinzufügt oder von ihm entfernt, über die graphische Benutzeroberfläche. Das Verfahren umfasst weiter das Empfangen einer fünften Eingabe, die ein bestimmtes Modul auswählt, um den Datenknoten zu verarbeiten, über die graphische Benutzeroberfläche. Das Verfahren umfasst weiter das Hinzufügen des bestimmten Moduls zu dem Ende der Abfolge. Das Verfahren umfasst weiter das Erzeugen einer zweiten Ausgabe für den Arbeitsablauf, gestützt auf die eine oder mehreren Nukleotidsequenzen, indem jedes Modul in der Abfolge, einschließlich des bestimmten Moduls, in der Reihenfolge verarbeitet wird, die durch die Abfolge angezeigt ist.
  • In einer Ausführungsform umfassen das eine oder die mehreren Module eine Mehrzahl von Modulen, wobei das Erzeugen der Ausgabe für den Arbeitsablauf das Verwenden der Ausgabe von der Quelle als Eingabe für das erste Modul und das Verwenden der Ausgabe von dem ersten Modul als Eingabe für ein zweites Modul umfasst. In einer Ausführungsform ist das mindestens eine Modul so konfiguriert, dass es eine oder mehrere Nukleotidsequenzen verarbeitet, indem es mit mindestens einem externen Webserver und/oder einem externen Datenbankserver kommuniziert.
  • In einer Ausführungsform umfasst das Verfahren weiter das Speichern von Arbeitsablauf-Daten, die die Abfolge beschreiben. Das Verfahren umfasst weiter das Veranlassen, dass die Arbeitsablauf-Daten mit mehreren Nutzern geteilt werden. Das Verfahren umfasst weiter das nachfolgende Wiederherstellen der Abfolge in einer zweiten graphischen Benutzeroberfläche, gestützt auf die Arbeitsablauf-Daten. Das Verfahren umfasst weiter das Empfangen einer vierten Eingabe über die zweite graphische Benutzeroberfläche, die die Abfolge so modifiziert, dass sie ein oder mehrere zusätzliche Module aufweist. Das Verfahren umfasst weiter das Erzeugen einer zweiten Ausgabe, gestützt auf die eine oder mehreren Nukleotidsequenzen, indem jedes Modul in der Abfolge, einschließlich des einen oder der mehreren zusätzlichen Module, in einer Reihenfolge verarbeitet wird, die durch die Abfolge angegeben ist.
  • In einer Ausführungsform umfassen das eine oder die mehreren Module ein erstes Modul, das eine erste Ausgabe erzeugt, gestützt auf die Quelle, und ein zweites Modul, das die erste Ausgabe mit einer zweiten Ausgabe von einem dritten Modul mischt, das nicht in der Abfolge ist, wobei die Quelle, das erste Modul, das zweite Modul und das dritte Modul alle Knoten in einem Arbeitsablauf sind. In einer Ausführungsform umfasst das Verfahren weiter das Darstellen von Bedienelementen zum Auswählen des einen oder der mehreren Module, wobei die Bedienelemente zumindest Folgendes umfassen: ein erstes Bedienelement zum Auswählen eines ersten Moduls, das nach Veröffentlichungen in einer Online-Datenbank sucht, gestützt auf Genomdaten, ein zweites Bedienelement zum Auswähle eines zweiten Moduls, das ein Sequenz-Alignment für mehrere Sequenzen ausgibt, und ein drittes Bedienelement zum Auswählen eines dritten Moduls, das Proteinfamilien für eine Nukleotidsequenz identifiziert.
  • In einer Ausführungsform umfasst das Empfangen der einen oder mehreren dritten Eingaben das Darstellen von visuellem Feedback, während ein erster Knoten ausgewählt wurde, das anzeigt, dass Genomdaten-Ausgaben von dem ersten Knoten als Eingabe mit einem zweiten Knoten verknüpft werden können. In einer Ausführungsform umfassen das eine oder die mehreren Module mindestens zwei Module, und das Verarbeiten jedes der Module des einen oder der mehreren Module in einer Reihenfolge, die durch die Abfolge angezeigt ist, umfasst das automatische Verarbeiten jedes der Module ohne menschlichen Eingriff zwischen dem Start der Verarbeitung des ersten Moduls in der Abfolge und dem Erzeugen der Ausgabe, indem die Verarbeitung des letzten Moduls in der Abfolge abgeschlossen wird.
  • Unter anderen Aspekten umfasst die Erfindung eine Computervorrichtung und ein computerlesbares Medium, das konfiguriert ist, um die vorangegangenen Schritte auszuführen.
  • 2.0. FUNKTIONALER ÜBERBLICK
  • In einer Ausführungsform wird die Verarbeitung und Untersuchung von Genomdaten durch die Verwendung einer Konstruktion, die hier als „Arbeitsablauf” bezeichnet wird, stark vereinfacht. Anstatt jeden Schritt einer Forschungs- oder Datenverarbeitungsaufgabe manuell auszuführen oder anstatt ein proprietäres Skript zu schreiben, um diese Schritte auszuführen, kann ein Forscher die hier beschriebenen Techniken verwenden, um einen wiederverwendbaren und leicht modifizierbaren Arbeitsablauf zu erzeugen, der diese getrennten Schritte in einer verbundenen Konstruktion verkettet und manche oder alle der Schritte einer Aufgabe in einer automatisierten Art und Weise ausführt, mit minimalem oder ohne Eingreifen des Nutzers.
  • 2.1. ARBEITSABLÄUFE
  • Wie es hier verwendet wird, ist ein Arbeitsablauf eine Menge von verbundenen Knoten, die Mengen von Daten repräsentieren, und Vorgängen, die auf diesen Mengen von Daten ausgeführt werden sollen. Im Allgemeinen bilden die verbundenen Knoten eine oder mehrere geordnete Abfolgen von Knoten. Bestimmte Knoten in einer Abfolge repräsentieren einen Vorgang, während andere Knoten Daten repräsentieren, die von einem Vorgang ausgegeben wurden, der von einem vorangegangen Knoten in der Abfolge repräsentiert wird, und/oder Eingaben für einen Vorgang, der von einem nachfolgenden Knoten in der Abfolge repräsentiert wird. Der erste Knoten eines Arbeitsablaufs kann beispielsweise einen Data-Mining-Vorgang repräsentieren, der Daten aus einer Quelle abruft, der zweite Knoten des Arbeitsablaufs kann die Daten repräsentieren, die von dieser Quelle ausgegeben wurden, der dritte Knoten des Arbeitsablaufs kann einen Vorgang repräsentieren, der auf diesen Daten ausgeführt werden soll, der vierte Knoten kann eine Datenmenge repräsentieren, die sich aus diesem Vorgang ergibt usw.
  • Ein Arbeitsablauf kann eine beliebige Anzahl von Knoten umfassen. Die Nützlichkeit des Arbeitsablauf-Modells wird jedoch im Allgemeinen am besten in einer Abfolge von Knoten realisiert, die zwei oder mehr Vorgangsknoten umfasst. Des Weiteren kann ein Arbeitsablauf Verzweigungen aufweisen. Manche dieser Verzweigungen können zusammengeführt werden. Mehrere Vorgänge können beispielsweise eine einzige Datenmenge erzeugen, oder mehrere Datenmengen können in einen einzigen Vorgang eingegeben werden. Andere Verzweigungen spalten sich auf. eine Datenmenge kann beispielsweise in zwei getrennte Vorgänge eingegeben werden, oder ein Vorgang kann mehrere ähnliche oder unähnliche Datenmengen erzeugen.
  • Eine beispielhafte Implementierung eines Arbeitsablaufs ist in „Document-Based Workflows”, U.S.-Patentanmeldung 2010/0070464, veröffentlicht am 18. März 2010, beschrieben. „Document-Based Workflows” beschreibt Arbeitsabläufe, in denen ein einziger Knotentyp, der als Dokument bezeichnet wird, als Vorgangsknoten und/oder als Datenknoten wirken kann, mit den Bedeutungen, die hier beschrieben sind. Daher sind viele der Techniken, die dort beschrieben sind, auf die hier beschriebenen Arbeitsabläufe anwendbar. Der Inhalt von „Document-Based Workflows” ist hiermit durch Bezugnahme für alle Zwecke so aufgenommen, als wäre er in seiner Gesamtheit hier angegeben.
  • DATENKNOTEN
  • Arbeitsablauf-Knoten, die Daten repräsentieren, werden hier als Datenknoten bezeichnet. Datenknoten können Datenmengen umfassen, die von einer Datenquelle importiert wurden, etwa eine Sequenzdatenbank oder eine Bibliothek von Veröffentlichungen, Suchergebnisse, manuell eingegebene Daten von einem Nutzer und/oder Ausgabedaten von einem Vorgangsknoten. Die Datenmengen, die von einem Datenknoten repräsentiert werden, sind ein oder mehrere Elemente ähnlichen Typs. Eine Datenmenge kann beispielsweise ein Array von Elementen sein. Elemente können jede Art von Datenstruktur umfassen. Im Kontext von Genomdaten umfassen Beispiel-Elemente beispielsweise, ohne Einschränkung, Sequenzen, Veröffentlichungen, Annotationen, Gendatenstrukturen, Proteindatenstrukturen, Motivdatenstrukturen, Krankheitsdatenstrukturen, Patientendatenstrukturen usw. Ein Datenknoten kann die Datenmenge, die er repräsentiert, direkt umfassen oder ein Datenknoten kann die Datenmenge indirekt umfassen, indem er auf den oder die Ort(e) verweist, an dem die Datenmenge sich befindet. Ein Datenknoten kann weiter Metadaten umfassen, die die Datenmenge beschreiben, etwa einen Datentyp, dem die Elemente in der Datenmenge entsprechen, Inhaltsangaben-Daten, Forschungsnotizen und/oder ein Verweis auf die ursprüngliche Quelle der Datenmenge, etwa einen oder mehrere Datensätze und/oder Vorgangsknoten.
  • In einer Ausführungsform kann eine Arbeitsablauf-Schnittstelle es einem Nutzer ermöglichen, mit jedem Datenknoten in einem Arbeitsablauf zum Zweck der Betrachtung zu interagieren. Daher kann ein Nutzer Datenknoten in bestimmten Positionen eines Arbeitsablaufs erzeugen, an denen der Nutzer Daten betrachten will, die von dem Arbeitsablauf verarbeitet werden. Die Arbeitsablauf-Schnittstelle kann beispielsweise den Datenknoten als Gruppe von benannten Elementen repräsentieren, wobei ein interaktives Bedienelement zu jedem Element gehört. Ein Nutzer kann das Bedienelement für ein Element auswählen, um auf verschiedene Schnittstellen zum Betrachten von Sequenzen, Metadaten, Analysen und anderen Informationen zuzugreifen, die zu dem ausgewählten Element gehören. Datenknoten können weiter andere Interaktionen erleichtern, wie in anderen Abschnitten beschrieben ist.
  • VORGANGSKNOTEN
  • Vorgangsknoten sind Knoten, die Vorgänge repräsentieren, die auf einer Datenmenge ausgeführt werden sollen. Ein Vorgangsknoten kann jede Art von Vorgang repräsentieren, der von einer Arbeitsablauf-Anwendung unterstützt wird. Beispiele von Vorgängen, die durch Vorgangsknoten repräsentiert werden können und die sich auf Genomdaten beziehen, sind in nachfolgenden Abschnitten beschrieben.
  • In einer Ausführungsform umfasst jeder Vorgangsknoten eine Referenz auf ein spezifisches Modul, das dafür verantwortlich ist, den Vorgang des Knotens auszuführen, und optional einen oder mehrere Konfigurationsparameter für dieses Modul. Ein Modul ist eine wiederverwendbare Ausführungseinheit, die einen Vorgang ausführt. Das Modul kann beispielsweise konkrete Befehle zum Ausführen eines Vorgangs umfassen, gestützt auf eine angegeben Menge von Daten. Oder das Modul kann Befehle umfassen, um die angegeben Menge von Daten an ein externes Werkzeug zu senden, etwa eine externe Laufzeitbibliothek oder einen externen Webserver, und dann ein etwaiges Ergebnis abrufen. In einer Ausführungsform unterstützt eine Arbeitsablauf-Anwendung eine erweiterbare Programmierschnittstelle, wobei Nutzer eine Vielzahl von unterschiedlichen Arten von Modulen definieren können, die jeweils unterschiedliche Vorgänge ausführen.
  • Ein Vorgangsknoten kann Metadaten umfassen, die den Knoten mit einem oder mehreren Eingabeknoten verbinden. Der Begriff Eingabeknoten bezieht sich auf jeden Datenknoten oder anderen Vorgangsknoten, der Daten erzeugt, auf denen ein bestimmter Vorgangsknoten einen Vorgang ausführt. Bestimmte Vorgangsknoten sind nicht notwendigerweise mit irgendeinem Eingabeknoten verbunden. Diese Vorgangsknoten können trotzdem eine implizierte oder vom Nutzer konfigurierbare Datenmenge haben, auf die die Vorgänge ausgeführt werden. Ein Vorgangsknoten kann beispielsweise einen Abfragevorgang auf eine Datenbank ausführen, in welchem Fall die Datenbank eine implizierte Datenmenge bildet, auf die der Abfragevorgang ausgeführt wird. Ein Vorgangsknoten kann auch Metadaten umfassen, die den Knoten mit einem oder mehreren Ausgabeknoten verbinden. Der Begriff Ausgabeknoten bezieht sich auf jeden anderen Knoten, einschließlich sowohl Datenknoten als auch Vorgangsknoten, an den Daten, die durch einen Vorgang erzeugt werden, der an einem bestimmten Knoten ausgeführt wird, gesendet werden. Manche Vorgangsknoten sind nicht notwendigerweise mit irgendwelchen Ausgabeknoten verbunden. Dies kann für Vorgangsknoten der Fall sein, die einen abschließenden Vorgang ausführen, etwa das Speichern von Ergebnissen, oder für Vorgangsknoten, die noch nicht ausgeführt wurden.
  • Der Einfachheit halber werden verschiedene Arbeitsabläufe in Form ihrer Vorgangsknoten beschrieben. Diese Arbeitsabläufe können jedoch auch dazwischen liegende Datenknoten haben, die Daten repräsentieren, mit denen der Nutzer interagieren kann.
  • TYPISIERTE DATEN
  • Ein Hindernis für die Kompatibilität zwischen verschiedenen genomischen Datenwerkzeugen liegt in der breiten Vielfalt von Formaten, die die unterschiedlichen Werkzeuge nutzen, um ihre Ergebnisse zu strukturieren. In einer Ausführungsform vereinfachen Arbeitsabläufe dieses Hindernis, indem sie die Ausgaben von verschiedenen Werkzeugen in definierte Datentypen umwandeln. Arbeitsabläufe können beispielsweise eine Menge von Datentypen nutzen, die durch ein bestimmtes Schema oder eine bestimmte Ontologie definiert sind. Das Schema oder die Ontologie können universelle Strukturen definieren, um gemeinsame Einheiten von Genomdaten zu repräsentieren, etwa Sequenzen, Proteine, Annotationen, Veröffentlichungen usw.
  • Anstatt mit mehrdeutig formatierten Plain-Text-Dateien zu arbeiten, entsprechen die Eingaben und Ausgaben jedes der Arbeitsablauf-Knoten standardisierten, vorhersagbaren Datentypen. Dies liegt daran, dass Vorgangsmodule Eingaben akzeptieren müssen, die einem festgelegten Datentyp entsprechen, und Ausgaben erzeugen müssen, die einem festgelegten Datentyp entsprechen. In einer Ausführungsform umfassen bestimmte Vorgangsmodule Metadaten oder sind mit ihnen verknüpft, die einen oder mehrere Eingabe- oder Ausgabe-Datentypen festlegen, die das Vorgangsmodul handhaben kann. Eine Arbeitsablauf-Anwendung erlaubt es einem Nutzer nur, einen bestimmten Vorgangsknoten mit anderen Vorgangsknoten zu verbinden, deren Vorgangsmodul Eingaben oder Ausgaben handhabt, die diesem einen oder diesen mehreren festgelegten Eingabe- oder Ausgabe-Datentypen entsprechen, oder Datenknoten, die Daten mit diesem einen oder diesen mehreren festgelegten Eingabe- oder Ausgabe-Datentypen umfassen.
  • Um das Problem der Verwendung von typisierten Daten in einem Arbeitsablauf zu vereinfachen, kann eine Arbeitsablauf-Anwendung verschiedene Datenkonvertierungskomponenten vorsehen. Ein Modul kann Ausgaben von einem externen Werkzeug an eine geeignete Konvertierungskomponente zusammen mit Informationen übertragen, die der Konvertierungskomponente dabei helfen, die Daten zu verstehen, etwa den Namen des Werkzeugs, von dem die Daten empfangen wurden. Die Konvertierungskomponente parst die Daten und erzeugt konvertierte Datenstrukturen, die darauf basieren. Ähnlich kann die Arbeitsablauf-Anwendung Konvertierungskomponenten bereitstellen, die die konvertierten Daten in übliche Eingabeformate konvertieren, die von verschiedenen Werkzeugen erwartet werden. Noch andere Module können solche Konvertierungen mittels ihres eigenen angepassten Codes ausführen.
  • 2.2. VERFAHRENSFLUSS DES ARBEITSABLAUFS
  • 1 zeigt ein beispielhaftes Flussdiagramm 100 zur Verwendung eines Arbeitsablaufs, gemäß einer Ausführungsform. Das Flussdiagramm 100 ist nur ein beispielhaftes Flussdiagramm zur Verwendung eines Arbeitsablaufs. Andere Flussdiagramme können weniger oder zusätzliche Elemente in möglicherweise abweichenden Anordnungen umfassen.
  • Block 110 umfasst das Empfangen einer ersten Eingabe, die eine Quelle angibt, von der eine oder mehrere Nukleotidsequenzen empfangen werden sollen. Die erste Eingabe definiert im Wesentlichen einen Datenknoten eines Arbeitsablaufs. Ein Datenknoten repräsentiert eine Datenmenge, die in diesem Fall eine oder mehrere Nukleotide sind, die von der Quelle empfangen werden. Beispiel-Quellen umfassen, ohne Einschränkung, eine oder mehrere Dateien in einem lokalen Dateisystem, eine Webseite, eine netzbasierte Suche, einen oder mehrere Datensätze, einen existierenden Arbeitsablauf, den Inhalt des Clipboards, eine Bibliothek von früher gespeicherten Sequenzen oder einen Vorgangsknoten. Eine Eingabe, die eine Quelle angibt, kann über jede geeignete Benutzeroberflächen-Technik empfangen werden. Eine beispielhafte Schnittstelle zum Angeben von Quellen ist in anderen Abschnitten beschrieben. Eine Eingabe, die eine Quelle angibt, kann stattdessen über eine Texteingabe empfangen werden, etwa in einer XML-Datei für einen früher gespeicherten Arbeitsablauf, oder über eine Kommandozeile.
  • Der Datenknoten, der durch die erste Eingabe definiert ist, ist nicht notwendigerweise der einzige Datenknoten in dem Arbeitsablauf noch der einzige Datenknoten, der in Block 110 definiert wird. Block 110 kann beispielsweise weiter das Empfangen von einer oder mehreren anderen Eingaben, die eine oder mehrere Quellen für andere Nukleotidsequenzen oder andere Arten von Genomdaten angeben.
  • Block 120 umfasst das Empfangen von einer oder mehreren zweiten Eingaben, die ein oder mehrere Module auswählen, um Daten zu verarbeiten. Die eine oder mehreren zweiten Eingaben können beispielsweise eine oder mehrere Vorgangsmodule auswählen, wie sie hier beschrieben sind. Daher definiert jede zweite Eingabe einen Vorgangsknoten für den Arbeitsablauf. Die eine oder mehreren zweiten Eingaben können weiter einen oder mehrere Konfigurationsparameter für das eine oder die mehreren Module angeben, wenn nötig. Die Vorgangsknoten, die durch die eine oder mehreren zweiten Eingaben definiert werden, sind nicht notwendigerweise alle der Vorgangsknoten in einem Arbeitsablauf und Block 120 kann weiter das Empfangen von einer oder mehreren anderen Eingaben umfassen, die andere Vorgangsknoten definieren.
  • Wie die erste Eingabe kann jede der zweiten Eingaben über jede geeignete Benutzeroberflächen-Technik empfangen werden, einschließlich derer, die in anderen Abschnitten beschrieben sind, oder über Texteingaben. In einer Ausführungsform werden die Module aus einer Menge von vorher definierten Modulen ausgewählt. In einer Ausführungsform können die vorher definierten Module sowohl Module umfassen, die von einem Anbieter einer Arbeitsablauf-Anwendung bereitgestellt werden, als auch vom Nutzer erzeugte Module. In einer Ausführungsform wählt eine zweite Eingabe ein Modul aus, das nicht vorher definiert wurde, sondern stattdessen durch die zweite Eingabe erzeugt wurde. Ein Nutzer kann beispielsweise Code oder andere Befehle für ein nicht wiederverwendbares Modul bereitstellen, während er den Arbeitsablauf definiert.
  • Block 130 umfasst das Darstellen von graphischen Komponenten in einer graphischen Benutzeroberfläche, die die Quelle und die ausgewählten Module repräsentieren. Die Darstellung kann beispielsweise getrennte Icons oder andere graphische Repräsentationen für die Quelle und für jedes der Module umfassen. Die Komplexität der graphischen Komponenten kann von Ausführungsform zu Ausführungsform schwanken. Manche Ausführungsformen können beispielsweise eine Quelle durch ein einfaches Icon darstellen, während andere Ausführungsformen eine Quelle darstellen können, indem sie in der graphischen Komponente, die zu der Quelle gehört, Bezeichner für manche oder alle der Datenelemente auflistet, die zu der Quelle gehören. Beispiele von geeigneten graphischen Komponenten sind hier beschrieben.
  • In einer Ausführungsform kann eine Arbeitsablauf-Anwendung Block 130 ausführen. Die Arbeitsablauf-Anwendung identifiziert die Quelle und das oder die Module, die durch die ersten und zweiten Eingaben angegeben wurden. Die Arbeitsablauf-Anwendung erzeugt dann eine visuelle Darstellung der Quelle und des oder der Module in einem Anwendungsarbeitsbereich. Der Anwendungsarbeitsbereich repräsentiert einen Arbeitsablauf, dem die Quelle und das oder die ausgewählten Module angehören.
  • In einer Ausführungsform geschehen die Blocks 110130 gleichzeitig. Ein Nutzer kann beispielsweise die erste Eingabe bereitstellen und die Arbeitsablauf-Anwendung kann unmittelbar antworten, indem sie eine graphische Komponente für die Quelle anzeigt. Der Nutzer kann nachfolgend jede der zweiten Eingaben bereitstellen und die Arbeitsablauf-Anwendung erzeugt eine neue graphische Komponente in Antwort auf jede zweite Eingabe.
  • Block 140 umfasst das Empfangen von einer oder mehreren dritten Eingaben, die die Quelle und das eine oder die mehreren Module in einer Abfolge anordnen. Die eine oder mehreren dritten Eingaben können beispielsweise eine vierte Eingabe umfassen, die die Quelle als ersten Knoten in einer Abfolge festlegt, und zusätzliche Eingaben, die das eine oder die mehreren Module in einer Abfolge nach der Quelle verbindet. Ähnlich wie die erste Eingabe kann jede der dritten Eingaben über jede geeignete Benutzeroberflächen-Technik empfangen werden, einschließlich derer, die in anderen Abschnitten beschrieben sind, oder über eine Texteingabe. In einer Ausführungsform werden die eine oder mehreren dritten Eingaben über die graphische Benutzeroberfläche empfangen. Eine dritte Eingabe kann beispielsweise das Ziehen eines Cursors von einer Ausgabe-Verbindungsstelle, die zu einer graphischen Darstellung der Quelle gehört, zu einer Eingabe-Verbindungsstelle, die zu einer graphischen Darstellung eines Moduls gehört, umfassen.
  • Die Abfolge zeigt an, dass für jedes bestimmte Modul der ausgewählten Module Ausgaben von entweder der Quelle oder einem anderen bestimmten Modul in das bestimmte Modul eingegeben werden sollen. Die Abfolge kann in Wirklichkeit mehr Knoten umfassen als nur die Quelle und das eine oder die mehreren Module. Die Quelle und das oder die Module können beispielsweise so angeordnet sein, dass sie einer existierenden Abfolge von Knoten nachfolgen und/oder andere Knoten können so angeordnet sein, dass sie der Quelle und dem oder den Modulen nachfolgen. Darüber hinaus kann der Arbeitsablauf in Wirklichkeit mehrere Abfolgen von Knoten umfassen. Ein Arbeitsablauf kann beispielsweise zwei Abfolgen umfassen, die vollständig von einander getrennt sind, oder der Arbeitsablauf kann eine Abfolge umfassen, die sich in ein anderes Modul in einer anderen Abfolge verzweigt oder von diesem abzweigt.
  • In einer Ausführungsform werden die eine oder mehreren dritten Eingaben über eine Schnittstelle empfangen, die den Typen von Knoten, die verbunden werden können, Bedingungen auferlegt. Wenn irgendeine Eingabe beispielsweise versucht, ein Modul nach einer Quelle oder einem anderen Modul anzuordnen, das einen Datentyp ausgibt, der von dem Modul nicht unterstützt wird, wird die Schnittstelle sich weigern, das Modul in der Art und Weise anzuordnen, die von der Eingabe angezeigt wird.
  • Block 150 umfasst das Aktualisieren der graphischen Benutzeroberfläche, um die Abfolge anzuzeigen, die von der einen oder den mehreren dritten Eingaben angeordnet wurde. Die Quelle und das oder die Module können beispielsweise in der graphischen Benutzeroberfläche in Übereinstimmung mit der Abfolge neu geordnet werden. Oder die Quelle und das oder die Module können mit einander durch Linien oder andere geeignete Verbindungselemente in einer Reihenfolge verbunden werden, die durch die Abfolge angezeigt ist. In einer Ausführungsform aktualisiert, in Antwort auf jede der dritten Eingaben, die graphische Benutzeroberfläche sich, um eine neue Anordnung anzuzeigen, anstatt zu warten, bis alle der einen oder mehreren dritten Eingaben empfangen wurden.
  • In einer Ausführungsform können die Blocks 140 und 150 gleichzeitig mit den Blocks 110130 ausgeführt werden. Der Nutzer kann beispielsweise eine Quelle und ein erstes Modul zu einem Arbeitsbereich hinzufügen und dann die Quelle mit dem ersten Modul verbinden. Der Nutzer kann dann ein zweites Moduls zu dem Arbeitsbereich hinzufügen und dann das zweite Modul mit dem ursprünglichen Modul verbinden. Die graphische Benutzeroberfläche kann sich fortlaufend aktualisieren, während der Nutzer diese Eingaben bereitstellt.
  • Block 160 umfasst das Verarbeiten jedes Moduls der ausgewählten Module in einer Reihenfolge, die durch die Abfolge angezeigt ist. Das Verarbeiten der Module in einem Arbeitsablauf ist in nachfolgenden Abschnitten beschrieben.
  • Block 170 umfasst das Erzeugen einer Ausgabe, gestützt auf diese Verarbeitung. Da die eine oder mehreren Nukleotidsequenzen als Eingabe für mindestens ein Modul verwendet wurden, basiert die Ausgabe zumindest auf der einen oder den mehreren Nukleotidsequenzen. Natürlich kann die Ausgabe weiter auf anderen Dateneingaben in dem Arbeitsablauf basieren, wenn es so definiert ist. Die Ausgabe wird durch die Verarbeitung des letzten oder vorletzten Moduls in der Abfolge erzeugt. Somit umfasst Block 160 im Grunde Block 170.
  • Block 180 umfasst das optionale Speichern der Ausgabe. Die Ausgabe kann beispielsweise in einer lokalen Datenbank oder einem lokalen Dateisystem gespeichert werden. Oder die Ausgabe kann in eine netzbasierte Datenbank hochgeladen werden. Oder die Ausgabe kann einem anderen Nutzer gesendet werden. Block 180 kann als Teil der Verarbeitung des letzten Moduls in einer Abfolge ausgeführt werden, muss es aber nicht. Der letzte Knoten in einem Arbeitsablauf kann beispielsweise ein Vorgangsknoten sein, der den Speichervorgang ausführt. Oder der letzte Knoten in dem Arbeitsablauf kann ein Datenknoten mit der Ausgabe von Block 170 sein. Im zweiten Fall kann Block 180 außerhalb der Verarbeitung des Arbeitsablaufs ausgeführt werden. Der Nutzer kann beispielsweise die Datenmenge, die durch den letzten Knoten in dem Arbeitsablauf repräsentiert wird, in eine Datenbank manuell importieren. Oder der Nutzer kann die Datenmenge in einen Bericht kopieren und einfügen, der dann in einer Datei gespeichert wird.
  • 2.3. VERARBEITEN EINES ARBEITSABLAUFS
  • In einer Ausführungsform umfasst das Verarbeiten eines Arbeitsablaufs das Verarbeiten einer Abfolge von Knoten. Ein erster Vorgangsknoten in der Abfolge von Knoten entspricht einem ersten Modul. Das Verarbeiten des Arbeitsablaufs umfasst das Ausführen des ersten Moduls, gestützt auf eine Dateneingabe von einem Datenknoten, der eine Quelle repräsentiert. Eine Ausgabe wird erzeugt, gestützt auf die Ausführung des ersten Moduls. In einer Ausführungsform umfasst das Verarbeiten weiter die Ausführung eines zweiten Moduls, das durch einen zweiten Vorgangsknoten in der Abfolge repräsentiert wird. Gestützt auf die Ausgabe von dem ersten Modul wird eine zweite Ausgabe erzeugt, gestützt auf die Ausführung des zweiten Moduls. In einer Ausführungsform umfasst das Verarbeiten weiter das schrittweise Ausführen jedes Moduls, das durch einen der nachfolgenden Vorgangsknoten repräsentiert wird, mittels der Ausgabe von einem unmittelbar vorangegangenen Vorgangsknoten als Eingabe, bis alle Vorgangsknoten in der Abfolge verarbeitet wurden.
  • In einer Ausführungsform umfasst das Verarbeiten eines Arbeitsablaufs das „Verarbeiten” eines Datenknotens. Das Verarbeiten eines Datenknotens umfasst das Belegen des Datenknotens mit einer Datenmenge, die von einem vorangegangenen Vorgangsknoten ausgegeben wurde. Das Verarbeiten des Datenknotens kann weiter das Empfangen von interaktiver Bearbeitung der Datenmenge durch den Nutzer umfassen, wie unten beschrieben ist, muss es aber nicht. Die Datenmenge wird als Eingabe an jeden nachfolgenden Vorgangsknoten übertragen.
  • In einer Ausführungsform umfasst das Verarbeiten eines Arbeitsablaufs das Verarbeiten mehrerer Abfolgen von Knoten. Jede gegebene Abfolge oder jeder gegebene Knoten können von Ausgaben von jeder anderen gegebenen Abfolge oder jedem anderen gegebenen Knoten in dem Arbeitsablauf abhängen. Sobald jedoch ein Knoten oder eine Abfolge, von der ein anderer Knoten oder eine andere Abfolge abhängt, verarbeitet wurde, kann der andere Knoten oder die andere Abfolge verarbeitet werden, unabhängig davon, wie der Zeitplan für irgendeinen anderen Knoten oder irgendeine andere Abfolge ist. Mehrere unabhängige Abfolgen können beispielsweise parallel oder zu jedem anderen Zeitpunkt mit Bezug auf einander ausgeführt werden.
  • In einer Ausführungsform umfasst das Ausführen („Verarbeiten”) eines Moduls das Ausführen von Befehlen, die für das Modul definiert sind. Die Befehle werden optional ausgeführt, gestützt auf eine oder mehrere Konfigurationsparameter, die in einer zweiten Eingabe definiert werden. In einer Ausführungsform senden die Befehle eine Anfrage an eine externe Komponente, etwa einen netzbasierten Server oder eine externe Anwendung. Die Anfrage umfasst oder referenziert die Dateneingabe in das Modul während der Verarbeitung, die in Übereinstimmung mit den Befehlen des Moduls neu formatiert worden sein kann, es aber nicht muss. In Antwort darauf empfängt das Modul Daten von der externen Komponente. Das Modul kann optional die zurückgegebenen Daten neu formatieren oder anderweitig verarbeiten, bevor es sie als Ausgabe zurückgibt.
  • AUTOMATISIERTE ARBEITSABLÄUFE
  • In einer Ausführungsform werden manche oder alle der Arbeitsabläufe automatisch verarbeitet, in einer nicht interaktiven Art und Weise. Sobald ein solcher Arbeitsablauf definiert wurde, erfordert das Verarbeiten des Arbeitsablaufs keine weitere Nutzereingabe zwischen dem Zeitpunkt, an dem der erste Knoten verarbeitet wurde, und dem Zeitpunkt, an dem das letzte Modul verarbeitet wurde.
  • INTERAKTIVE ARBEITSABLÄUFE
  • Während manche Arbeitsabläufe, die hier beschrieben sind, so entworfen sind, dass sie Ausgaben ohne menschliches Eingreifen erzeugen, sind andere Arbeitsabläufe so entworfen, dass sie einen Nutzer bei Identifizierungsvorgängen und Ermittlungen unterstützen, anstatt einfach eine Ausgabe zu erzeugen. Für solche Arbeitsabläufe kann, in verschiedenen Stadien des Entwerfens und Verwendens des Arbeitsablaufs, der Nutzer verschiedene Eingaben bereitstellen, um mit dem Datenfluss zu interagieren und/oder ihn zu bearbeiten. Ein Nutzer kann beispielsweise einen Teil des Arbeitsablaufs ausführen. Gestützt auf Ausgaben von der Ausführung dieses Teils kann der Nutzer entscheiden, andere Teile des Arbeitsablaufs auszuführen, und/oder den Arbeitsablauf so neu zu definieren, dass er zusätzliche Knoten oder Abfolgen von Knoten umfasst.
  • In einer Ausführungsform kann ein Nutzer die Daten innerhalb jedes Datenknotens bearbeiten. Daher kann ein Datenknoten eine Position in dem Arbeitsablauf repräsentieren, an der der Nutzer eine informierte Entscheidung mit Bezug darauf treffen kann, wie der Arbeitsablauf fortfahren soll. Im Gegensatz dazu benötigt der Arbeitsablauf für Datenverarbeitung, in die der Nutzer nicht eingreifen will, keinen Datenknoten. Somit können mehrere Vorgangsknoten ohne dazwischen geschaltete Datenknoten auf einander folgen, wodurch angezeigt wird, dass die Verarbeitung der Daten an diesen Positionen völlig automatisiert geschieht. Da Datenknoten jedoch auch dem Zweck der Beobachtung dienen können, erfordert das Vorhandensein von Datenknoten es nicht, dass der Nutzer die Daten in dem Datenknoten bearbeiten muss.
  • Ein Nutzer kann beispielsweise einen Datenknoten bearbeiten, indem er Elemente hinzufügt oder entfernt, wodurch es dem Nutzer ermöglicht wird, die Datenmenge für alle nachfolgenden Arbeitsablauf-Vorgänge zu filtern, für die der Datenknoten Eingaben bereitstellt. Der Nutzer kann einen ersten Teil eines Arbeitsablaufs „ausführen”, um den Datenknoten zu erzeugen. Der Nutzer kann dann den Datenknoten bearbeiten, bevor er mit dem zweiten Teil des Arbeitsablaufs fortfährt oder ihn sogar erst erzeugt. Ähnlich kann der Nutzer neue Datenknoten erzeugen, indem er Elemente von einem anderen Datenknoten überträgt oder kopiert. Diese neuen Datenknoten können dann mit Vorgangsknoten in dem Arbeitsablauf verbunden werden.
  • 2.4. WIEDERVERWENDUNG VON ARBEITSABLÄUFEN
  • In einer Ausführungsform kann der Nutzer einen Arbeitsablauf für eine nachfolgende Wiederverwendung speichern. Eine Arbeitsablauf-Datenstruktur, etwa eine XML-Datei oder ein anderes Datenobjekt, kann beispielsweise einen Arbeitsablauf beschreiben. Ein Nutzer kann die Arbeitsablauf-Datenstruktur in einem Dateisystem oder einer Datenbank speichern. Der Nutzer kann nachfolgend auf die Arbeitsablauf-Datenstruktur zugreifen, um den Arbeitsablauf erneut auszuführen. Der Nutzer kann beispielsweise die Arbeitsablauf-Datenstruktur in eine Arbeitsablauf-Anwendung laden. Die Arbeitsablauf-Anwendung kann graphische Darstellungen des Arbeitsablaufs anzeigen, der durch die Arbeitsablauf-Datenstruktur beschrieben wird. Der Nutzer kann dann den Arbeitsablauf so ausführen, wie er zum Zeitpunkt erstellt wurde, als der Arbeitsablauf gespeichert wurde, oder der Nutzer kann den Arbeitsablauf modifizieren, um möglicherweise unterschiedliche Datenquellen auf unterschiedliche Weise zu verarbeiten.
  • In einer Ausführungsform können bestimmte gespeicherte Arbeitsabläufe als Vorlagen verwendet werden, aus denen der Nutzer schnell neue Arbeitsabläufe erstellen kann. In einer Ausführungsform kann ein Arbeitsablauf mit anderen Nutzern geteilt werden. Ein Nutzer kann beispielsweise einen Arbeitsablauf an einen anderen Nutzer per Email versenden oder auf den Arbeitsablauf verlinken. Wenn der andere Nutzer Zugriff auf dieselben Datenquellen und dieselben Module hat – beispielsweise mittels eines zentralen Ressourcenservers – kann der andere Nutzer den Arbeitsablauf ausführen und/oder ändern. Wenn der andere Nutzer keinen Zugriff auf dieselben Datenquellen und dieselben Module hat, können verschiedene Techniken zur Auffindung von Ersatzquellen und -modulen angewendet werden. Oder ein geteilter Arbeitsablauf kann, um Probleme mit Ressourcen-Abhängigkeiten zu vermeiden, Module und Datenquellen einbetten, auf die ein anderer Nutzer wahrscheinlich keinen Zugriff hat.
  • In einer Ausführungsform kann der Nutzer einen gespeicherten, nicht interaktiven Arbeitsablauf so konfigurieren, dass er in Antwort auf Trigger oder periodisch ausgeführt wird. Eine Datenquelle kann beispielsweise periodisch oder in Antwort auf bestimmte Ereignisse geändert werden. Ein Nutzer kann einen automatisierten Arbeitsablauf erzeugen und speichern, um beispielsweise aktualisierte Berichtdaten zu erzeugen, sobald die Datenquelle geändert wurde, oder um Daten in eine Datenbank zu reimportieren, gestützt auf die Änderungen. In einer Ausführungsform kann ein Prozess die Ausgabe eines automatisierten Arbeitsablaufs überwachen und einem Nutzer eine Aktualisierungsnachricht senden, sobald die Ausgabe geändert wird. Ein Nutzer kann beispielsweise einen Arbeitsablauf so konfigurieren, dass er jeden Morgen ausgeführt wird. Der Arbeitsablauf kann üblicherweise die gleichen Ergebnisse liefern. Der Nutzer kann anfordern, eine automatisierte Email zu empfangen, sobald sich die Ausgabe des Arbeitsablaufs ändert. Der Nutzer kann dann die neuen Daten untersuchen.
  • 3.0. STRUKTURELLER ÜBERBLICK
  • 2 ist ein Blockdiagramm eines Beispiel-Systems 200, in dem die Techniken, die hier beschrieben sind, angewendet werden können, gemäß einer Ausführungsform. Die verschiedenen Komponenten des Systems 200 können beispielsweise das Flussdiagramm 100 implementieren, wie es oben beschrieben ist.
  • Das System 200 umfasst ein Arbeitsablauf-System 210. Das Arbeitsablauf-System 210 umfasst eine oder mehrere Rechenvorrichtungen, die eine Reihe von Komponenten 220260 implementieren, die verschiedene Funktionalitäten mit Bezug auf Arbeitsabläufe bereitstellen. Das Arbeitsablauf-System 210 kann beispielsweise eine Client-Rechenvorrichtung und eine Server-Rechenvorrichtung umfassen. Als weiteres Beispiel kann das Arbeitsablauf-System 210 eine einzelne Rechenvorrichtung umfassen. Die Komponenten 220260 können jede Kombination aus Hardware an einer oder mehreren Rechenvorrichtungen und Software sein, die von dieser Hardware ausgeführt wird. In einer Ausführungsform werden die Komponenten 220260 hier gemeinsam als „Arbeitsablauf-Anwendung” bezeichnet.
  • Eine Arbeitsablauf-Erzeugungskomponente 230 stellt eine Arbeitsablauf-Schnittstellenkomponente 240 einem Nutzer 205 bereit. Die Arbeitsablauf-Erzeugungskomponente 230 erzeugt Arbeitsabläufe in Antwort auf verschiedene Eingaben des Nutzers in die Arbeitsablauf-Schnittstellenkomponente 240. Die verschiedenen Eingaben des Nutzers können beispielsweise die Arbeitsablauf-Erzeugungskomponente 230 anweisen, Datenknoten und Vorgangsknoten zu einem Arbeitsablauf hinzuzufügen, diese Knoten zu bearbeiten und Verbindungen zwischen bestimmten Knoten herzustellen. Die Arbeitsablauf-Erzeugungskomponente 230 aktualisiert die Arbeitsablauf-Schnittstellenkomponente 240, um Darstellungen der Knoten und/oder der Verbindungen in einem Arbeitsablauf anzuzeigen, während die Eingaben des Nutzers empfangen werden.
  • Die Arbeitsablauf-Erzeugungskomponente 230 erzeugt Vorgangsknoten, die Vorgangsmodule 250 repräsentieren, um Arbeitsablauf-Daten zu verarbeiten. Vorgangsmodule 250 sind Ausführungseinheiten, die Daten eingeben und/oder ausgeben, wie in anderen Abschnitten beschrieben ist. Die Arbeitsablauf-Erzeugungskomponente 230 erfährt von der Verfügbarkeit dieser Vorgangsmodule 250 sowie von Konfigurationsoptionen und Beschränkungen der Module 250, indem sie auf Metadaten des Moduls 255 zugreift. Wenn eine Arbeitsablauf-Anwendung beispielsweise erstmals aufgerufen wird, kann die Arbeitsablauf-Anwendung einen Ordner oder andere Metadaten 255 für die Module 250 scannen und dann alle gefundenen Module 250 zur Verwendung in den Vorgangsknoten eines Arbeitsablaufs verfügbar machen. Die Arbeitsablauf-Erzeugungskomponente 230 erzeugt dann Schnittstellen-Bedienelemente in der Arbeitsablauf-Schnittstellenkomponente 240, die es dem Nutzer 205 erlauben, einen neuen Vorgangsknoten zu erzeugen und den Vorgangsknoten mit einem der Module 250 zu verknüpfen. Die Arbeitsablauf-Erzeugungskomponente 230 kann einen Datenknoten erzeugen, gestützt auf Eingaben von dem Nutzer 205, die eine Datenmenge angeben.
  • Die Arbeitsablauf-Erzeugungskomponente 230 kann weiter Datenknoten erzeugen, gestützt auf Ausgaben von dem Verarbeiten eines Vorgangsknotens, etwa von einem unmittelbar vorangegangenen Vorgangsknoten in dem gegenwärtigen Ablauf, oder von einem Vorgangsknoten am Ende eines anderen Arbeitsablaufs.
  • Die Arbeitsablauf-Erzeugungskomponente 230 erzeugt weiter Datenknoten, gestützt auf Daten, die von einem Nutzer von einem umgewandelten Datenspeicher 290 und/oder Datenquellen 280 ausgewählt wurden. Die Arbeitsablauf-Erzeugungskomponente 230 ruft Datenmengen von dem umgewandelten Datenspeicher 290 und/oder den Datenquellen 280 ab. Während die Datenmengen abgerufen werden, werden die Datenquellen 280 von der Daten-Umwandlungskomponente 260 umgewandelt, was einheitliche, typisierte Datenstrukturen liefert. Datenmengen von dem umgewandelten Datenspeicher 290 sind auf der anderen Seite schon als einheitliche, typisierte Datenstrukturen organisiert. Die Arbeitsablauf-Erzeugungskomponente 230 präsentiert diese Datenmengen dem Nutzer 205 in der Arbeitsablauf-Schnittstellenkomponente 240 und empfängt in Antwort darauf Eingaben, die spezifische Datenelemente von den Datenmengen auswählen, die in die Datenknoten gehören sollen.
  • Sobald ein Arbeitsablauf erzeugt wurde, speichert die Arbeitsablauf-Erzeugungskomponente 230 eine Arbeitsablauf-Datenstruktur, die den Arbeitsablauf repräsentiert, in einem Arbeitsablauf-Speicher 235. Der Arbeitsablauf-Speicher 235 kann beispielsweise ein temporärer Ort im Speicher, in einem Verzeichnis in einem lokalen Dateisystem oder in einer Datenbank sein.
  • Die Arbeitsablauf-Schnittstellenkomponente 240 umfasst weiter Bedienelemente, durch die der Nutzer 205 die Arbeitsablauf-Verarbeitungskomponente 220 anweisen kann, zumindest einen Teil eines gegenwärtig geladenen Arbeitsablaufs oder eines Arbeitsablaufs in dem Arbeitsablauf-Speicher 235 zu verarbeiten. Die Arbeitsablauf-Schnittstellenkomponente 240 kann beispielsweise eine „Arbeitsablauf ausführen”- und/oder „Knoten ausführen”-Schaltfläche darstellen, die die Arbeitsablauf-Verarbeitungskomponente 220 veranlasst, zumindest einen Teil des Arbeitsablaufs zu verarbeiten, der gegenwärtig in der Arbeitsablauf-Schnittstellenkomponente 240 angezeigt ist. Die Arbeitsablauf-Verarbeitungskomponente 220 kann auch oder stattdessen Arbeitsabläufe ausführen, die durch andere Eingaben angegeben werden, etwa Kommandozeilen-Eingaben oder Eingaben von einem Task-Scheduler.
  • Die Arbeitsablauf-Verarbeitungskomponente 220 führt Arbeitsabläufe, die durch Arbeitsablauf-Datenstrukturen in dem Arbeitsablauf-Speicher 235 beschrieben werden, mittels Arbeitsablauf-Verarbeitungstechniken aus, wie sie in anderen Abschnitten beschrieben sind. Im Verlauf des Verarbeitens eines Arbeitsablaufs, ruft die Arbeitsablauf-Verarbeitungskomponente 220 Vorgangsmodule 250 auf, die durch Vorgangsknoten in dem Arbeitsablauf referenziert werden. Die Arbeitsablauf-Verarbeitungskomponente 220 kann eine typisierte Datenmenge, die von einem vorangegangen Knoten ausgegeben wurde, wenn es einen gibt, an ein aufgerufenes Vorgangsmodul 250 übergeben. Die meisten Vorgangsmodule 250 werden einen oder mehrere Befehle mit Bezug auf die eingegebene Datenmenge verarbeiten und dann eine Ausgabe, die aus typisierten Daten besteht, an die Arbeitsablauf-Verarbeitungskomponente 220 zurückgeben. In einer Ausführungsform kann die Arbeitsablauf-Verarbeitungskomponente 220 Datenknoten in dem gegenwärtig verarbeiteten Arbeitsablauf erzeugen und/oder aktualisieren, um die Datenmengen einzuschließen, die von den Vorgangsmodulen 250 ausgegeben wurden. In einer Ausführungsform kann, wenn die Arbeitsablauf-Verarbeitungskomponente 220 in einem interaktiven Modus läuft, die Arbeitsablauf-Verarbeitungskomponente 220 die Arbeitsablauf-Schnittstellenkomponente 240 weiter so aktualisieren, dass sie Darstellungen von hinzugefügten oder aktualisierten Datenknoten anzeigt. In einer Ausführungsform kann die Arbeitsablauf-Verarbeitungskomponente 220 so konfiguriert sein, dass sie die endgültige Ausgabe von einem Arbeitsablauf in einer Vielzahl von Orten, die sich von der Arbeitsablauf-Schnittstellenkomponente 240 unterscheiden, speichert, druckt oder anzeigt.
  • In einer Ausführungsform umfassen ein oder mehrere Vorgangsmodule 250 in sich abgeschlossene Befehle zum Verarbeiten einer Datenmenge. Code für relativ häufige und/oder einfache Operationen, etwa das Mischen oder Filtern einer Datenmenge, kann beispielsweise direkt in einem Modul 250 vorgesehen sein. In einer Ausführungsform verarbeitet ein Vorgangsmodul 250 eine Datenmenge nur mittels in sich abgeschlossenen Befehlen, ohne irgendwelche externen Werkzeuge 270 aufzurufen. In einer Ausführungsform interagiert ein Modul 250 mit einem oder mehreren externen Werkzeugen 270, um eine Datenmenge zu verarbeiten. Das eine oder die mehreren externen Werkzeuge 270 können verschiedene Algorithmen zum Verarbeiten von Genomdaten implementieren. Die Vorgangsmodule 250 senden einen Teil oder die Gesamtheit der eingegebenen Datenmenge oder verarbeiteten Daten, die darauf basieren, zu dem externen Werkzeug 270 zur Verarbeitung. Die Vorgangsmodule 250 empfangen dafür dann eine Ausgabe. Die Vorgangsmodule 250 können optional eine Ausgabe verarbeiten, bevor sie die Ausgabe als typisierte Daten an die Arbeitsablauf-Verarbeitungskomponente 220 zurückgeben. In einer Ausführungsform können Nutzer ihre eigenen Vorgangsmodule 250 über eine API bereitstellen, die das Arbeitsablauf-System 210 auch verwenden kann. Die externen Werkzeuge 270 können beispielsweise lokale Laufzeitbibliotheken 270a umfassen, etwa neu verteilbare Bibliotheken von Java- oder Python-Code, die direkt über Prozeduraufrufe in einem Vorgangsmodul 250 aufgerufen werden können. Die externen Werkzeuge 270 können auch Client-Side-Bibliotheken umfassen, die in der Arbeitsablauf-Schnittstellenkomponente 240 an der Rechenvorrichtung des Nutzers laufen. Ein Modul 250 kann beispielsweise mittels Client-Side-JavaScript-Werkzeugen implementiert werden. Solche Werkzeuge können Eingaben des Nutzers anfordern, die die Ausgabe des Moduls 250 beeinflussen, müssen es aber nicht.
  • Die externen Werkzeuge 270 können auch lokale Anwendungsserver 270c und netzbasierte Anwendungsserver 270d umfassen, mit denen ein Vorgangsmodul 250 über ein oder mehrere Netzwerke über jedes geeignete Protokoll kommunizieren kann, einschließlich HTTP, FTP, REST-basierten Protokollen, JSON usw. In einer Ausführungsform sind alle Vorgangsmodule 250 codierte Objekte, die eine gemeinsame Klasse erweitern. Die gemeinsame Klasse implementiert Logik zum Kommunizieren mit jedem dieser vier Arten von externen Werkzeugen 270. In einer Ausführungsform können die externen Werkzeuge 270 andere Werkzeuge umfassen, die nicht gezeigt sind. In einer Ausführungsform können manche externe Werkzeuge 270 weiter mit anderen externen Werkzeugen 270 kommunizieren, um eine Ausgabe zu erzeugen. In einer Ausführungsform können manche externen Werkzeuge 270 Ausgaben erzeugen, gestützt auf das Anfordern von Daten von Datenquellen 280.
  • Die Datenquellen 280 können jede Quelle von Daten umfassen, auf die vom System 210 zugegriffen werden kann, einschließlich lokaler Dateien 280a in jedem einer Vielzahl von Formaten und abfragbarer lokaler Datenbanken 280b. Die Datenquellen 280 können weiter netzbasierte Speicher 280c umfassen, auf die über verschiedene netzbasierte Schnittstellen zugegriffen werden kann, einschließlich SOAP- oder REST-basierter Schnittstellen. In einer Ausführungsform werden, um den Betrieb des Systems 210 zu beschleunigen, netzbasierte Speicher 280c lokal als lokale Dateien 280a und/oder lokale Datenbanken 280b zwischengespeichert. Das Arbeitsablauf-System 210 kann beispielsweise periodisch Datenbank-Dumps von dem netzbasierten Speicher 280c herunterladen. Die Datenquellen 280 können weiter Webseiten 280d umfassen. Die Vorgangsmodule 250 und oder die Daten-Umwandlungskomponente 260 können beispielsweise „Screenscraping”-Elemente aufweisen, um Veröffentlichungen oder andere Daten von den Webseiten 280d von bestimmten Websites zu extrahieren.
  • In einer Ausführungsform müssen Daten, die von den externen Werkzeugen 270 und den Datenquellen 280 ausgegeben werden, in umgewandelte Daten 290 umgewandelt werden, bevor sie von dem Arbeitsablauf-System 210 verarbeitet werden. Das Arbeitsablauf-System 210 kann eine Daten-Umwandlungskomponente 260 vorsehen, um Daten von den externen Werkzeugen 270 und Datenquellen 280 in typisierte Datenstrukturen umzuformatieren, die durch eine Ontologie 291 definiert sind. Die Ontologie 291 kann für jede Art von Daten angelegt sein. In einer Ausführungsform umfasst eine Ontologie 291 für Genomdaten die folgenden Kern-Datentypen: Sequenzen, DNS-Sequenzen, mRNS-Sequenzen, RNS-Sequenzen, Proteinsequenzen, Proteinobjekte, Papierobjekte, Alignment-Objekte und Genobjekte.
  • Die umgewandelten Daten 290 werden dann zumindest temporär gespeichert, um den Arbeitsablauf zu verarbeiten, und/oder permanent, damit Nutzer 205 in anderen Arbeitsabläufen und Projekten nachfolgend darauf zugreifen können. In einer Ausführungsform kann die Daten-Umwandlungskomponente 260 weiter Daten zurück in eine Form umwandeln, die von den externen Werkzeugen 270 und Datenquellen 280 erwartet wird, so dass sie als Eingabe für die externen Werkzeuge 270 oder zur Speicherung in den Datenquellen 280 verwendet werden können. In einer Ausführungsform können die Vorgangsmodule 250 auch oder stattdessen dafür verantwortlich sein, manche der Datenmengen direkt umzuwandeln, die an ein zugehöriges Werkzeug 270 gesendet oder von ihm empfangen werden. In einer Ausführungsform können manche Vorgangsmodule 250 sich direkt auf umgewandelte Daten 290 stützten, die permanent in einer Datenbank gespeichert sind, im Gegensatz zu Daten von den Datenquellen 280.
  • Das System 200 ist nur ein Beispiel eines Systems, in dem die hier beschriebenen Techniken angewendet werden können. Andere Systeme können zusätzliche oder weniger Elemente umfassen, in möglicherweise abweichenden Anordnungen. In einem System fehlen beispielsweise eine beliebige Anzahl von Arten von externen Werkzeugen 270 oder Datenquellen 280. In einem anderen System fehlen die umgewandelten Daten 290 und die Daten-Umwandlungskomponente 260. In noch einem anderen System fehlt eine graphische Arbeitsablauf-Schnittstellenkomponente 240. Viele andere Varianten sind auch möglich.
  • 4.0. BEISPIELHAFTE SCHNITTSTELLEN UND ARBEITSABLÄUFE
  • 3 ist ein Screenshot 300, der eine beispielhafte Schnittstelle 305 zum Ausführen von Techniken zeigt, die hier beschrieben sind, gemäß einer Ausführungsform. Die Schnittstelle 305 kann beispielsweise das Empfangen von Eingaben eines Nutzers erleichtern, um einen Arbeitsablauf zu definieren und/oder mit der Verarbeitung eines Arbeitsablaufs zu interagieren. Die Schnittstelle 305 ist ein Beispiel einer Arbeitsablauf-Schnittstellenkomponente 240.
  • Die Schnittstelle 305 kann verschiedene graphische Darstellungen von Elementen umfassen, wie Knoten, Datenelementen, Modulen, Dateien usw. Um die Offenbarung zu vereinfachen, beschreibt diese Anmeldung Merkmale der graphischen Benutzeroberfläche manchmal in Form von repräsentierten Elementen selbst, anstatt von graphischen Darstellungen dieser Elemente. Ein Fachmann wird verstehen, dass, wie es üblich ist, wenn graphische Benutzeroberflächen beschrieben werden, wörtliche Beschreibungen einer graphischen Benutzeroberfläche, die nicht-graphische Benutzeroberflächen-Komponenten umfasst, so als Beschreibung der graphischen Benutzeroberfläche verstanden werden sollen, dass sie graphische Darstellungen dieser Komponenten umfasst. Die Beschreibung kann beispielsweise einen Schritt des „Auswählens eines Knotens aus einem Arbeitsbereich” beschreiben, wenn ein Fachmann in Wirklichkeit verstehen wird, dass das, was ausgewählt wird, eine Darstellung eines Knotens in dem Arbeitsbereich ist.
  • Die Schnittstelle 305 umfasst einen Arbeitsbereich-Abschnitt 310, in dem ein Arbeitsablauf 320 angezeigt ist. Die verschiedenen Komponenten des Arbeitsablaufs 320 sind mit Bezug auf nachfolgenden Figuren beschrieben. Der Arbeitsbereich 310 umfasst weiter Zoom-Bedienelemente 312, um den sichtbaren Bereich des Arbeitsbereichs 310 zu vergrößern oder zu verkleinern. In einer Ausführungsform ist der sichtbare Abschnitt des Arbeitsbereichs 310 über verschiedene Kombinationen von Cursor-Eingaben und/oder Auswahl von Scrolling-Bedienelementen bewegbar.
  • Die Schnittstelle 305 umfasst weiter einen Headerbereich 390. Der Headerbereich 390 umfasst Bedienelemente 391397 für allgemeine Arbeitsablauf-Operationen. Das Speichern-Bedienelement 391 erleichtert Eingaben zum Speichern von Arbeitsabläufen 320. Das Öffnen-Bedienelement 392 erleichtert Eingaben zum Öffnen eines vorher gespeicherten Arbeitsablaufs in den Arbeitsbereich 310. Das Ausführen-Bedienelement 393 erleichtert Eingaben zum Verarbeiten des gesamten Arbeitsablaufs 320. Oder, wenn ein oder mehrere bestimmte Knoten eines Arbeitsablaufs 320 gegenwärtig ausgewählt sind, erleichtert das Ausführen-Bedienelement 393 Eingaben zum Verarbeiten eines Teils des Arbeitsablaufs 320, der zu dem einen oder den mehreren bestimmten Knoten gehört. Die Bedienelemente 394396 erleichtern Eingaben zum Erzeugen von verschiedenen Arten von Präsentationen, gestützt auf Ausgaben von dem Arbeitsablauf 320. Das Bedienelement 397 erleichtert Eingaben zum Importieren von ausgewählten Ausgaben von dem Arbeitsablauf 320, einschließlich Datenmengen, die in dazwischen liegenden Datenknoten gespeichert sind, in einen Datenspeicher.
  • Die Schnittstelle 305 umfasst weiter einen Sidebar-Bereich 370, der im Allgemeinen für Bedienelemente vorgesehen ist, die das Erzeugen von neuen Knoten in einem Arbeitsablauf 320 erleichtern. Der Sidebar-Bereich 370 umfasst vier Fensterbereiche 371374. Der gegenwärtig angezeigte Fensterbereich, der Suche-Fensterbereich 371, zeigt ein Datenbank-Suchbedienelement 375. Das Datenbank-Suchbedienelement 375 erlaubt es dem Nutzer, eine begriffsbasierte Suche auf verschiedenen Datenbanken von Genomdaten auszuführen. Der Nutzer kann Suchergebnisse, teilweise oder als Ganzes, zu dem Arbeitsbereich 320 ziehen, um einen oder mehrere neue Datenknoten zu erzeugen. Die Sidebar 370 umfasst weiter einen Import-Fensterbereich 372, einen Vorgang-Fensterbereich 373 und einen Bibliothek-Fensterbereich 374.
  • Die Schnittstelle 305 umfasst weiter einen Überblicksbereich 380. Der Überblicksbereich 380 stellt im Allgemeinen eine kontextabhängige Detailansicht von Informationen über ein gegenwärtig ausgewähltes Objekt in dem Arbeitsbereich 310 dar. Wie gezeigt, stellt der Überblicksbereich 380 beispielsweise eine „Veröffentlichungsansicht” eines bestimmten Veröffentlichungselements dar, das in einem Datenknoten des Arbeitsablaufs 320 ausgewählt wurde. Abhängig vom Datentyp und/oder Knotentyp des gegenwärtig ausgewählten Elements in dem Arbeitsbereich 320 kann der Überblicksbereich 380 unterschiedlich organisierte Ansichten von unterschiedlichen Informationsfeldern darstellen. Manche Ansichten können ein einziges Informationsfeld umfassen, während andere Ansichten viele Informationsfelder umfassen können. In einer Ausführungsform sind die Informationen, die in dem Überblicksbereich 380 dargestellt werden, vom Nutzer definierbar. Der Überblicksbereich 380 kann scrollbar sein, abhängig davon, welche Ansicht dargestellt wird.
  • 4 ist ein Screenshot 400, der die Darstellung von Datenknoten in der beispielhaften Schnittstelle 305 zeigt, gemäß einer Ausführungsform. Der Screenshot 400 zeigt einen Teil des Arbeitsbereichs 310, einschließlich der graphischen Darstellungen von drei unterschiedlichen Datenknoten 430450, und den Überblicksbereich 380. Jeder der Datenknoten 430450 umfasst eine Menge von Datenelementen, die in den entsprechenden graphischen Darstellungen gezeigt sind. Der Datenknoten 430 umfasst beispielsweise zumindest die Datenelemente 431a–g, die jeweils ein anderes Proteinobjekt sind. Ein Nutzer kann mittels des Scrolling-Bedienelements 435 zusätzliche Datenelemente sichtbar machen.
  • Der Nutzer kann ein bestimmtes Datenelement auswählen, etwa das Element 431a, indem er es anklickt oder mittels jeder anderen geeigneten Auswahltechnik. In Antwort darauf kann der Überblicksbereich 380 mit einer Ansicht 485 von Informationen aktualisiert werden, die mit dem ausgewählten Element 431a verknüpft sind. Die Informationen in der Ansicht 485 können sich in Antwort darauf ändern, dass ein Nutzer die Fensterbereiche 481484 anklickt. Jeder der Fensterbereiche 481484 bringt eine andere Menge von Informationen über das Protein 431a in die Ansicht 485, einschließlich Überblicksinformationen (in dem Fensterbereich 481), Referenzen (in dem Fensterbereich 482), Sequenzdaten (in dem Fensterbereich 483) und PDB-Daten (in dem Fensterbereich 484).
  • Ein Nutzer kann auch einen ganzen Datenknoten 430450 auswählen, indem er ihn anklickt oder mittels jeder anderen geeigneten Auswahltechnik. Das Anklicken eines Datenknotens kann dazu führen, dass der Überblicksbereich 380 eine andere Ansicht von anderen Informationen zeigt als die Informationen, die in 4 gezeigt sind. Die Ansicht für den Knoten 430 kann beispielsweise Überblicksinformationen für eine ganze Datenmenge umfassen, etwa eine statistische Analyse oder ein Histogramm, das zeigt, wie ähnlich die Proteinelemente 431 zu einander sind.
  • Im Gegensatz dazu kann, wenn ein Vorgangsknoten ausgewählt wurde, der Überblicksbereich 380 Metadaten umfassen, die das Modul beschreiben, das zu dem Vorgangsknoten gehört, Informationen über die letzte Ausführung des Moduls und/oder Felder zum Eingeben von Werten für konfigurierbare Parameter des Moduls.
  • 5 ist ein Screenshot 500, der Bedienelemente zum Importieren von Daten in die beispielhafte Schnittstelle 305 zeigt, gemäß einer Ausführungsform. Der Screenshot 500 zeigt den Arbeitsbereich 310, die Sidebar 370 und den Header 390. Der Import-Fensterbereich 372 wurde in der Sidebar 370 ausgewählt. Daher zeigt die Sidebar 370 ein Import-Bedienelement 575, um Eingaben zu empfangen, die eine Datei auswählen. Der Screenshot 500 zeigt weiter ein Dateimanager-Fenster 560, von dem der Nutzer eine Darstellung einer Datei 561 auswählen kann. Der Nutzer kann dann den Cursor 565 verwenden, um die Darstellung der Datei 561 zu „ergreifen” und über das Import-Bedienelement 575 zu „ziehen”. Eine Feedback-Graphik 562 kann angezeigt werden, um dem Nutzer zu zeigen, dass der Nutzer tatsächlich die Datei 561 mittels des Cursors 565 zieht. Sobald der Cursor 565 über dem Import-Bedienelement 575 ist, kann der Nutzer die Darstellung der Datei 561 in den Schnittstellen-Bereich 575 „ablegen”, um die Benutzeroberfläche 305 anzuweisen, zu versuchen, das Dateiformat der Datei 561 zu erkennen, die Datei 561 automatisch in ein oder mehrere Datenelemente umzuwandeln, die in einem Arbeitsablauf verwendet werden können, und diese Datenelemente in die Schnittstelle 305 zu importieren.
  • 6 ist ein Screenshot 600, der das Hinzufügen eines Datenknotens 630 zu dem Arbeitsbereich 310 der beispielhaften Schnittstelle 305 zeigt, gemäß einer Ausführungsform. Der Screenshot 600 zeigt Teile des Arbeitsbereichs 310 und der Sidebar 370. Die Sidebar 370 zeigt immer noch den Import-Fensterbereich 372 mit dem Import-Bedienelement 575. Zusätzlich umfasst die Sidebar 370 Darstellungen von Datenelementen 661 und 662. Die Datenelemente 661 und 662 sind Sequenzen, die aus der Datei 561 importiert wurden. Benachbart zu den Darstellungen der Datenelemente 661 und 662 sind Bedienelemente 665 und 666 zum Hinzufügen der Datenelemente 661 bzw. 662 zu einem Datenknoten, der gegenwärtig in dem Arbeitsbereich 310 ausgewählt ist. Wenn es keinen gegenwärtig ausgewählten Datenknoten in dem Arbeitsbereich 310 gibt, wird ein neuer Datenknoten erzeugt, wenn eines der Bedienelemente 665 oder 666 ausgewählt wurde.
  • Wie in 6 gezeigt ist, umfasst der Arbeitsbereich 310 eine Darstellung des Datenknotens 630, der in Antwort darauf erzeugt wurde, dass ein Nutzer das Bedienelement 665 angeklickt hat. Somit umfasst, wie in dem Inhalt-Darstellungsbereich 631 des Knotens 630 gezeigt ist, der Knoten 630 das importierte Datenelement 661. Die Darstellung des Knotens 630 umfasst weiter ein Entfernen-Bedienelement 639, das zu dem Entfernen des Knotens 630 von dem Arbeitsbereich 310 führt, und einen Knoten-Titel 632, der als Standardeinstellung die Technik beschreibt, durch die der Knoten 630 erzeugt wurde (d. h. die Tatsache, dass er „importiert” wurde).
  • 7 ist ein Screenshot 700, der das Hinzufügen eines Vorgangsknotens 740 zu dem Arbeitsbereich 310 der beispielhaften Schnittstelle 305 zeigt, gemäß einer Ausführungsform. Der Screenshot 700 zeigt Teile des Arbeitsbereichs 310 und der Sidebar 370. Der Vorgangs-Fensterbereich 373 wurde in der Sidebar 370 ausgewählt, was dazu führt, dass die Sidebar 370 die Bedienelement-Gruppen 770, 780 und 790 umfasst. Die Bedienelement-Gruppen 770, 780 und 790 umfassen jeweils Bedienelemente 771775, 781782 und 791792 zum Hinzufügen von Vorgangsknoten zu dem Arbeitsbereich 310. Der Arbeitsbereich 310 umfasst eine Darstellung des kürzlich hinzugefügten Vorgangsknotens 740. Der Vorgangsknoten 740 kann erzeugt und seine zugehörige Darstellung zu dem Arbeitsbereich in Antwort darauf hinzugefügt worden sein, dass das Bedienelement 775 von dem Arbeitsbereich 370 ausgewählt wurde. Wie gezeigt, hat der Vorgangsknoten 740 eine andere Schattierung als der Datenknoten 630. In einer Ausführungsform sind alle Datenknoten anders schattiert oder gefärbt als Vorgangsknoten.
  • Die Bedienelemente 771775, 781782 und 791792 können beispielsweise erzeugt worden sein, indem ein oder mehrere Plugin-Verzeichnisse gescannt wurden, in denen die Arbeitsablauf-Anwendung erwartungsgemäß Module findet. Die Bedienelement-Gruppen 770, 780 und 790 können erzeugt worden sein, gestützt auf Modul-Metadaten, die jedes der Modul-Plugins kategorisiert. Die Bedienelement-Gruppe 770 gehört zu einer „Sequenz”-Kategorie von Modulen. Das Auswählen eines ihrer Bedienelemente 771775 erzeugt einen Vorgangsknoten, der einen Vorgang ausführt, der durch ein „MSA”-Modul, ein „BLAST”-Modul, ein „Transskription”-Modul, ein „Übersetzung”-Modul bzw. ein „ScanProsite”-Modul implementiert wird. Die Bedienelement-Gruppe 780 gehört zu einer „einfachen” Kategorie von Modulen und umfasst ein Misch-Bedienelement 781 und ein Filter-Bedienelement 782. Das Auswählen eines der Bedienelemente 781782 erzeugt einen Vorgangsknoten, der einen Vorgang ausführt, der von einem „Misch”-Modul bzw. einem „Filter”-Modul implementiert wird. Die Bedienelement-Gruppe 790 gehört zu einer „Suchanfrage”-Kategorie von Modulen. Das Auswählen eines ihrer Bedienelemente 791792 erzeugt einen Vorgangsknoten, der einen Vorgang ausführt, der von einem „PubMed”-Modul bzw. einem „UniProtkB”-Modul implementiert wird. Da Nutzer leicht ihre eigenen Module erzeugen können und da die Arbeitsablauf-Anwendung automatisch Bedienelemente für alle Module erzeugt, die ein Nutzer erzeugt, sind die Bedienelement-Gruppen 770, 780 und 790 und die Bedienelemente 771775, 781782 und 791792 nur eine kleine Auswahl der Bedienelement-Gruppen und Bedienelemente, die in der Sidebar 370 erscheinen können.
  • 8 ist ein Screenshot 800, der Bedienelemente zum Verbinden von Knoten in dem Arbeitsbereich 310 der beispielhaften Schnittstelle 305 zeigt, gemäß einer Ausführungsform. Der Screenshot 800 zeigt einen Teil des Arbeitsbereichs 310, einschließlich der Darstellungen der Knoten 630 und 740. Die Darstellung des Knotens 740 wurde näher an die Darstellung des Knotens 630 in Antwort auf Eingaben des Nutzers bewegt, etwa Eingaben des Nutzer, die den Knoten 740 in die gegenwärtig angezeigte Position ziehen und ablegen. Der Knoten 630 umfasst eine Eingabe-Verbindungsstelle 634 und eine Ausgabe-Verbindungsstelle 635. Ähnlich umfasst der Knoten 740 eine Eingabe-Verbindungsstelle 744 und eine Ausgabe-Verbindungsstelle 745.
  • In einer Ausführungsform kann ein Nutzer jeden Knoten mit jedem anderen Knoten verbinden, indem er seine Ausgabe-Verbindungsstelle zu der Eingabe-Verbindungsstelle des anderen Knotens oder seine Eingabe-Verbindungsstelle zu der Ausgabe-Verbindungsstelle des anderen Knotens zieht. Der Knoten, dessen Ausgabe-Verbindungsstelle mit der Eingabe-Verbindungsstelle des anderen Knotens verbunden wurde, stellt Eingaben für den anderen Knoten bereit und es wird also angenommen, dass er vor dem anderen Knoten in der Abfolge eingeordnet ist.
  • Wie in 8 gezeigt ist, wurde die Ausgabe-Verbindungsstelle 635 des Knotens 630 zu der Eingabe-Verbindungsstelle 744 des Knotens 740 gezogen. Die Verbindungsstelle 635 hat ihre Farbe geändert und der Cursor 865 wird als Verbindungssymbol angezeigt, um anzudeuten, dass der Nutzer gegenwärtig die Verbindungsstelle 635 zieht. Die Verbindungsstellen-Beschriftungen 861 und 862 erscheinen auch, während der Nutzer die Verbindungsstelle 635 zieht, was Informationen über die ausgewählte Verbindungsstelle und andere Verbindungsstellen liefert, wenn es angemessen ist. In einer Ausführungsform kann eine Verbindungsstelle nur mit einer anderen Verbindungsstelle verbunden werden, wenn die beiden Verbindungsstellen zu demselben Datentyp gehören. Um einem Nutzer dabei zu helfen, zu erkennen, welche Verbindungsstellen zu denselben Datentyp gehören, kann die Benutzeroberfläche 305 weiter das Aussehen aller Verbindungsstellen ändern, die mit der Verbindungsstelle kompatibel sind, die gegenwärtig ausgewählt ist. Zwei Verbindungsstellen sind kompatibel, wenn sie entgegengesetzte Verbindungsarten haben (Eingabe vs. Ausgabe), zumindest einen gemeinsamen Datentyp unterstützen, nicht in dem gleichen Knoten sind und nicht beide in Datenknoten sind. Somit wurde, da die Eingabe-Verbindungsstelle 744 mit der Ausgabe-Verbindungsstelle 635 kompatibel ist, die Eingabe-Verbindungsstelle 744 mit einer durchgängigen Farbe ohne Rand schattiert, im Gegensatz zu dem Eingabeknoten 634, der transparent ist und einen Rand hat. Die Verbindungsstelle 745 hat ebenfalls einen Rand, was anzeigt, dass sie die Verbindungsstelle 635 nicht empfangen kann. Der Knoten 745 ist jedoch gegenwärtig schattiert, da er eine Ausgabe repräsentiert, die gegenwärtig keinem anderen Knoten bereitgestellt wird. Eine Vielzahl von anderen Techniken zum Ändern des Aussehens von kompatiblen Knoten kann auch oder stattdessen verwendet werden.
  • 9 ist ein Screenshot 900, der verbundene Knoten in dem Arbeitsbereich 310 der beispielhaften Schnittstelle 305 zeigt, gemäß einer Ausführungsform. Der Screenshot 900 zeigt einen Teil des Arbeitsbereichs 310, in dem die Knoten 630 und 740 durch den Drag-and-Drop-Vorgang verbunden wurden, der oben beschrieben ist. Der Arbeitsbereich 310 umfasst eine Darstellung der Verbindung 961 zwischen den Knoten 630 und 740. Die Knoten 630 und 740 bilden nun eine Abfolge und bilden somit einen funktionalen Arbeitsablauf 320.
  • 10 ist ein Screenshot 1000, der das Ausführen eines Teils des Arbeitsablaufs 320 mittels der beispielhaften Schnittstelle 305 zeigt, gemäß einer Ausführungsform. Der Screenshot 1000 zeigt den Header-Bereich 290 und einen Teil des Arbeitsbereichs 310, einschließlich der Knoten 630 und 740. Nachdem er die Knoten 630 und 740 verbunden hat, kann ein Nutzer entscheiden, den Arbeitsablauf 320 auszuführen. Somit kann der Nutzer das Ausführen-Bedienelement 393 anklicken. In Antwort darauf kann die Arbeitsablauf-Anwendung den Arbeitsablauf 320 ausführen, indem sie die Sequenz, die durch den Knoten 630 repräsentiert wird, in das ScanProsite-Modul eingibt, das durch den Knoten 740 repräsentiert wird, und das ScanProsite-Modul ausführt. Das ScanProsite-Modul interagiert seinerseits mit einem Webserver, der einen Algorithmus implementiert, um Motive in der Sequenz zu identifizieren. Das ScanProsite-Modul empfangt eine Antwort von dem Webserver, interpretiert diese Antwort als eine Datenmenge von Motiven und stellt diese Datenmenge der Arbeitsablauf-Anwendung bereit. Die Arbeitsablauf-Anwendung erzeugt einen Datenknoten 1030, fügt die identifizierten Motive zu dem Datenknoten 1030 als Datenelemente 1031a1031c hinzu, fügt den Datenknoten 1030 zu dem Arbeitsablauf 320 hinzu, indem sie den Datenknoten 1030 mit dem Knoten 740 mit einer neuen Verbindung 1061 verbindet, und fügt dann entsprechende Darstellungen der neuen Daten zu dem Arbeitsbereich 310 hinzu. Diese Darstellungen sind in dem Arbeitsbereich 310 der 10 gezeigt.
  • 11 ist ein Screenshot 1100, der das Interagieren mit Ausgaben von einem Vorgangsknoten in dem Arbeitsablauf 320 mittels der beispielhaften Schnittstelle 305 zeigt, gemäß einer Ausführungsform. Der Screenshot 1100 zeigt Teile des Überblicksbereichs 380 und des Arbeitsbereichs 310, einschließlich des Arbeitsablaufs 320, wie er in 10 erstellt wurde. Ein bestimmtes Datenelement 1031a wurde von dem Knoten 1030 ausgewählt. In Antwort darauf wird der Überblicksbereich 380 mit Informationen aktualisiert, die mit dem Element 1031a verknüpft sind, einschließlich einer Beschriftung 1181, Metadaten 1182 und einer Sequenz 1183.
  • 12 ist ein Screenshot 1200, der den Arbeitsbereich 310 mit verschiedenen Arten von Knoten von dem Arbeitsablauf 320 zeigt, gemäß einer Ausführungsform. Der Screenshot 1200 zeigt Teile der Sidebar 370 und des Arbeitsbereichs 310. Während der Knoten 630 in dem Arbeitsbereich 310 aus dem Blick gescrollt wurde, umfasst der Arbeitsbereich 310 jetzt eine Anzahl von zusätzlichen Knoten, die zu dem Arbeitsablauf 320 hinzugefügt wurden. Insbesondere ist der Knoten 1030 jetzt als Eingabe mit einem Vorgangsknoten 1240 verbunden, der wiederum als Eingabe mit dem Vorgangsknoten 1250 verbunden ist. Ein anderer Datenknoten 1230 wurde auch zu dem Arbeitsbereich 310 hinzugefügt. Der Datenknoten 1230 ist auch als Eingabe mit dem Vorgangsknoten 1250 verbunden.
  • Der Bibliotheks-Fensterbereich 374 ist in der Sidebar 370 ausgewählt. Daher umfasst die Sidebar 370 drei Bedienelemente 12811283 zum Hinzufügen von Elementen aus einer Bibliothek. In einer Ausführungsform ist eine Bibliothek ein lokaler Speicher, in dem Nutzer Datenelemente von Interesse für den Nutzer speichern können. Somit kann der Bibliotheks-Fensterbereich 370 viele weitere Bedienelemente umfassen, abhängig davon, welche Elemente von einem Nutzer hinzugefügt wurden. In einer Ausführungsform werden Bibliothekselemente mit einer Gruppe von Nutzern geteilt. Jedes der Bedienelemente 12811283 entspricht einem anderen Bibliothekselement. Die Auswahl eines der Bedienelemente 12811283 führt zum Hinzufügen des zugehörigen Bibliothekselements zu dem gegenwärtig ausgewählten Datenknoten oder zu dem Erzeugen eines neuen Datenknotens, wenn kein kompatibler Datenknoten ausgewählt wurde. Der Datenknoten 1230 wurde beispielsweise erzeugt, als der Nutzer das Bedienelement 1282 angeklickt hat.
  • Der Vorgangsknoten 1240 gehört zu einem Filtermodul. Der Vorgangsknoten 1240 kann beispielsweise zu dem Arbeitsbereich 310 in Antwort darauf hinzugefügt worden sein, dass ein Nutzer das Bedienelement 782 angeklickt hat. In der Voreinstellung ist das Filtermodul so konfiguriert, dass es den Datenknoten 1030 so filtert, dass er nur das erste Element 1031a umfasst, aber der Nutzer kann das Filterverhalten, das zu dem Vorgangsknoten 1240 gehört, neu konfigurieren, indem er den Knoten 1240 auswählt und Parameterwerte ändert, die in dem Überblicksbereich 380 in Antwort auf das Auswählen gezeigt werden.
  • Der Vorgangsknoten 1250 gehört zu einem Misch-Modul. Der Vorgangsknoten 1250 kann beispielsweise zu dem Arbeitsbereich 310 in Antwort darauf hinzugefügt worden sein, dass ein Nutzer das Bedienelement 781 angeklickt hat. Der Vorgangsknoten 1250 umfasst mehrere Eingabe-Verbindungsstellen 1253 und 1254, um es dem Knoten 1250 zu ermöglichen, mehrere Eingaben zu empfangen. Das Misch-Modul ist so konfiguriert, dass es eine Datenmenge aus den mehreren Eingaben erzeugt. Der Knoten 1250 mischt beispielsweise, wie angezeigt, die Ausgabe des Knotens 1240 mit den Daten in dem Knoten 1230.
  • 13 ist ein Screenshot 1300, der eine automatisierte Kette von Knoten zum Abrufen von Veröffentlichungen aus einer Datenbank mittels der Benutzeroberfläche 305 zeigt, gemäß einer Ausführungsform. Der Screenshot 1300 zeigt einen Teil des Arbeitsbereichs 310, einschließlich des Großteils des Arbeitsablaufs 320. Der Arbeitsablauf 320 umfasst jetzt einen Vorgangsknoten 1340 und einen Datenknoten 1330. Der Vorgangsknoten 1340 empfängt die Ausgabe des Misch-Knotens 1250 und sendet die Ausgabe an ein Modul zum Suchen in einer PubMed-Datenbank nach Artikeln. Der Vorgangsknoten 1340 wurde in Antwort darauf erzeugt, dass ein Nutzer das Bedienelement 791 ausgewählt hat.
  • Nachdem der Vorgangsknoten 1340 hinzugefügt wurde, hat der Nutzer den Arbeitsablauf 320 ausgeführt, um Ausgaben für den Vorgangsknoten 1340 zu erzeugen. Diese Ausgaben, die eine Menge von Veröffentlichungen umfassen, wurden in dem Datenknoten 1330 als zumindest die Datenelemente 1331a1331j gespeichert. Ein Nutzer kann andere Datenelemente mittels des Scrolling-Bedienelements 1235 betrachten, die in dem Knoten 1330 sind.
  • 14 ist ein Paar von Screenshots 1400 und 1450, die das Aufteilen von Daten von dem Datenknoten 1330 zeigen, um einen neuen Datenknoten 1430 in dem Arbeitsbereich 310 der Benutzeroberfläche 305 zu erzeugen, gemäß einer Ausführungsform. Die Screenshots 1400 und 1450 zeigen einen Teil des Arbeitsbereichs 310, während der Nutzer das Aufteilen ausführt, bzw. denselben Teil des Arbeitsbereichs 310, nachdem der Nutzer das Aufteilen ausgeführt hat. In dem Screenshot 1400 hat der Nutzer drei Elemente von dem Datenknoten 1330 ausgewählt: die Elemente 1331c, 1331e und 1331g. Der Nutzer zieht diese Elemente von dem Knoten 1330 zu einer leeren Fläche in dem Arbeitsbereich 310. Das Cursor-Icon 1465 zeigt die gegenwärtige Position des Cursors in dem Arbeitsbereich sowie die Anzahl der Elemente an, die der Cursor zieht.
  • In dem Screenshot 1450 hat der Nutzer die ausgewählten Elemente am Ort des Datenknotens 1430 „abgelegt”. Somit wurde der Knoten 1430 erzeugt und eine Darstellung des Knotens, einschließlich der Datenelemente 1331c, 1331e und 1331g, wurde zu dem Arbeitsbereich 310 hinzugefügt. Währenddessen werden die Datenelemente 1331c, 1331e und 1331g von dem Datenknoten 1330 als Ergebnis des Vorgangs entfernt, was dazu führt, dass die Elemente 1331k–m in dem Knoten 1330 sichtbar werden. In manchen Ausführungsformen entfernt jedoch das Aufteilen von Elementen von einem Knoten nicht notwendigerweise Elemente von dem ursprünglichen Knoten, sondern kopiert stattdessen die Elemente in einen neuen Knoten.
  • Der Knoten 1435 kann nun zu dem Arbeitsablauf 320 hinzugefügt werden. Er kann beispielsweise wieder mit dem Knoten 1340 verbunden werden, wodurch im Effekt verlangt wird, dass der Knoten 1340 seine Eingabe in zwei getrennte Datenknoten aufteilt. Oder der Knoten 1430 kann als erster Knoten in einer anderen, unabhängigen Abfolge von Knoten in dem Arbeitsablauf 320 verwendet werden.
  • Die Schnittstelle 305 ist nur ein Beispiel einer Schnittstelle zum Ausführen der Techniken, die hier beschrieben sind. Andere Schnittstellen können weniger oder zusätzliche Elemente in möglicherweise abweichenden Anordnungen aufweisen.
  • 5.0. BEISPIELHAFTE VORGANGSKNOTEN DES ARBEITSABLAUFS
  • Beispiele von Vorgangsknoten, die zum Verarbeiten von Genomdaten nützlich sein können, sind unten beschrieben. Es kann in der Tat viel mehr Arten von Modulen geben, als diejenigen, die hier aufgelistet sind. Arbeitsabläufe für andere Arten von Daten können manche dieser Vorgangsknoten umfassen, können aber auch oder stattdessen andere Vorgangsknoten umfassen, die Algorithmen zum Verarbeiten der anderen Arten von Daten widerspiegeln.
  • In einer Ausführungsform umfassen Standardmodule ein Misch-Modul zum Mischen von Datenmengen von mehreren Knoten und ein Filtermodul zum Filtern einer Datenmenge, gestützt auf konfigurierbare Kriterien.
  • In einer Ausführungsform entspricht eine Art von Vorgangsknoten einem „DNS in Protein Übersetzen”-Modul. Das Modul akzeptiert Eingaben in Form einer Sequenz. Das Modul verwendet einen lokal implementierten Algorithmus, um die DNS-Sequenz zu übersetzen. Das Modul erzeugt Ausgaben in Form einer Proteindatenstruktur. Beispielhafte konfigurierbare Parameter für das Modul können, ohne Einschränkung, einen Frame-Parameter und einen Komplement-Parameter umfassen.
  • In einer Ausführungsform entspricht eine andere Art von Vorgangsknoten einem „Alignment mehrerer Sequenzen”-Modul. Das Modul akzeptiert Eingaben in Form einer Datenmenge von mehreren Sequenzen, beispielsweise in einer multi-FASTA-formatierten Datei. Das Modul erzeugt Ausgaben in Form von Alignment-Daten, etwa in einer MSA-Alignment-Datei. Ein Überblicksbereich eines Arbeitsablaufs kann die Alignment-Daten in einem Detailansichtbereich mittels Techniken anzeigen, wie sie in der früher referenzierten Anmeldung, „Computer Graphical User Interface Supporting Aligning Genomic Sequences”, beschrieben sind.
  • In einer Ausführungsform entspricht eine andere Art von Vorgangsknoten einem „Scan der Protein-Familie(Pfam)”-Modul. Das Modul greift auf einen netzbasierten Anwendungsserver zu, der ein Hidden-Markov-Modul über einer Proteinsequenz ausführt und das oder die wahrscheinlichsten Proteinfamilien berechnet, gestützt auf Motive in der Proteinsequenz. Das Modul akzeptiert Eingaben in Form einer Proteindatenstruktur. Das Modul erzeugt Ausgaben in Form einer oder mehrerer Proteinfamilien-Datenstrukturen.
  • In einer Ausführungsform entspricht eine andere Art von Vorgangsknoten einem „Glimmer”-Modul. Das Modul greift auf einen netzbasierten Anwendungsserver zu, um Gene mittels eines interpolierten Markov-Modells zu finden. Konfigurierbare Parameter für das Modul umfassen, ohne Einschränkung, einen Gencode-Typ, einen Topologie-Typ, eine Anzahl von Eingabesequenzen und einen Ausgabedatentyp, der eine Annotation oder eine Sequenz sein kann.
  • In einer Ausführungsform entspricht eine andere Art von Vorgangsknoten einem „BLAST”-Modul. Das Modul greift auf einen netzbasierten Anwendungsserver zu, der nach Genen in einer Sequenzabfrage mittels verschiedener Bibliotheken von Genomdaten sucht. Das Modul gibt Informationen über passende Ergebnisse zurück.
  • In einer Ausführungsform entspricht eine andere Art von Vorgangsknoten einem „FASTA-Sequenz-Lesevorrichtung”-Modul, das eine FASTA-Datenstruktur in ein Protein oder eine DNS-Sequenz mittels einer lokalen Anwendung umwandelt.
  • In einer Ausführungsform entspricht eine andere Art von Vorgangsknoten einem „UniProt”-Modul. Das Modul fragt eine Online-UniProt-Datenbank ab, um Informationen über eingegebene Proteinsequenzen oder -objekte zu erhalten. Konfigurierbare Parameter für das Modul umfassen, ohne Einschränkung, einen Organismus-Parameter, Einen Gen-Ontologie-(GO)-Parameter, einen Überprüfungsparameter und einen Prosite-Parameter.
  • In einer Ausführungsform entspricht eine andere Art von Vorgangsknoten einem „PubMed”-Modul. Das Modul fragt eine Online-PubMed-Datenbank nach allen Veröffentlichungen ab, die mit Eingabedaten übereinstimmen. Konfigurierbare Parameter für das Modul umfassen, ohne Einschränkungen, einen ID-Parameter und einen Überprüfungsparameter.
  • In einer Ausführungsform können verschiedene Arbeitsablauf-Knotenarten, die von dem hier beschriebenen System unterstützt werden, ohne Einschränkung, Knoten umfassen, die eines oder mehrere der Folgenden repräsentieren: Quellfunktionen, die Daten von einer oder mehreren Quellen mittels verschiedenen Abfrage und/oder Scraping-Techniken abrufen; Aggregierungsfunktionen, etwa zusammenfassende und durchschnittliche Ergebnisse von Daten; Filterfunktionen, die Untermengen von Mengen von biologischen Objekten auswählen, gestützt auf verschiedene Übereinstimmungskriterien und/oder Schwellenwerte; Sequenz-Aufteilungsfunktionen, die einen Abschnitt von einer Sequenz oder einem Alignment auswählen und diesen Abschnitt als neues Datenobjekt verwenden; Vergleichsfunktionen, die zwei oder mehr biologische Objekte oder Mengen von Objekten vergleichen, gestützt auf eine oder mehrere angegebene Metriken, und ermitteln, ob die Unterschiede statistisch signifikant sind; Vergleichsfunktionen, die Patientenkohorten vergleichen; Umwandlungs- und Modifikationsfunktionen; Sequenz-Alignment-Erzeugungsfunktionen; Sequenz-Alignment-Analysefunktionen; Vorhersagefunktionen, die Stellen einer Sequenz vorhersagen, die für Annotationen oder andere Merkmale von Interesse sind; Annotationsfunktionen, um Annotationen automatisch zu erzeugen; Annotationssuchfunktionen; Funktionen zur Verarbeitung von natürlichen Sprachen für Veröffentlichungen; Suchfunktionen, um Krankheiten zu identifizieren, die mit bestimmten Genobjekten verbunden sind; und Speicherfunktionen, die verschiedene Annotationen oder andere Ausgaben an verschiedenen Speicherorten speichern und Ausgaben anderen Nutzern zugänglich machen.
  • In einer Ausführungsform umfassen andere beispielhafte Module, mit denen verschiedene Arbeitsablauf-Knotenarten verbunden werden können, ohne Einschränkung, Module, die die folgenden Arten von Analysen implementieren: Allele-Tests, Gentyp-Frequenz-Tests, Hardy-Weinberg-Gleichgewichts-Tests, Raten von fehlenden Genotypen, Inzuchttests, Identity-by-State- und Identity-by-Descent-Statistiken für Individuen und Paare von Individuen, nicht-Mendelsche Übertragung in Familiendaten, Complete-Linkage-Hierarchical-Clustering, multidimensionale Skalenanalyse, um Unterstrukturen zu visualisieren, Signifikanztests dafür, ob zwei Individuen der gleichen Population angehören, beschränkte Cluster-Lösungen nach Phänotyp, Cluster-Größe und/oder externe Übereinstimmungskriterien, nachfolgende Assoziationsanalysen, die von Cluster-Lösungen abhängen, Standard-Allele-Tests, Exakte Tests nach Fisher, Cochran-Armitage-Trend-Tests, Mantel-Haenszel- und Breslow-Day-Tests für geschichtete Stichproben, dominant/rezessiv- und Allgemeines-Modell-Tests, Modell-Vergleichs-Tests (z. B. allgemeines vs. multiplikatives Modell), familienbasierte Assoziationstests, etwa Transmission-Disequilibrium-Tests oder Sibship-Tests, quantitative Merkmale, Assoziationen und Interaktionen, Assoziationstests, die von einem oder mehreren Single-Nucleotide-Polymorphismen („SNPs”) abhängen, asymptotische und empirische P-Werte, flexible geclusterte Permutationsschemata, Analyse von Gentyp-Wahrscheinlichkeitsdaten und fraktionellen Allele-Zählungen (nach der Imputation), bedingte Haplotyp-Tests, Fall/Steuerungund Transmission-Disequilibrium-Assoziationstests auf der probabilistischen Haplotyp-Phase, Proxy-Assoziationsverfahren zur Untersuchung von einzelnen SNP-Assoziationen in ihrem lokalen haplotypischen Kontext, Imputationsheuristiken, um nicht typisierte SNPs zu testen, wenn ein Referenzpaneel gegeben ist, Gemeinsame-SNP- und Copy-Number-Variation(„CNV”)-Tests für Copy-Number-Varianten, Filter- und Zusammenfassungsverfahren für segmentäre (seltene) CNV-Daten, Fall/Kontroll-Vergleichstests für globale CNV-Eigenschaften, permutationsbasierte Assoziationsverfahren zum Identifizieren von spezifischen Loci, genbasierte Assoziationstests, Screening nach Epistasis, Gen-Umgebung-Interaktion mit gleichförmigen und zweigeteilten Umgebungen und/oder Fixed-Effects- und Random-Effects-Modelle.
  • 6.0. BEISPIELHAFTE ANWENDUNGSFÄLLE
  • Die folgenden Beispiele zeigen, wie ein Nutzer einen Arbeitsablauf verwenden kann, um verschiedene Ziele zu vereinfachen, die mit Genomdaten zusammenhängen. Die Beispiele dienen nur der Erklärung und sind nicht einschränkend für die Arten von Zielen, auf die der Arbeitsablauf angewendet werden kann. Es gibt natürlich viele andere Arten von Arbeitsabläufen, die unten nicht beschrieben sind, einschließlich, ohne Einschränkung, Arbeitsabläufe für Epigenetik, Auswirkungen von Copy-Number-Variationen, evolutionäre Biologie und nichtcodierte RNS-Analyse.
  • 6.1. GEN-ANNOTATION
  • Eine Verwendung für die Arbeitsabläufe, die hier beschrieben sind, liegt in der Lösung von Problemen bei der Gen-Annotation. Stämme von Lactobacillus acidophilus, die häufig in Probiotika und möglichen Impfungsvektoren von Interesse sind, haben beispielsweise manchmal ein Protein der Oberflächenschicht zum Anhaften an Zellen. Ein Forscher kann einen neuen Stamm von L. acidophilus sequenzieren. Wenn der Forscher den neuen Stamm mit den Referenzsequenzen aliniert, findet der Forscher, dass dem neuen Stamm das SlpA-Gen fehlt, er jedoch eine unbekannte Insertion hat. Der Forscher entscheidet, dass der neue Stamm interessant sein kann und will herausfinden, ob der neue Stamm ein Gen ist, die wahrscheinliche Funktion des Proteins, das der neue Stamm codiert, den biologischen Kontext des neuen Stamms und wie sich der Stamm zu Proteinen verhält, die schon bekannt sind.
  • Ein beispielhafter Arbeitsablauf, um dazu beizutragen, diese Ziele zu erreichen, kann wie folgt aussehen. Eine erste Menge von einem oder mehreren Vorgangsknoten lädt die richtige DNS-Sequenz und Metadaten, einschließlich der Quelle, des Sequenzierungsverfahrens, des Datums und der Qualität. Eine zweite Menge von einem oder mehreren Vorgangsknoten führt ein GLIMMER-Werkzeug aus, um ein oder mehrere Gene vorherzusagen, gestützt auf die geladenen Daten. Eine dritte Menge von einem oder mehreren Vorgangsknoten führt ein Mehr-Sequenz-Alignment und einen Mehr-Sequenz-Vergleich aus, um die Sequenz mit einem zugehörigen Bereich der L. acidophilus-Referenzsequenz zu vergleichen, wodurch ein Genomobjekt mit annotierten Genen erzeugt wird. Eine vierte Menge von einem oder mehreren Vorgangsknoten übersetzt das Genomobjekt in eine Proteinsequenz. Eine fünfte Menge von einem oder mehreren Vorgangsknoten sagt Pfams und GO-Termini voraus. Eine sechste Menge von einem oder mehreren Vorgangsknoten führt BLAST auf der Proteinsequenz aus, um die Fragen zu beantworten, welche Pfams und GO-Termini unter den Spitzenergebnissen am häufigsten sind, wie diese Termini sich mit denen des vorhergesagten Proteins überschneiden und wie nahe verwandt die Bakterien der Spitzenergebnisse mit L. acidophilus sind. Eine siebte Menge von einem oder mehreren Vorgangsknoten sucht nach bekannten Wegen, mit denen die Spitzenergebnisse zusammenhängen, mittels Metacyc und E. C.-Nummern. Eine achte Menge von einem oder mehreren Vorgangsknoten ruft PubMed-Daten für die Spitzen-BLAST-Ergebnisse ab. Eine neunte Menge von einem oder mehreren Vorgangsknoten findet Gene und Merkmale, die der Insertion vorgelagert und nachgelagert sind, und ermittelt, was die Funktionen dieser Stellen sind. Eine zehnte Menge von einem oder mehreren Vorgangsknoten führt ein Merkmals-/Annotationsmodul aus, um das Gen mit den PubMed-Annotationen der BLAST-Ergebnisse zu vergleichen, um einzigartige Merkmale des Gens zu identifizieren. Eine elfte Menge von einem oder mehreren Vorgangsknoten fügt geeignete Annotationen, die die einzigartigen Merkmale betreffen, als Annotationen für das Gen hinzu und verlinkt die Annotationen zurück mit dem Genom.
  • In einer Ausführungsform können verschiedene Vorgänge menschliche Eingriffe erfordern, um wichtige Datenpunkte zu identifizieren, bevor zu dem nächsten Knoten fortgeschritten wird. In einer Ausführungsform ist der Arbeitsablauf vollständig automatisiert, ohne menschliche Eingriffe. In einer Ausführungsform kann ein solcher Arbeitsablauf für erneute Verwendung gespeichert werden. Das nächste Mal, wenn der Forscher einen neuen Stamm entdeckt, kann der Forscher denselben Arbeitsablauf mit Bezug auf den neuen Stamm ausführen, einfach indem er die Eingabe des ursprünglichen Arbeitsablaufs modifiziert.
  • 6.2. SEQUENZ-STRUKTUR-FUNKTION-KRANKHEIT
  • Eine andere Verwendung der Arbeitsabläufe, die hier beschrieben sind, liegt darin, Probleme mit Sequenz-Struktur-Funktion-Krankheit mit Bezug auf ein Gen zu lösen. Ein Forscher kann beispielsweise einen Arbeitsablauf erstellen, der Fragen beantwortet, wie welche Implikationen es von den Polymorphismen in einem Gen dafür gibt, wie und wann das Gen exprimiert wird, welche Implikationen es von den Polymorphismen in dem Protein gibt, das es codiert, um mit seinem Kofaktor zu interagieren, und wie diese Implikationen mit der Rolle des Gens in der Krankheit zusammenhängen.
  • Ein beispielhafter Arbeitsablauf, um zum Erreichen dieser Ziele beizutragen, kann wie folgt aussehen: Eine erste Menge von einem oder mehreren Vorgangsknoten führt ein Mehr-Sequenz-Alignment der Varianten des Gens aus. Eine zweite Menge von einem oder mehreren Vorgangsknoten verwendet aufgezeichnete Beobachtung von Mikroarray-Expressionsdaten unter verschiedenen Versuchsbedingungen, um Muster von geänderter Aktivität zu identifizieren. Das Identifizierungsverfahren kann Mehr-Hypothesen-t-Tests und/oder andere Algorithmen umfassen, um Mutationen statistisch zu identifizieren, die mit Expressionsänderungen unter einer oder mehreren Bedingungen korreliert sind. Eine dritte Menge von einem oder mehreren Vorgangsknoten fügt einen Verlauf von annotierten Merkmalen hinzu, etwa regulatorischen Sequenzen, die mit den experimentellen Expressionsdaten verglichen werden sollen. Eine vierte Menge von einem oder mehreren Vorgangsknoten führt ein Mehr-Sequenz-Alignment der Varianten des Proteins aus. Eine fünfte Menge von einem oder mehreren Vorgangsknoten führt eine aufgezeichnete Beobachtung der Aktivitätslevels, etwa der Bindungsaffinität. Eine sechste Menge von einem oder mehreren Vorgangsknoten untersucht einzelne Assays in einem Tabellenansicht-Modul, um die Reihenfolge der Varianten nach Bindungsaffinität zu ermitteln.
  • Eine siebte Menge von einem oder mehreren Vorgangsknoten verwendet ein Strukturansicht-Modul, um festzustellen, wie die Bindungsaffinität durch Aminosäuremutationen beeinflusst sein kann, einschließlich der Vorhersage von wichtigen Interaktionen (H-Bindungen, pi-pi-Interaktionen, sterischen Interaktionen). Eine achte Menge von einer oder mehreren Vorgangsknoten sucht in PubChem nach zusätzlichen relevanten Assays. Eine neunte Menge von einer oder mehreren Vorgangsknoten sucht nach den Wegen, in denen sich das Protein befindet. Eine zehnte Menge von einer oder mehreren Vorgangsknoten sucht in PubMed nach Elementen, die sowohl mit dem Gen als auch mit einer Krankheit verbunden sind. Eine elfte Menge von einer oder mehreren Vorgangsknoten importiert die anderen Komponenten des biologischen Wegs, von dem angenommen wird, dass er Gen und Krankheit verbindet, von Uniprot und/oder anderen Datenbanken und zeichnet den biologischen Weg auf.
  • 6.3. PROTEINDESIGN
  • Eine andere Verwendung für den Arbeitsablauf, der hier beschrieben ist, liegt im Lösen von Problemen beim Proteindesign. Ein Forscher kann beispielsweise eine Menge von Kandidaten-Proteinen entwerfen wollen, um eine bestimmte chemische Funktion auszuführen, etwa Tyrosin Decarboxylase. Der Forscher wird diese Proteine herstellen lassen und sie dann in einem Bakterium ausprobieren, dem diese Aktivität fehlt.
  • Ein beispielhafter Arbeitsablauf, der dazu beiträgt, diese Ziele zu verwirklichen, kann wie folgt aussehen. Eine erste Menge von einer oder mehreren Vorgangsknoten sucht in Uniprot nach Proteinen mit Pfam PF00282 (Pyridoxal-abhängiger Decarboxylase). Eine zweite Menge von einer oder mehreren Vorgangsknoten sucht in Pfam nach PF00282 und verbindet die Ergebnisse mit den Uniprot-Ergebnissen. Eine dritte Menge von einer oder mehreren Vorgangsknoten filtert BLAST auf dieser Menge von Proteinsequenzen gegen sich selbst aus, um alle möglichen paarweisen BLAST-Vergleiche zu erzeugen. Eine vierte Menge von einer oder mehreren Vorgangsknoten clustert die Ergebnisse, gestützt auf die BLAST-Scores. Eine fünfte Menge von einer oder mehreren Vorgangsknoten betrachtet die Annotationen von jedem Cluster und ermittelt, ob es mehr als einen Cluster gibt, der mit Tyrosin-Decarboxylase-Aktivität annotiert ist. Eine sechste Menge von einer oder mehreren Vorgangsknoten aliniert die Sequenzen von jedem der Cluster, annotiert mit Y-Decarb-Aktivität. Das Alignment erreicht zwei Ziele. Zuerst erlaubt das Alignment einen Vergleich der konservierten Bereiche innerhalb und zwischen Alignments. Zweitens gruppiert das Alignment Untermengen von alinierten Sequenzen, visuell oder algorithmisch, gestützt auf Ähnlichkeit. Eine siebte Menge von einer oder mehreren Vorgangsknoten erzeugt eine Menge von Kandidatenproteinen, die für die Alignments insofern repräsentativ sind, dass die Kandidatenproteine eine gemeinsame Sequenz in den konservierten Bereichen haben. Eine achte Menge von einer oder mehreren Vorgangsknoten betrachtet die Bakterien, die die BLAST-Ergebnis-Proteine produzieren, und ermittelt, welches Bakterium dem Test-Bakterium des Forschers am ähnlichsten ist, gestützt auf phylogenetische Informationen. Dies kann es beinhalten, dass das Y-Decarb von einem Bakterium candidatel benannt wird, candidatel zu der Liste von Kandidatenproteinen hinzugefügt wird und die nicht konservierten Bereiche der anderen Kandidaten mit der Sequenz von candidatel gefüllt werden. Eine neunte Menge von einer oder mehreren Vorgangsknoten sucht in PubMed oder anderen Datenbanken nach Vergleichen der Nische und des Metabolismus' der zwei Spezies. Eine zehnte Menge von einer oder mehreren Vorgangsknoten sucht in PubMed oder anderen Datenbanken, um herauszufinden, was darüber hinaus über candidatel in dem anderen Bakterium bekannt ist. Eine elfte Menge von einer oder mehreren Vorgangsknoten analysiert die annotierten Merkmale von candidatel, um zu ergründen, ob irgendwelche Bereiche in den anderen Kandidaten gestört werden. Eine zwölfte Menge von einer oder mehreren Vorgangsknoten analysiert die Struktur von candidate 1 und das Alignment jedes der anderen Kandidaten mit candidate 1, um zu ermitteln, wo die Änderungen der Sequenz die Struktur beeinflussen können. Dies kann das Verketten der Kandidatensequenz in die Struktur von candidatel oder sowohl das Verketten in die ähnlichste bestehende PDB-Struktur als auch das Auffinden von Differenzen umfassen. Eine dreizehnte Menge von einer oder mehreren Vorgangsknoten exportiert die Sequenzen der Kandidatenproteine in eine Datenbank für spätere Referenzierung.
  • 6.4. ASSOZIATIONSSTUDIE IM GESAMTEN GENOM
  • Eine weitere Verwendung für die Arbeitsabläufe, der hier beschrieben sind, liegt in Assoziationsstudien im gesamten Genom. Ein Forscher kann beispielsweise neugierig sein, welche SNPs (wenn überhaupt) in einer Menge von Genomen mit dem Auftreten einer Krankheit verbunden sind. Der Forscher hat eine Menge von Individuen in verschiedenen Stadien der Krankheit, was durch eine Biomarker-Konzentration gemessen wird. Bei allen Individuen wird der Genotyp mittels eines SNP-Chips mit 1 Million SNPs erstellt. Eine Qualitätskontrolle wurde schon durchgeführt.
  • Ein beispielhafter Arbeitsablauf, um dazu beizutragen, die Assoziationsstudien im gesamten Genom zu verwirklichen, sieht wie folgt aus: Eine erste Menge von einem oder mehreren Vorgangsknoten verwendet Plink, Eigenstrat und/oder R-Module, um zusammenfassende Statistiken zu berechnen, einschließlich der Allele-Häufigkeit und SNP-Häufigkeit. Eine zweite Menge von einem oder mehreren Vorgangsknoten verwendet diese Module, um die Statistiken anzupassen, um Populationsschichtung einzubeziehen (d. h. Verzerrung aufgrund von Vorfahren/Verwandtschaft in dem Fall oder der Kontrollgruppe), wobei Identity-by-State-(IBS)- oder multidimensionale Skalierung verwendet wird. Eine dritte Menge von einem oder mehreren Vorgangsknoten verwendet diese Module, um eine Vielzahl von Assoziationstests auszuführen, um zu ermitteln, wie der Genotyp mit Krankheiten verbunden ist. Die Tests umfassen den exakten Test nach Fisher, Chi-Quadrat, Korrelation und Regression. Insbesondere können die folgenden Analysen ausgeführt werden: Basis-Allele (wie jedes Allel verknüpft ist), gentypische Tests (wie jedes Paar von Allelen verknüpft ist), additives Modell (hat das Vorhandensein von zwei Exemplaren eines Allels, gegenüber keinem, den doppelten Effekt, wie das Vorhandensein von einem Exemplar, gegenüber keinem), dominantes Modell (mindestens eines der untergeordneten Allele gegenüber keinem), rezessives Modell (zwei untergeordnete Allele gegenüber einem oder keinem). Eine vierte Menge von einem oder mehreren Vorgangsknoten verwendet ein Manhattan-Plot-Modul, möglicherweise mit einem ggplot2-R-Paket, um einen Plot der P-Werte aller SNPs entlang der genomischen Achse zu erzeugen. Eine fünfte Menge von einem oder mehreren Vorgangsknoten extrahiert SNPs, nach der Mehr-Hypothesen-Korrektur, mit einem P-Wert unter einem Schwellenwert (z. B. p = 10^ – 8). Eine sechste Menge von einem oder mehreren Vorgangsknoten erzeugt Mehr-Sequenz-Alignments von dem Bereich jedes der SNPs. Die Mehr-Sequenz-Alignments sind nach Fall/Kontrollgruppe geordnet. Eine siebte Menge von einem oder mehreren Vorgangsknoten sucht in dbSNP oder anderen Datenbanken nach den SNPs, um zu ermitteln, ob sie mit irgendetwas anderem verknüpft sind. Eine achte Menge von einem oder mehreren Vorgangsknoten sucht nach anderen Annotationen in diesen Bereichen, um funktionale Hypothesen zu bilden.
  • 7.0. HARDWARE-ÜBERBLICK
  • Gemäß einer Ausführungsform werden die hier beschriebenen Techniken durch eine oder mehrere Spezial-Rechenvorrichtungen implementiert. Die Spezial-Rechenvorrichtungen können fest verdrahtet sein, um die Techniken auszuführen, oder können digitale elektronische Vorrichtungen umfassen, etwa eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) oder anwenderprogrammierbare Logikfelder (FPGAs), die dauerhaft programmiert sind, um die Techniken auszuführen, oder können eine oder mehrere allgemeine Allzweck-Hardwareprozessoren umfassen, die programmiert sind, um die Techniken in Antwort auf Programmbefehle in der Firmware, im Speicher, in anderen Speichervorrichtungen oder einer Kombination daraus auszuführen. Solche Spezial-Rechenvorrichtungen können auch kundenspezifische festverdrahtete Logiken, ASICs oder FPGAs mit kundenspezifischer Programmierung kombinieren, um die Techniken zu auszuführen. Die Spezial-Rechenvorrichtungen können Desktop-Computersysteme, tragbare Computersysteme, Handheld-Vorrichtungen, Netzwerk-Vorrichtungen oder jede andere Vorrichtung sein, die festverdrahtete und/oder Programmlogik umfasst, um die Techniken zu implementieren.
  • 15 ist beispielsweise ein Blockdiagramm, das ein Computersystem 1500 zeigt, auf dem eine Ausführungsform der Erfindung implementiert werden kann. Das Computersystem 1500 umfasst einen Bus 1502 oder einen anderen Kommunikationsmechanismus, um Informationen zu übertragen, und einen Hardwareprozessor 1504, der mit dem Bus 1502 verbunden ist, um Informationen zu verarbeiten. Der Hardwareprozessor 1504 kann beispielsweise ein Allzweck-Mikroprozessor sein.
  • Das Computersystem 1500 umfasst auch einen Hauptspeicher 1506, etwa Arbeitsspeicher (RAM) oder eine andere dynamische Speichervorrichtung, die mit dem Bus 1502 verbunden ist, um Informationen und Befehle zu speichern, die von dem Prozessor 1504 ausgeführt werden sollen. Der Hauptspeicher 1506 kann auch verwendet werden, um temporäre Variablen oder andere Zwischeninformationen während dem Ausführen von Befehlen zu speichern, die von dem Prozessor 1504 ausgeführt werden sollen. Solche Befehle, wenn sie in nichtflüchtigen Speichermedien gespeichert sind, auf die der Prozessor 1504 zugreifen kann, machen das Computersystem 1500 zu einem Spezialgerät, das angepasst ist, die Vorgänge auszuführen, die in den Befehlen angegeben sind.
  • Das Computersystem 1500 umfasst weiter einen Festspeicher (ROM) 1508 oder eine andere statische Speichervorrichtung, die mit dem Bus 1502 verbunden ist, um statische Informationen und Befehle für den Prozessor 1504 zu speichern. Eine Speichervorrichtung 1510, etwa eine Magnetplatte oder eine optische Platte, ist vorgesehen und mit dem Bus 1502 verbunden, um Informationen und Befehle zu speichern.
  • Das Computersystem 1500 kann über den Bus 1502 mit einer Anzeige 1512 verbunden sein, etwa eine Bildröhre (CRT), um Informationen einem Nutzer anzuzeigen. Eine Eingabevorrichtung 1514, die alphanumerische und andere Tasten umfasst, ist mit dem Bus 1502 verbunden, um Informationen und Auswahl von Befehlen an den Prozessor 1504 zu übertragen.
  • Eine andere Art von Nutzereingabevorrichtung ist eine Cursorsteuerung 1516, etwa eine Maus, ein Trackball oder Cursor-Richtungstasten zum Übertragen von Richtungsinformationen und Auswahl von Befehlen an den Prozessor 1504 zu übertragen und um die Bewegung des Cursors auf der Anzeige 1512 zu steuern. Die Eingabevorrichtung hat üblicherweise zwei Freiheitsgrade in zwei Achsen, eine erste Achse (z. B. x) und eine zweite Achse (z. B. y), die es der Vorrichtung erlauben, Positionen in einer Ebene anzugeben.
  • Das Computersystem 1500 kann die hier beschriebenen Techniken mittels kundenspezifischer festverdrahteter Logik, einer oder mehreren ASICs oder FPGAs, Firmware und/oder Programmlogik implementieren, die zusammen mit dem Computersystem das Computersystem 1500 veranlassen oder so programmieren, dass es zu einem Spezialgerät wird. Gemäß einer Ausführungsform werden die hier beschriebenen Techniken durch das Computersystem 1500 in Antwort darauf ausgeführt, dass der Prozessor 1504 eine oder mehrere Folgen von einem oder mehreren Befehlen ausführt, die im Hauptspeicher 1506 enthalten sind. Solche Befehle können in den Hauptspeicher 1506 von einem anderen Speichermedium gelesen werden, etwa der Speichervorrichtung 1510. Das Ausführen der Folge von Befehlen, die im Hauptspeicher 1506 enthalten sind, veranlasst den Prozessor 1504, die hier beschriebenen Verfahrensschritte auszuführen. In alternativen Ausführungsformen können festverdrahtete Schaltungen anstatt oder in Kombination mit Softwarebefehlen verwendet werden.
  • Der Begriff „Speichermedium”, wie er hier verwendet wird, bezieht sich auf jedes nichtflüchtige Medium, das Daten und/oder Befehle speichert, die ein Gerät veranlassen, in einer bestimmten Weise zu arbeiten. Solche Speichermedien können nichtflüchtige Medien und/oder flüchtige Medien umfassen. Nichtflüchtige Medien umfassen beispielsweise optische oder Magnetplatten, etwa die Speichervorrichtung 1510. Flüchtige Speicher umfassen dynamischen Speicher, etwa den Hauptspeicher 1506. Übliche Formen von Speichermedien umfassen beispielsweise Floppydisks, Disketten, Festplatten, Solid-State-Drives, Magnetband, jedes andere magnetische Datenspeichermedium, eine CD-ROM, jedes andere optische Datenspeichermedium, jedes physikalische Medium mit Muster von Löchern, RAM, PROM und EPROM, Flash-EPROM, NVRAM, jeden anderen Speicherchip oder jede andere Kassette. Die Begriffe computerlesbares Medium und Speichermedium, wie sie hier verwendet werden, umfassen nichtflüchtige Medien sowie Übertragungsmedien.
  • Speichermedien unterscheiden sich von Übertragungsmedien, können aber mit ihnen zusammen verwendet werden. Übertragungsmedien tragen dazu bei, Informationen zwischen Speichermedien zu übertragen. Übertragungsmedien umfassen beispielsweise Koaxialkabel, Kupferkabel und Glasfasern, einschließlich der Kabel, die den Bus 1502 bilden. Übertragungsmedien können auch die Form von akustischen oder Lichtwellen annehmen, etwa denen, die während Radio- und Infrarot-Datenkommunikation erzeugt werden.
  • Verschiedene Arten von Medien können daran beteiligt sein, eine oder mehrere Folgen von einem oder mehreren Befehlen zu dem Prozessor 1504 zur Ausführung zu übertragen. Die Befehle können beispielsweise anfangs auf einer Magnetplatte oder einem Solid-State-Drive eines entfernten Computers gespeichert sein. Der entfernte Computer kann die Befehle in seinen dynamischen Speicher laden und die Befehle über eine Telefonleitung mittels eines Modems übertragen. Ein Modem, das in der Nähe des Computersystems 1500 liegt, kann die Daten auf der Telefonleitung empfangen und einen Infrarotsender verwenden, um die Daten in eine Infrarotsignal umzuwandeln. Ein Infrarotempfänger kann die Daten empfangen, die in dem Infrarotsignal übertragen werden, und geeignete Schaltungen können die Daten auf den Bus 1502 legen. Der Bus 1502 überträgt die Daten zu dem Hauptspeicher 1506, von dem der Prozessor 1504 die Befehle abruft und ausführt. Die Befehle, die von dem Hauptspeicher 1506 empfangen werden, können optional in der Speichervorrichtung 1510 gespeichert werden, entweder bevor oder nachdem sie von dem Prozessor 1504 ausgeführt werden.
  • Das Computersystem 1500 umfasst auch eine Kommunikationsschnittstelle 1518, die mit dem Bus 1502 verbunden ist. Die Kommunikationsschnittstelle 1518 stellt eine Zwei-Wege-Datenkommunikationsverbindung mit einer Netzwerkverbindung 1520 bereit, die mit einem lokalen Netzwerk 1522 verbunden ist. Die Kommunikationsschnittstelle 1518 kann beispielsweise eine ISDN-Karte, ein Kabelmodem, ein Satellitenmodem oder ein Modem sein, um eine Datenkommunikationsverbindung zu einer entsprechenden Art von Telefonleitung herzustellen. Als weiteres Beispiel kann die Kommunikationsschnittstelle 1518 eine LAN-Karte sein, um eine Datenkommunikationsverbindung zu einem kompatiblen LAN herzustellen. Drahtlose Verbindungen können auch implementiert werden. In einer solchen Implementierung sendet und empfängt die Kommunikationsschnittstelle 1518 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme übertragen, die verschiedene Arten von Informationen repräsentieren.
  • Die Netzwerkverbindung 1520 stellt üblicherweise Datenkommunikation über ein oder mehrere Netzwerke zu anderen Datenvorrichtungen bereit. Die Netzwerkverbindung 1520 kann beispielsweise eine Verbindung über ein lokales Netzwerk 1522 zu einem Host-Computer 1524 oder zu Datengeräten herstellen, die von einem Internet-Service-Provider (ISP) 1526 betrieben werden. Der ISP 1526 stellt seinerseits Datenkommunikationsdienste über das weltweite Paket-Datenkommunikationsnetzwerk bereit, das heute üblicherweise als „Internet” 1528 bezeichnet wird. Das lokale Netzwerk 1522 und das Internet 1528 verwenden beide elektrische, elektromagnetische oder optische Signale, die digitale Datenströme übertragen. Die Signale über die verschiedenen Netzwerke und die Signale auf der Netzwerkverbindung 1520 und über die Kommunikationsschnittstelle 1518, die die digitalen Daten zu und von dem Computersystem 1500 übertragen, sind Beispielformen von Übertragungsmedien.
  • Das Computersystem 1500 kann über das/die Netzwerk(e), die Netzwerkverbindung 1520 und die Kommunikationsschnittstelle 1518 Nachrichten senden und Daten empfangen, einschließlich Programmcode. Bei dem Internetbeispiel könnte ein Server 1530 einen angeforderten Code für ein Anwendungsprogramm über das Internet 1518, den ISP 1526, das lokale Netzwerk 1522 und die Kommunikationsschnittstelle 1518 übertragen.
  • Der empfangene Code kann von dem Prozessor 1504 so ausgeführt werden, wie er empfangen wurde, und/oder in der Speichervorrichtung 1510 oder einem anderen nichtflüchtigen Speicher gespeichert werden, um später ausgeführt zu werden.
  • In der vorangegangenen Beschreibung wurden Ausführungsformen der Erfindung mit Bezug auf viele spezielle Details beschrieben, die sich von Implementierung zu Implementierung unterscheiden können. Die Beschreibung und die Zeichnungen sollen daher in einem beschreibenden und nicht einem einschränkenden Sinn verstanden werden. Die einzige und exklusive Festlegung des Schutzumfangs der Erfindung und was von den Anmeldern als Schutzumfang der Erfindung angesehen wird, ist der buchstäbliche und äquivalente Schutzumfang der Menge der Ansprüche, die in dieser Anmeldung angegeben sind, in der spezifischen Form, in der diese Ansprüche angegeben sind, einschließlich aller nachfolgenden Korrekturen.

Claims (20)

  1. Verfahren, das Folgendes umfasst: Empfangen einer ersten Eingabe, die eine Quelle angibt, von der eine oder mehrere Nukleotidsequenzen erhalten werden sollen; Empfangen einer oder mehrerer zweiter Eingaben, die ein oder mehrere Module zum Verarbeiten von Daten auswählen, einschließlich mindestens ein Modul, um die eine oder mehreren Nukleotidsequenzen zu verarbeiten; Darstellen graphischer Komponenten, die die Quelle und das eine oder die mehreren Module als Knoten in einem Arbeitsbereich repräsentieren, in einer graphischen Benutzeroberfläche; Empfangen einer oder mehrerer dritter Eingaben über die graphische Benutzeroberfläche, die die Quelle und das eine oder die mehreren Module als ein Arbeitsablauf anordnen, der eine Abfolge von Knoten aufweist, wobei die Abfolge für jedes bestimmte Modul der ausgewählten Module anzeigt, dass die Ausgabe von entweder der Quelle oder einem anderen bestimmten Modul in das bestimmte Modul eingegeben werden soll; Erzeugen einer Ausgabe für den Arbeitsablauf, gestützt auf die eine oder mehreren Nukleotidsequenzen, indem jedes Modul des einen oder der mehreren Module in einer Reihenfolge verarbeitet wird, die durch die Abfolge angegeben wird; wobei das Verfahren durch eine oder mehrere Rechenvorrichtungen ausgeführt wird.
  2. Verfahren nach Anspruch 1, wobei jedes Modul des einen oder der mehreren Module eine Ausgabe erzeugt, die einer Ontologie entspricht, die Datenstrukturen definiert, die Genomdaten repräsentieren, wobei die Datenstrukturen zumindest Sequenzen, Proteinobjekte, Alignment-Objekte, Annotationen und Veröffentlichungen umfassen.
  3. Verfahren nach Anspruch 1 oder 2, das weiter Folgendes umfasst: Erzeugen eines Datenknotens aus der Ausgabe, wobei der Datenknoten Elemente von Genomdaten umfasst, wobei der Datenknoten mit einem letzten Modul in der Abfolge verbunden ist; Empfangen einer vierten Eingabe, die ein Element der Genomdaten zu dem Datenknoten hinzufügt oder von ihm entfernt, über die graphische Benutzeroberfläche; Empfangen einer fünften Eingabe, die ein bestimmtes Modul auswählt, um den Datenknoten zu verarbeiten, über die graphische Benutzeroberfläche; Hinzufügen des bestimmten Moduls zu dem Ende der Abfolge; Erzeugen einer zweiten Ausgabe für den Arbeitsablauf, gestützt auf die eine oder mehreren Nukleotidsequenzen, indem jedes Modul der Abfolge, einschließlich des bestimmten Moduls, in der Reihenfolge verarbeitet wird, die durch die Abfolge angezeigt ist.
  4. Verfahren nach einem der vorangegangenen Ansprüche, wobei das eine oder die mehreren Module eine Mehrzahl von Modulen umfassen, wobei das Erzeugen der Ausgabe für den Arbeitsablauf das Verwenden der Ausgabe von der Quelle als Eingabe für ein erstes Modul und das Verwenden der Ausgabe von dem ersten Modul als Eingabe für ein zweites Modul umfasst.
  5. Verfahren nach einem der vorangegangenen Ansprüche, wobei das mindestens eine Modul so konfiguriert ist, dass es die eine oder mehreren Nukleotidsequenzen verarbeitet, indem es mit einem externen Webserver und/oder einem externen Datenbankserver kommuniziert.
  6. Verfahren nach einem der vorangegangenen Ansprüche, das weiter Folgendes umfasst: Speichern von Arbeitsablauf-Daten, die die Abfolge beschreiben; Veranlassen, dass die Arbeitsablauf-Daten mit mehreren Nutzern geteilt werden; nachfolgendes Rekonstruieren der Abfolge in einer zweiten graphischen Benutzeroberfläche, gestützt auf die Arbeitsablauf-Daten; Empfangen einer vierten Eingabe über die graphische Benutzeroberfläche, die die Abfolge so modifiziert, dass sie ein oder mehrere zusätzliche Module umfasst; Erzeugen einer zweiten Ausgabe, gestützt auf die eine oder mehreren Nukleotidsequenzen, indem jedes Modul in der Abfolge, einschließlich des einen oder der mehreren zusätzlichen Module, in einer Reihenfolge verarbeitet wird, die durch die Abfolge angegeben ist.
  7. Verfahren nach einem der vorangegangenen Ansprüche, wobei das eine oder die mehreren Module ein erstes Modul umfassen, das eine erste Ausgabe gestützt auf die Quelle erzeugt, und ein zweites Modul, das die erste Ausgabe mit einer zweiten Ausgabe von einem dritten Modul mischt, das nicht in der Abfolge ist, wobei die Quelle, das erste Modul, das zweite Modul und das dritte Modul alle Knoten in einem Arbeitsablauf sind.
  8. Verfahren nach einem der vorangegangenen Ansprüche, das weiter das Darstellen von Bedienelementen zum Auswählen des einen oder der mehreren Module umfasst, wobei die Bedienelemente zumindest Folgendes umfassen: ein erstes Bedienelement zum Auswählen eines ersten Moduls, das nach Veröffentlichungen in einer Online-Datenbank sucht, gestützt auf Genomdaten, ein zweites Bedienelement zum Auswählen eines zweiten Moduls, das ein Sequenz-Alignment für mehrere Sequenzen ausgibt, und ein drittes Bedienelement zum Auswählen eines dritten Moduls, das Proteinfamilien für eine Nukleotidsequenz identifiziert.
  9. Verfahren nach einem der vorangegangenen Ansprüche, wobei das Empfangen der einen oder mehreren dritten Eingaben das Darstellen von visuellem Feedback umfasst, während ein erster Knoten ausgewählt wird, der anzeigt, dass Genomdaten, die von dem ersten Knoten ausgegeben wurden, als Eingabe für einen zweiten Knoten verknüpft werden können.
  10. Verfahren nach einem der vorangegangenen Ansprüche, wobei das eine oder die mehreren Module mindestens zwei Module umfassen, wobei das Verarbeiten jedes der Module des einen oder der mehreren Module in einer Reihenfolge, die durch die Abfolge angezeigt ist, das automatische Verarbeiten jedes der Module umfasst, ohne menschliches Eingreifen zwischen dem Anfang des Verarbeitens eines ersten Moduls in der Abfolge und dem Erzeugen der Ausgabe, indem das Verarbeiten eines letzten Moduls in der Abfolge abgeschlossen wird.
  11. Ein oder mehrere computerlesbare Medien, die Befehle speichern, die, wenn sie durch eine oder mehrere Rechenvorrichtungen ausgeführt werden, folgende Auswirkungen haben: Empfangen einer ersten Eingabe, die eine Quelle angibt, von der eine oder mehrere Nukleotidsequenzen erhalten werden sollen; Empfangen einer oder mehrerer zweiter Eingaben, die ein oder mehrere Module zum Verarbeiten von Daten auswählen, einschließlich mindestens ein Modul, um die eine oder mehreren Nukleotidsequenzen zu verarbeiten; Darstellen graphischer Komponenten, die die Quelle und das eine oder die mehreren Module als Knoten in einem Arbeitsbereich repräsentieren, in einer graphischen Benutzeroberfläche; Empfangen einer oder mehrerer dritter Eingaben über die graphische Benutzeroberfläche, die die Quelle und das eine oder die mehreren Module als ein Arbeitsablauf anordnen, der eine Abfolge von Knoten aufweist, wobei die Abfolge für jedes bestimmte Modul der ausgewählten Module anzeigt, dass die Ausgabe von entweder der Quelle oder einem anderen bestimmten Modul in das bestimmte Modul eingegeben werden soll; Erzeugen einer Ausgabe für den Arbeitsablauf, gestützt auf die eine oder mehreren Nukleotidsequenzen, indem jedes Modul des einen oder der mehreren Module in einer Reihenfolge verarbeitet wird, die durch die Abfolge angegeben wird.
  12. Das eine oder die mehreren computerlesbaren Medien nach Anspruch 11, wobei jedes Modul des einen oder der mehreren Module eine Ausgabe erzeugt, die einer Ontologie entspricht, die Datenstrukturen definiert, die Genomdaten repräsentieren, wobei die Datenstrukturen zumindest Sequenzen, Proteinobjekte, Alignment-Objekte, Annotationen und Veröffentlichungen umfassen.
  13. Das eine oder die mehreren computerlesbaren Medien nach Anspruch 11 oder 12, wobei die Befehle, wenn sie von der einen oder den mehreren Rechenvorrichtungen ausgeführt werden, weiter folgende Auswirkungen haben: Erzeugen eines Datenknotens aus der Ausgabe, wobei der Datenknoten Elemente von Genomdaten umfasst, wobei der Datenknoten mit einem letzten Modul in der Abfolge verbunden ist; Empfangen einer vierten Eingabe, die ein Element der Genomdaten zu dem Datenknoten hinzufügt oder von ihm entfernt, über die graphische Benutzeroberfläche; Empfangen einer fünften Eingabe, die ein bestimmtes Modul auswählt, um den Datenknoten zu verarbeiten, über die graphische Benutzeroberfläche; Hinzufügen des bestimmten Moduls zu dem Ende der Abfolge; Erzeugen einer zweiten Ausgabe für den Arbeitsablauf, gestützt auf die eine oder mehreren Nukleotidsequenzen, indem jedes Modul der Abfolge, einschließlich des bestimmten Moduls, in der Reihenfolge verarbeitet wird, die durch die Abfolge angezeigt ist.
  14. Das eine oder die mehreren computerlesbaren Medien nach einem der Ansprüche 11 bis 13, wobei das eine oder die mehreren Module eine Mehrzahl von Modulen umfassen, wobei das Erzeugen der Ausgabe für den Arbeitsablauf das Verwenden der Ausgabe von der Quelle als Eingabe für ein erstes Modul und das Verwenden der Ausgabe von dem ersten Modul als Eingabe für ein zweites Modul umfasst.
  15. Das eine oder die mehreren computerlesbaren Medien nach einem der Ansprüche 11 bis 14, wobei das mindestens eine Modul so konfiguriert ist, dass es die eine oder mehreren Nukleotidsequenzen verarbeitet, indem es mit einem externen Webserver und/oder einem externen Datenbankserver kommuniziert.
  16. Das eine oder die mehreren computerlesbaren Medien nach einem der Ansprüche 11 bis 15, wobei die Befehle, wenn sie durch die eine oder mehreren Rechenvorrichtungen ausgeführt werden, weiter folgende Auswirkungen haben: Speichern von Arbeitsablauf-Daten, die die Abfolge beschreiben; Veranlassen, dass die Arbeitsablauf-Daten mit mehreren Nutzern geteilt werden; nachfolgendes Rekonstruieren der Abfolge in einer zweiten graphischen Benutzeroberfläche, gestützt auf die Arbeitsablauf-Daten; Empfangen einer vierten Eingabe über die graphische Benutzeroberfläche, die die Abfolge so modifiziert, dass sie ein oder mehrere zusätzliche Module umfasst; Erzeugen einer zweiten Ausgabe, gestützt auf die eine oder mehreren Nukleotidsequenzen, indem jedes Modul in der Abfolge, einschließlich des einen oder der mehreren zusätzlichen Module, in einer Reihenfolge verarbeitet wird, die durch die Abfolge angegeben ist.
  17. Das eine oder die mehreren computerlesbaren Medien nach einem der Ansprüche 11 bis 16, wobei das eine oder die mehreren Module ein erstes Modul umfassen, das eine erste Ausgabe gestützt auf die Quelle erzeugt, und ein zweites Modul, das die erste Ausgabe mit einer zweiten Ausgabe von einem dritten Modul mischt, das nicht in der Abfolge ist, wobei die Quelle, das erste Modul, das zweite Modul und das dritte Modul alle Knoten in einem Arbeitsablauf sind.
  18. Das eine oder die mehreren computerlesbaren Medien nach einem der Ansprüche 11 bis 17, die weiter das Darstellen von Bedienelementen zum Auswählen des einen oder der mehreren Module umfasst, wobei die Bedienelemente zumindest Folgendes umfassen: ein erstes Bedienelement zum Auswählen eines ersten Moduls, das, gestützt auf Genomdaten, nach Veröffentlichungen in einer Online-Datenbank sucht, ein zweites Bedienelement zum Auswählen eines zweiten Moduls, das ein Sequenz-Alignment für mehrere Sequenzen ausgibt, und ein drittes Bedienelement zum Auswählen eines dritten Moduls, das Proteinfamilien für eine Nukleotidsequenz identifiziert.
  19. Das eine oder die mehreren computerlesbaren Medien nach einem der Ansprüche 11 bis 18, wobei das Empfangen der einen oder mehreren dritten Eingaben das Darstellen von visuellem Feedback umfasst, während ein erster Knoten ausgewählt wird, der anzeigt, dass Genomdaten, die von dem ersten Knoten ausgegeben werden, als Eingabe für einen zweiten Knoten verknüpft werden können.
  20. Das eine oder die mehreren computerlesbaren Medien nach einem der Ansprüche 11 bis 19, wobei das eine oder die mehreren Module mindestens zwei Module umfassen, wobei das Verarbeiten jedes der Module des einen oder der mehreren Module in einer Reihenfolge, die durch die Abfolge angezeigt ist, das automatische Verarbeiten jedes der Module umfasst, ohne menschlichen Eingriff zwischen dem Anfang des Verarbeitens eines ersten Moduls in der Abfolge und dem Erzeugen der Ausgabe, indem das Verarbeiten eines letzten Moduls in der Abfolge abgeschlossen wird.
DE102014103482.1A 2013-03-15 2014-03-14 Graphische Benutzeroberfläche eines Computers mit genomischem Arbeitsablauf Pending DE102014103482A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/831,791 US9501202B2 (en) 2013-03-15 2013-03-15 Computer graphical user interface with genomic workflow
US13/831,791 2013-03-15

Publications (1)

Publication Number Publication Date
DE102014103482A1 true DE102014103482A1 (de) 2014-09-18

Family

ID=50555220

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014103482.1A Pending DE102014103482A1 (de) 2013-03-15 2014-03-14 Graphische Benutzeroberfläche eines Computers mit genomischem Arbeitsablauf

Country Status (6)

Country Link
US (4) US9501202B2 (de)
AU (1) AU2014200965B2 (de)
CA (1) CA2845606C (de)
DE (1) DE102014103482A1 (de)
GB (1) GB2517529A (de)
NL (1) NL2012437B1 (de)

Cited By (135)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009171B1 (en) 2014-05-02 2015-04-14 Palantir Technologies Inc. Systems and methods for active column filtering
US9043894B1 (en) 2014-11-06 2015-05-26 Palantir Technologies Inc. Malicious software detection in a computing system
US9043696B1 (en) 2014-01-03 2015-05-26 Palantir Technologies Inc. Systems and methods for visual definition of data associations
US9116975B2 (en) 2013-10-18 2015-08-25 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores
US9123086B1 (en) 2013-01-31 2015-09-01 Palantir Technologies, Inc. Automatically generating event objects from images
US9223773B2 (en) 2013-08-08 2015-12-29 Palatir Technologies Inc. Template system for custom document generation
US9256664B2 (en) 2014-07-03 2016-02-09 Palantir Technologies Inc. System and method for news events detection and visualization
US9292388B2 (en) 2014-03-18 2016-03-22 Palantir Technologies Inc. Determining and extracting changed data from a data source
US9335897B2 (en) 2013-08-08 2016-05-10 Palantir Technologies Inc. Long click display of a context menu
US9335911B1 (en) 2014-12-29 2016-05-10 Palantir Technologies Inc. Interactive user interface for dynamic data analysis exploration and query processing
US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs
US9367872B1 (en) 2014-12-22 2016-06-14 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation of bad actor behavior based on automatic clustering of related data in various data structures
US9378526B2 (en) 2012-03-02 2016-06-28 Palantir Technologies, Inc. System and method for accessing data objects via remote references
US9383911B2 (en) 2008-09-15 2016-07-05 Palantir Technologies, Inc. Modal-less interface enhancements
US9454785B1 (en) 2015-07-30 2016-09-27 Palantir Technologies Inc. Systems and user interfaces for holistic, data-driven investigation of bad actor behavior based on clustering and scoring of related data
US9454281B2 (en) 2014-09-03 2016-09-27 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US9471370B2 (en) 2012-10-22 2016-10-18 Palantir Technologies, Inc. System and method for stack-based batch evaluation of program instructions
US9483162B2 (en) 2014-02-20 2016-11-01 Palantir Technologies Inc. Relationship visualizations
US9501851B2 (en) 2014-10-03 2016-11-22 Palantir Technologies Inc. Time-series analysis system
US9514205B1 (en) 2015-09-04 2016-12-06 Palantir Technologies Inc. Systems and methods for importing data from electronic data files
US9552615B2 (en) 2013-12-20 2017-01-24 Palantir Technologies Inc. Automated database analysis to detect malfeasance
US9557882B2 (en) 2013-08-09 2017-01-31 Palantir Technologies Inc. Context-sensitive views
US9619557B2 (en) 2014-06-30 2017-04-11 Palantir Technologies, Inc. Systems and methods for key phrase characterization of documents
US9646396B2 (en) 2013-03-15 2017-05-09 Palantir Technologies Inc. Generating object time series and data objects
US9652510B1 (en) 2015-12-29 2017-05-16 Palantir Technologies Inc. Systems and user interfaces for data analysis including artificial intelligence algorithms for generating optimized packages of data items
US9652291B2 (en) 2013-03-14 2017-05-16 Palantir Technologies, Inc. System and method utilizing a shared cache to provide zero copy memory mapped database
US9678850B1 (en) 2016-06-10 2017-06-13 Palantir Technologies Inc. Data pipeline monitoring
US9727622B2 (en) 2013-12-16 2017-08-08 Palantir Technologies, Inc. Methods and systems for analyzing entity performance
US9727560B2 (en) 2015-02-25 2017-08-08 Palantir Technologies Inc. Systems and methods for organizing and identifying documents via hierarchies and dimensions of tags
US9740369B2 (en) 2013-03-15 2017-08-22 Palantir Technologies Inc. Systems and methods for providing a tagging interface for external content
US9767172B2 (en) 2014-10-03 2017-09-19 Palantir Technologies Inc. Data aggregation and analysis system
US9772934B2 (en) 2015-09-14 2017-09-26 Palantir Technologies Inc. Pluggable fault detection tests for data pipelines
US9785773B2 (en) 2014-07-03 2017-10-10 Palantir Technologies Inc. Malware data item analysis
US9785317B2 (en) 2013-09-24 2017-10-10 Palantir Technologies Inc. Presentation and analysis of user interaction data
US9798768B2 (en) 2012-09-10 2017-10-24 Palantir Technologies, Inc. Search around visual queries
US9817563B1 (en) 2014-12-29 2017-11-14 Palantir Technologies Inc. System and method of generating data points from one or more data stores of data items for chart creation and manipulation
US9823818B1 (en) 2015-12-29 2017-11-21 Palantir Technologies Inc. Systems and interactive user interfaces for automatic generation of temporal representation of data objects
US9852195B2 (en) 2013-03-15 2017-12-26 Palantir Technologies Inc. System and method for generating event visualizations
US9852205B2 (en) 2013-03-15 2017-12-26 Palantir Technologies Inc. Time-sensitive cube
US9857958B2 (en) 2014-04-28 2018-01-02 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive access of, investigation of, and analysis of data objects stored in one or more databases
US9864493B2 (en) 2013-10-07 2018-01-09 Palantir Technologies Inc. Cohort-based presentation of user interaction data
US9870205B1 (en) 2014-12-29 2018-01-16 Palantir Technologies Inc. Storing logical units of program code generated using a dynamic programming notebook user interface
US9880987B2 (en) 2011-08-25 2018-01-30 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US9886467B2 (en) 2015-03-19 2018-02-06 Plantir Technologies Inc. System and method for comparing and visualizing data entities and data entity series
US9891808B2 (en) 2015-03-16 2018-02-13 Palantir Technologies Inc. Interactive user interfaces for location-based data analysis
US9898167B2 (en) 2013-03-15 2018-02-20 Palantir Technologies Inc. Systems and methods for providing a tagging interface for external content
US9898509B2 (en) 2015-08-28 2018-02-20 Palantir Technologies Inc. Malicious activity detection system capable of efficiently processing data accessed from databases and generating alerts for display in interactive user interfaces
US9898528B2 (en) 2014-12-22 2018-02-20 Palantir Technologies Inc. Concept indexing among database of documents using machine learning techniques
US9923925B2 (en) 2014-02-20 2018-03-20 Palantir Technologies Inc. Cyber security sharing and identification system
US9946738B2 (en) 2014-11-05 2018-04-17 Palantir Technologies, Inc. Universal data pipeline
US9953445B2 (en) 2013-05-07 2018-04-24 Palantir Technologies Inc. Interactive data object map
US9965937B2 (en) 2013-03-15 2018-05-08 Palantir Technologies Inc. External malware data item clustering and analysis
US9965534B2 (en) 2015-09-09 2018-05-08 Palantir Technologies, Inc. Domain-specific language for dataset transformations
US9984133B2 (en) 2014-10-16 2018-05-29 Palantir Technologies Inc. Schematic and database linking system
US9996595B2 (en) 2015-08-03 2018-06-12 Palantir Technologies, Inc. Providing full data provenance visualization for versioned datasets
US9998485B2 (en) 2014-07-03 2018-06-12 Palantir Technologies, Inc. Network intrusion data item clustering and analysis
US9996229B2 (en) 2013-10-03 2018-06-12 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US10037383B2 (en) 2013-11-11 2018-07-31 Palantir Technologies, Inc. Simple web search
US10037314B2 (en) 2013-03-14 2018-07-31 Palantir Technologies, Inc. Mobile reports
US10042524B2 (en) 2013-10-18 2018-08-07 Palantir Technologies Inc. Overview user interface of emergency call data of a law enforcement agency
US10102369B2 (en) 2015-08-19 2018-10-16 Palantir Technologies Inc. Checkout system executable code monitoring, and user account compromise determination system
US10133782B2 (en) 2016-08-01 2018-11-20 Palantir Technologies Inc. Techniques for data extraction
US10152306B2 (en) 2016-11-07 2018-12-11 Palantir Technologies Inc. Framework for developing and deploying applications
US10180934B2 (en) 2017-03-02 2019-01-15 Palantir Technologies Inc. Automatic translation of spreadsheets into scripts
US10180929B1 (en) 2014-06-30 2019-01-15 Palantir Technologies, Inc. Systems and methods for identifying key phrase clusters within documents
US10198515B1 (en) 2013-12-10 2019-02-05 Palantir Technologies Inc. System and method for aggregating data from a plurality of data sources
US10204119B1 (en) 2017-07-20 2019-02-12 Palantir Technologies, Inc. Inferring a dataset schema from input files
US10216801B2 (en) 2013-03-15 2019-02-26 Palantir Technologies Inc. Generating data clusters
US10230746B2 (en) 2014-01-03 2019-03-12 Palantir Technologies Inc. System and method for evaluating network threats and usage
US10229284B2 (en) 2007-02-21 2019-03-12 Palantir Technologies Inc. Providing unique views of data based on changes or rules
US10261763B2 (en) 2016-12-13 2019-04-16 Palantir Technologies Inc. Extensible data transformation authoring and validation system
US10262047B1 (en) 2013-11-04 2019-04-16 Palantir Technologies Inc. Interactive vehicle information map
US10275778B1 (en) 2013-03-15 2019-04-30 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation based on automatic malfeasance clustering of related data in various data structures
US10296617B1 (en) 2015-10-05 2019-05-21 Palantir Technologies Inc. Searches of highly structured data
US10318630B1 (en) 2016-11-21 2019-06-11 Palantir Technologies Inc. Analysis of large bodies of textual data
US10324609B2 (en) 2016-07-21 2019-06-18 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US10331797B2 (en) 2011-09-02 2019-06-25 Palantir Technologies Inc. Transaction protocol for reading database values
US10356032B2 (en) 2013-12-26 2019-07-16 Palantir Technologies Inc. System and method for detecting confidential information emails
US10360252B1 (en) 2017-12-08 2019-07-23 Palantir Technologies Inc. Detection and enrichment of missing data or metadata for large data sets
US10362133B1 (en) 2014-12-22 2019-07-23 Palantir Technologies Inc. Communication data processing architecture
US10372879B2 (en) 2014-12-31 2019-08-06 Palantir Technologies Inc. Medical claims lead summary report generation
US10373078B1 (en) 2016-08-15 2019-08-06 Palantir Technologies Inc. Vector generation for distributed data sets
US10387834B2 (en) 2015-01-21 2019-08-20 Palantir Technologies Inc. Systems and methods for accessing and storing snapshots of a remote application in a document
US10403011B1 (en) 2017-07-18 2019-09-03 Palantir Technologies Inc. Passing system with an interactive user interface
USRE47594E1 (en) 2011-09-30 2019-09-03 Palantir Technologies Inc. Visual data importer
US10423582B2 (en) 2011-06-23 2019-09-24 Palantir Technologies, Inc. System and method for investigating large amounts of data
US10437612B1 (en) 2015-12-30 2019-10-08 Palantir Technologies Inc. Composite graphical interface with shareable data-objects
US10437840B1 (en) 2016-08-19 2019-10-08 Palantir Technologies Inc. Focused probabilistic entity resolution from multiple data sources
US10444940B2 (en) 2015-08-17 2019-10-15 Palantir Technologies Inc. Interactive geospatial map
US10452678B2 (en) 2013-03-15 2019-10-22 Palantir Technologies Inc. Filter chains for exploring large data sets
US10460602B1 (en) 2016-12-28 2019-10-29 Palantir Technologies Inc. Interactive vehicle information mapping system
US10484407B2 (en) 2015-08-06 2019-11-19 Palantir Technologies Inc. Systems, methods, user interfaces, and computer-readable media for investigating potential malicious communications
US10489391B1 (en) 2015-08-17 2019-11-26 Palantir Technologies Inc. Systems and methods for grouping and enriching data items accessed from one or more databases for presentation in a user interface
US10509844B1 (en) 2017-01-19 2019-12-17 Palantir Technologies Inc. Network graph parser
US10534595B1 (en) 2017-06-30 2020-01-14 Palantir Technologies Inc. Techniques for configuring and validating a data pipeline deployment
US10545982B1 (en) 2015-04-01 2020-01-28 Palantir Technologies Inc. Federated search of multiple sources with conflict resolution
US10552994B2 (en) 2014-12-22 2020-02-04 Palantir Technologies Inc. Systems and interactive user interfaces for dynamic retrieval, analysis, and triage of data items
US10554516B1 (en) 2016-06-09 2020-02-04 Palantir Technologies Inc. System to collect and visualize software usage metrics
US10552524B1 (en) 2017-12-07 2020-02-04 Palantir Technolgies Inc. Systems and methods for in-line document tagging and object based data synchronization
US10558339B1 (en) 2015-09-11 2020-02-11 Palantir Technologies Inc. System and method for analyzing electronic communications and a collaborative electronic communications user interface
US10572487B1 (en) 2015-10-30 2020-02-25 Palantir Technologies Inc. Periodic database search manager for multiple data sources
US10572576B1 (en) 2017-04-06 2020-02-25 Palantir Technologies Inc. Systems and methods for facilitating data object extraction from unstructured documents
US10572496B1 (en) 2014-07-03 2020-02-25 Palantir Technologies Inc. Distributed workflow system and database with access controls for city resiliency
US10599762B1 (en) 2018-01-16 2020-03-24 Palantir Technologies Inc. Systems and methods for creating a dynamic electronic form
US10621314B2 (en) 2016-08-01 2020-04-14 Palantir Technologies Inc. Secure deployment of a software package
US10650086B1 (en) 2016-09-27 2020-05-12 Palantir Technologies Inc. Systems, methods, and framework for associating supporting data in word processing
US10678860B1 (en) 2015-12-17 2020-06-09 Palantir Technologies, Inc. Automatic generation of composite datasets based on hierarchical fields
US10698938B2 (en) 2016-03-18 2020-06-30 Palantir Technologies Inc. Systems and methods for organizing and identifying documents via hierarchies and dimensions of tags
US10706434B1 (en) 2015-09-01 2020-07-07 Palantir Technologies Inc. Methods and systems for determining location information
US10719188B2 (en) 2016-07-21 2020-07-21 Palantir Technologies Inc. Cached database and synchronization system for providing dynamic linked panels in user interface
US10754820B2 (en) 2017-08-14 2020-08-25 Palantir Technologies Inc. Customizable pipeline for integrating data
US10754822B1 (en) 2018-04-18 2020-08-25 Palantir Technologies Inc. Systems and methods for ontology migration
US10783162B1 (en) 2017-12-07 2020-09-22 Palantir Technologies Inc. Workflow assistant
US10795909B1 (en) 2018-06-14 2020-10-06 Palantir Technologies Inc. Minimized and collapsed resource dependency path
US10795723B2 (en) 2014-03-04 2020-10-06 Palantir Technologies Inc. Mobile tasks
US10817513B2 (en) 2013-03-14 2020-10-27 Palantir Technologies Inc. Fair scheduling for mixed-query loads
US10824604B1 (en) 2017-05-17 2020-11-03 Palantir Technologies Inc. Systems and methods for data entry
US10839144B2 (en) 2015-12-29 2020-11-17 Palantir Technologies Inc. Real-time document annotation
US10853352B1 (en) 2017-12-21 2020-12-01 Palantir Technologies Inc. Structured data collection, presentation, validation and workflow management
US10853378B1 (en) 2015-08-25 2020-12-01 Palantir Technologies Inc. Electronic note management via a connected entity graph
US10885021B1 (en) 2018-05-02 2021-01-05 Palantir Technologies Inc. Interactive interpreter and graphical user interface
US10924362B2 (en) 2018-01-15 2021-02-16 Palantir Technologies Inc. Management of software bugs in a data processing system
US10956406B2 (en) 2017-06-12 2021-03-23 Palantir Technologies Inc. Propagated deletion of database records and derived data
US10977267B1 (en) 2016-08-17 2021-04-13 Palantir Technologies Inc. User interface data sample transformer
US11016936B1 (en) 2017-09-05 2021-05-25 Palantir Technologies Inc. Validating data for integration
US11061542B1 (en) 2018-06-01 2021-07-13 Palantir Technologies Inc. Systems and methods for determining and displaying optimal associations of data items
US11119630B1 (en) 2018-06-19 2021-09-14 Palantir Technologies Inc. Artificial intelligence assisted evaluations and user interface for same
US11150917B2 (en) 2015-08-26 2021-10-19 Palantir Technologies Inc. System for data aggregation and analysis of data from a plurality of data sources
US11157951B1 (en) 2016-12-16 2021-10-26 Palantir Technologies Inc. System and method for determining and displaying an optimal assignment of data items
US11176116B2 (en) 2017-12-13 2021-11-16 Palantir Technologies Inc. Systems and methods for annotating datasets
US11256762B1 (en) 2016-08-04 2022-02-22 Palantir Technologies Inc. System and method for efficiently determining and displaying optimal packages of data items
US11263263B2 (en) 2018-05-30 2022-03-01 Palantir Technologies Inc. Data propagation and mapping system
US11379525B1 (en) 2017-11-22 2022-07-05 Palantir Technologies Inc. Continuous builds of derived datasets in response to other dataset updates
US11521096B2 (en) 2014-07-22 2022-12-06 Palantir Technologies Inc. System and method for determining a propensity of entity to take a specified action
US11599369B1 (en) 2018-03-08 2023-03-07 Palantir Technologies Inc. Graphical user interface configuration system

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9501202B2 (en) 2013-03-15 2016-11-22 Palantir Technologies, Inc. Computer graphical user interface with genomic workflow
US9836580B2 (en) 2014-03-21 2017-12-05 Palantir Technologies Inc. Provider portal
US9354922B2 (en) * 2014-04-02 2016-05-31 International Business Machines Corporation Metadata-driven workflows and integration with genomic data processing systems and techniques
US10192022B2 (en) * 2014-06-04 2019-01-29 IronCAD, LLC Geometric modeling system with intelligent behaviors of design components
CN104331640B (zh) * 2014-10-17 2018-04-17 北京百迈客生物科技有限公司 基于生物云平台的项目结题报告分析系统和方法
USD789390S1 (en) * 2014-12-31 2017-06-13 Linkedin Corporation Portion of a display with a graphical user interface
US11302426B1 (en) 2015-01-02 2022-04-12 Palantir Technologies Inc. Unified data interface and system
US10482992B2 (en) 2015-01-09 2019-11-19 Ceres, Inc. Genome browser
US10628834B1 (en) 2015-06-16 2020-04-21 Palantir Technologies Inc. Fraud lead detection system for efficiently processing database-stored data and automatically generating natural language explanatory information of system results for display in interactive user interfaces
US9418337B1 (en) 2015-07-21 2016-08-16 Palantir Technologies Inc. Systems and models for data analytics
US10108321B2 (en) * 2015-08-31 2018-10-23 Microsoft Technology Licensing, Llc Interface for defining user directed partial graph execution
USD798322S1 (en) * 2015-10-20 2017-09-26 23Andme, Inc. Display screen or portion thereof with graphical user interface
NZ743378A (en) * 2015-11-12 2022-10-28 Cloudseq Pte Ltd Methods and systems for generating workflows for analysing large data sets
US11923049B2 (en) 2016-06-22 2024-03-05 Sophia Genetics S.A. Methods for processing next-generation sequencing genomic data
USD841687S1 (en) * 2016-09-22 2019-02-26 Brainlab Ag Display screen with an animated graphical user interface for medical software
USD831051S1 (en) * 2016-11-07 2018-10-16 Illumina, Inc. Display screen or portion thereof with zygosity icons
EP3571582A4 (de) 2017-01-20 2020-12-16 Lifefoundry, Inc. Systeme und verfahren zur unterstützung mehrerer automatisierter arbeitsabläufe
US10839022B1 (en) 2017-07-24 2020-11-17 Palantir Technologies Inc. System to manage document workflows
CN110019207B (zh) * 2017-11-02 2023-07-21 阿里巴巴集团控股有限公司 数据处理方法和装置以及脚本显示方法和装置
US10262271B1 (en) * 2018-02-14 2019-04-16 DataTron Technologies Inc. Systems and methods for modeling machine learning and data analytics
USD881912S1 (en) * 2018-02-16 2020-04-21 Sony Corporation Display panel or screen or portion thereof with graphical user interface
USD923042S1 (en) * 2018-07-04 2021-06-22 The Fourth Paradigm (Beijing) Tech Co Ltd Display screen with transitional graphical user interface
US11526322B2 (en) * 2018-08-25 2022-12-13 Microsoft Technology Licensing, Llc Enhanced techniques for merging content from separate computing devices
USD942984S1 (en) * 2018-11-23 2022-02-08 Siemens Aktiengesellschaft Display screen or portion thereof with graphical user interface
US11182697B1 (en) * 2019-05-03 2021-11-23 State Farm Mutual Automobile Insurance Company GUI for interacting with analytics provided by machine-learning services
US11282118B2 (en) * 2019-09-17 2022-03-22 Salesforce.Com, Inc. Order management user interface
USD930022S1 (en) 2019-10-14 2021-09-07 Roche Molecular Systems, Inc. Display screen or portion thereof with graphical user interface for interactive guidelines for multidisciplinary cancer treatment planning
USD940172S1 (en) * 2019-10-14 2022-01-04 Roche Molecular Systems, Inc. Display screen or portion thereof with graphical user interface for interactive guidelines for multidisciplinary cancer treatment planning
USD931314S1 (en) 2019-10-14 2021-09-21 Roche Molecular Systems, Inc. Display screen or portion thereof with graphical user interface for interactive guidelines for multidisciplinary cancer treatment planning
US11086602B2 (en) * 2019-11-13 2021-08-10 Palantir Technologies Inc. Workflow application and user interface builder integrating objects, relationships, and actions
USD959448S1 (en) * 2020-04-09 2022-08-02 Palantir Technologies Inc. Display screen or portion thereof with graphical user interface
US11461297B1 (en) 2021-06-09 2022-10-04 T-Mobile Usa, Inc. Ensuring database integrity using a data flow in a graph, such as for use by a wireless telecommunications service provider
USD1021928S1 (en) * 2021-09-26 2024-04-09 Siemens Ltd., China Display screen with graphical user interface
USD998629S1 (en) * 2021-10-19 2023-09-12 Splunk Inc. Display screen or portion thereof having a graphical user interface
USD998628S1 (en) * 2021-10-19 2023-09-12 Splunk Inc. Display screen or portion thereof having a graphical user interface
CN116663502B (zh) * 2023-06-01 2023-11-28 上海同星智能科技有限公司 汽车开发用文本代码与图形代码的转换方法及转换系统

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893072A (en) 1996-06-20 1999-04-06 Aetna Life & Casualty Company Insurance classification plan loss control system
US6232971B1 (en) 1998-09-23 2001-05-15 International Business Machines Corporation Variable modality child windows
US6292796B1 (en) 1999-02-23 2001-09-18 Clinical Focus, Inc. Method and apparatus for improving access to literature
US7373592B2 (en) 1999-07-30 2008-05-13 Microsoft Corporation Modeless child windows for application programs
US6523019B1 (en) 1999-09-21 2003-02-18 Choicemaker Technologies, Inc. Probabilistic record linkage model derived from training data
US7418431B1 (en) 1999-09-30 2008-08-26 Fair Isaac Corporation Webstation: configurable web-based workstation for reason driven data analysis
EP1332573A4 (de) 2000-10-23 2005-11-09 Deloitte & Touche Llp Bewertungssystem und -verfahren für die kommerzielle versicherung
US9053222B2 (en) 2002-05-17 2015-06-09 Lawrence A. Lynn Patient safety processor
US7921123B2 (en) 2001-02-20 2011-04-05 Hartford Fire Insurance Company Method and system for processing physician claims over a network
US20030036927A1 (en) 2001-08-20 2003-02-20 Bowen Susan W. Healthcare information search system and user interface
US7640173B2 (en) 2002-01-17 2009-12-29 Applied Medical Software, Inc. Method and system for evaluating a physician's economic performance and gainsharing of physician services
US7546245B2 (en) 2002-01-17 2009-06-09 Amsapplied Medical Software, Inc. Method and system for gainsharing of physician services
US7813937B1 (en) 2002-02-15 2010-10-12 Fair Isaac Corporation Consistency modeling of healthcare claims to detect fraud and abuse
US20040126840A1 (en) * 2002-12-23 2004-07-01 Affymetrix, Inc. Method, system and computer software for providing genomic ontological data
US20040012633A1 (en) * 2002-04-26 2004-01-22 Affymetrix, Inc., A Corporation Organized Under The Laws Of Delaware System, method, and computer program product for dynamic display, and analysis of biological sequence data
US8799023B2 (en) 2002-10-18 2014-08-05 Medimpact Healthcare Systems, Inc. Mass customization for management of healthcare
US7383239B2 (en) 2003-04-30 2008-06-03 Genworth Financial, Inc. System and process for a fusion classification for insurance underwriting suitable for use by an automated system
US20050108063A1 (en) 2003-11-05 2005-05-19 Madill Robert P.Jr. Systems and methods for assessing the potential for fraud in business transactions
US20050125715A1 (en) 2003-12-04 2005-06-09 Fabrizio Di Franco Method of saving data in a graphical user interface
US20050149527A1 (en) 2003-12-31 2005-07-07 Intellipoint International, Llc System and method for uniquely identifying persons
US20060080139A1 (en) 2004-10-08 2006-04-13 Woodhaven Health Services Preadmission health care cost and reimbursement estimation tool
US8892571B2 (en) 2004-10-12 2014-11-18 International Business Machines Corporation Systems for associating records in healthcare database with individuals
US20060129746A1 (en) 2004-12-14 2006-06-15 Ithink, Inc. Method and graphic interface for storing, moving, sending or printing electronic data to two or more locations, in two or more formats with a single save function
US20060190295A1 (en) 2005-02-22 2006-08-24 Richard Merkin Systems and methods for assessing and optimizing healthcare administration
US8082172B2 (en) 2005-04-26 2011-12-20 The Advisory Board Company System and method for peer-profiling individual performance
US8578500B2 (en) 2005-05-31 2013-11-05 Kurt James Long System and method of fraud and misuse detection
US20070136095A1 (en) 2005-12-09 2007-06-14 Arizona Board Of Regents On Behalf Of The University Of Arizona Icon Queues for Workflow Management
US8670997B2 (en) 2006-02-09 2014-03-11 Siemens Medical Solutions Usa, Inc. Quality metric extraction and editing for medical data
US20070208518A1 (en) * 2006-03-01 2007-09-06 Gordon David B User interface for presentation of genomic data
US7962495B2 (en) 2006-11-20 2011-06-14 Palantir Technologies, Inc. Creating data in a data store using a dynamic ontology
US8515912B2 (en) 2010-07-15 2013-08-20 Palantir Technologies, Inc. Sharing and deconflicting data changes in a multimaster database system
US7680939B2 (en) * 2006-12-20 2010-03-16 Yahoo! Inc. Graphical user interface to manipulate syndication data feeds
US20080172257A1 (en) 2007-01-12 2008-07-17 Bisker James H Health Insurance Fraud Detection Using Social Network Analytics
US20080195421A1 (en) 2007-02-13 2008-08-14 Sunrise Medical Management, Llc Electronic medical records exchange system
US8959568B2 (en) 2007-03-14 2015-02-17 Microsoft Corporation Enterprise security assessment sharing
US20080281529A1 (en) * 2007-05-10 2008-11-13 The Research Foundation Of State University Of New York Genomic data processing utilizing correlation analysis of nucleotide loci of multiple data sets
US7966199B1 (en) 2007-07-19 2011-06-21 Intuit Inc. Method and system for identification of geographic condition zones using aggregated claim data
US8156166B2 (en) 2007-08-06 2012-04-10 Intuit Inc. Method and apparatus for selecting a doctor based on an observed experience level
US10997531B2 (en) * 2007-09-11 2021-05-04 Ciambella Ltd. System, method and graphical user interface for workflow generation, deployment and/or execution
WO2009039391A1 (en) 2007-09-21 2009-03-26 The Methodist Hospital System Systems, methods and apparatuses for generating and using representations of individual or aggregate human medical data
EP2212816A1 (de) * 2007-10-01 2010-08-04 Microsoft Corporation Integriertes genomisches system
US8688607B2 (en) 2007-11-12 2014-04-01 Debra Pacha System and method for detecting healthcare insurance fraud
US8682696B1 (en) 2007-11-30 2014-03-25 Intuit Inc. Healthcare claims navigator
US7765489B1 (en) 2008-03-03 2010-07-27 Shah Shalin N Presenting notifications related to a medical study on a toolbar
WO2009149063A1 (en) 2008-06-02 2009-12-10 Azuki Systems, Inc. Media mashup system
US8924469B2 (en) 2008-06-05 2014-12-30 Headwater Partners I Llc Enterprise access control and accounting allocation for access networks
US8301464B1 (en) 2008-07-18 2012-10-30 Cave Consulting Group, Inc. Method and system for producing statistical analysis of medical care information
US10747952B2 (en) 2008-09-15 2020-08-18 Palantir Technologies, Inc. Automatic creation and server push of multiple distinct drafts
US20100324929A1 (en) 2009-04-23 2010-12-23 Jason Petrasich Apparatus and method for predicting healthcare revenue cycle outcomes and controlling work flow
US8214232B2 (en) 2010-04-22 2012-07-03 Fair Isaac Corporation Healthcare insurance claim fraud detection using datasets derived from multiple insurers
EP2583211B1 (de) 2010-06-15 2020-04-15 Oracle International Corporation Virtuelle berechnungsinfrastruktur
US8829248B2 (en) 2010-08-18 2014-09-09 Eastman Chemical Company Method for recovery and recycle of ruthenium homogeneous catalysts
US20120136764A1 (en) * 2010-11-29 2012-05-31 Intuit Inc. On-line tax preparation application screen navigation using url bookmarks
PL2654864T3 (pl) 2010-12-22 2021-07-12 Syqe Medical Ltd. System dostarczania leku
US20120197660A1 (en) 2011-01-31 2012-08-02 Ez Derm, Llc Systems and methods to faciliate medical services
US20120197657A1 (en) 2011-01-31 2012-08-02 Ez Derm, Llc Systems and methods to facilitate medical services
US20130006656A1 (en) 2011-06-30 2013-01-03 Verizon Patent And Licensing Inc. Case management of healthcare fraud detection information
EP3832658A1 (de) * 2011-08-03 2021-06-09 QIAGEN Redwood City, Inc. Verfahren und systeme zur analyse biologischer daten
US8782004B2 (en) 2012-01-23 2014-07-15 Palantir Technologies, Inc. Cross-ACL multi-master replication
US9600625B2 (en) * 2012-04-23 2017-03-21 Bina Technologies, Inc. Systems and methods for processing nucleic acid sequence data
US20140052466A1 (en) 2012-08-20 2014-02-20 Rearden Analytics System and method for enabling compliance with rules to reduce fraudulent reimbursement associated with durable medical equipment prescriptions
WO2014031862A1 (en) 2012-08-22 2014-02-27 Wild David Professional networking platform with ranked patient information delivery
US20140081652A1 (en) 2012-09-14 2014-03-20 Risk Management Solutions Llc Automated Healthcare Risk Management System Utilizing Real-time Predictive Models, Risk Adjusted Provider Cost Index, Edit Analytics, Strategy Management, Managed Learning Environment, Contact Management, Forensic GUI, Case Management And Reporting System For Preventing And Detecting Healthcare Fraud, Abuse, Waste And Errors
US20140136237A1 (en) 2012-11-13 2014-05-15 Nicholas G. Anderson Healthcare data management system
US20140149130A1 (en) 2012-11-29 2014-05-29 Verizon Patent And Licensing Inc. Healthcare fraud detection based on statistics, learning, and parameters
US9805407B2 (en) * 2013-01-25 2017-10-31 Illumina, Inc. Methods and systems for using a cloud computing environment to configure and sell a biological sample preparation cartridge and share related data
US20140244284A1 (en) 2013-02-25 2014-08-28 Complete Consent, Llc Communication of medical claims
US9501202B2 (en) 2013-03-15 2016-11-22 Palantir Technologies, Inc. Computer graphical user interface with genomic workflow
GB2514239A (en) 2013-03-15 2014-11-19 Palantir Technologies Inc Data processing techniques
US20150187036A1 (en) 2014-01-02 2015-07-02 Palantir Technologies Inc. Computer-implemented methods and systems for analyzing healthcare data
US20150235334A1 (en) 2014-02-20 2015-08-20 Palantir Technologies Inc. Healthcare fraud sharing system
US20160034578A1 (en) 2014-07-31 2016-02-04 Palantir Technologies, Inc. Querying medical claims data

Cited By (240)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10229284B2 (en) 2007-02-21 2019-03-12 Palantir Technologies Inc. Providing unique views of data based on changes or rules
US10719621B2 (en) 2007-02-21 2020-07-21 Palantir Technologies Inc. Providing unique views of data based on changes or rules
US9383911B2 (en) 2008-09-15 2016-07-05 Palantir Technologies, Inc. Modal-less interface enhancements
US10248294B2 (en) 2008-09-15 2019-04-02 Palantir Technologies, Inc. Modal-less interface enhancements
US10747952B2 (en) 2008-09-15 2020-08-18 Palantir Technologies, Inc. Automatic creation and server push of multiple distinct drafts
US11392550B2 (en) 2011-06-23 2022-07-19 Palantir Technologies Inc. System and method for investigating large amounts of data
US10423582B2 (en) 2011-06-23 2019-09-24 Palantir Technologies, Inc. System and method for investigating large amounts of data
US10706220B2 (en) 2011-08-25 2020-07-07 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US9880987B2 (en) 2011-08-25 2018-01-30 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US11138180B2 (en) 2011-09-02 2021-10-05 Palantir Technologies Inc. Transaction protocol for reading database values
US10331797B2 (en) 2011-09-02 2019-06-25 Palantir Technologies Inc. Transaction protocol for reading database values
USRE47594E1 (en) 2011-09-30 2019-09-03 Palantir Technologies Inc. Visual data importer
US9378526B2 (en) 2012-03-02 2016-06-28 Palantir Technologies, Inc. System and method for accessing data objects via remote references
US9621676B2 (en) 2012-03-02 2017-04-11 Palantir Technologies, Inc. System and method for accessing data objects via remote references
US10585883B2 (en) 2012-09-10 2020-03-10 Palantir Technologies Inc. Search around visual queries
US9798768B2 (en) 2012-09-10 2017-10-24 Palantir Technologies, Inc. Search around visual queries
US9898335B1 (en) 2012-10-22 2018-02-20 Palantir Technologies Inc. System and method for batch evaluation programs
US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs
US9471370B2 (en) 2012-10-22 2016-10-18 Palantir Technologies, Inc. System and method for stack-based batch evaluation of program instructions
US11182204B2 (en) 2012-10-22 2021-11-23 Palantir Technologies Inc. System and method for batch evaluation programs
US9380431B1 (en) 2013-01-31 2016-06-28 Palantir Technologies, Inc. Use of teams in a mobile application
US10743133B2 (en) 2013-01-31 2020-08-11 Palantir Technologies Inc. Populating property values of event objects of an object-centric data model using image metadata
US10313833B2 (en) 2013-01-31 2019-06-04 Palantir Technologies Inc. Populating property values of event objects of an object-centric data model using image metadata
US9123086B1 (en) 2013-01-31 2015-09-01 Palantir Technologies, Inc. Automatically generating event objects from images
US10817513B2 (en) 2013-03-14 2020-10-27 Palantir Technologies Inc. Fair scheduling for mixed-query loads
US10997363B2 (en) 2013-03-14 2021-05-04 Palantir Technologies Inc. Method of generating objects and links from mobile reports
US9652291B2 (en) 2013-03-14 2017-05-16 Palantir Technologies, Inc. System and method utilizing a shared cache to provide zero copy memory mapped database
US10037314B2 (en) 2013-03-14 2018-07-31 Palantir Technologies, Inc. Mobile reports
US10482097B2 (en) 2013-03-15 2019-11-19 Palantir Technologies Inc. System and method for generating event visualizations
US10264014B2 (en) 2013-03-15 2019-04-16 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation based on automatic clustering of related data in various data structures
US10216801B2 (en) 2013-03-15 2019-02-26 Palantir Technologies Inc. Generating data clusters
US9646396B2 (en) 2013-03-15 2017-05-09 Palantir Technologies Inc. Generating object time series and data objects
US10275778B1 (en) 2013-03-15 2019-04-30 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation based on automatic malfeasance clustering of related data in various data structures
US9965937B2 (en) 2013-03-15 2018-05-08 Palantir Technologies Inc. External malware data item clustering and analysis
US10809888B2 (en) 2013-03-15 2020-10-20 Palantir Technologies, Inc. Systems and methods for providing a tagging interface for external content
US9898167B2 (en) 2013-03-15 2018-02-20 Palantir Technologies Inc. Systems and methods for providing a tagging interface for external content
US10977279B2 (en) 2013-03-15 2021-04-13 Palantir Technologies Inc. Time-sensitive cube
US9852205B2 (en) 2013-03-15 2017-12-26 Palantir Technologies Inc. Time-sensitive cube
US9740369B2 (en) 2013-03-15 2017-08-22 Palantir Technologies Inc. Systems and methods for providing a tagging interface for external content
US9852195B2 (en) 2013-03-15 2017-12-26 Palantir Technologies Inc. System and method for generating event visualizations
US10453229B2 (en) 2013-03-15 2019-10-22 Palantir Technologies Inc. Generating object time series from data objects
US9779525B2 (en) 2013-03-15 2017-10-03 Palantir Technologies Inc. Generating object time series from data objects
US10452678B2 (en) 2013-03-15 2019-10-22 Palantir Technologies Inc. Filter chains for exploring large data sets
US9953445B2 (en) 2013-05-07 2018-04-24 Palantir Technologies Inc. Interactive data object map
US10360705B2 (en) 2013-05-07 2019-07-23 Palantir Technologies Inc. Interactive data object map
US10976892B2 (en) 2013-08-08 2021-04-13 Palantir Technologies Inc. Long click display of a context menu
US9223773B2 (en) 2013-08-08 2015-12-29 Palatir Technologies Inc. Template system for custom document generation
US10699071B2 (en) 2013-08-08 2020-06-30 Palantir Technologies Inc. Systems and methods for template based custom document generation
US9335897B2 (en) 2013-08-08 2016-05-10 Palantir Technologies Inc. Long click display of a context menu
US10545655B2 (en) 2013-08-09 2020-01-28 Palantir Technologies Inc. Context-sensitive views
US9557882B2 (en) 2013-08-09 2017-01-31 Palantir Technologies Inc. Context-sensitive views
US9921734B2 (en) 2013-08-09 2018-03-20 Palantir Technologies Inc. Context-sensitive views
US9785317B2 (en) 2013-09-24 2017-10-10 Palantir Technologies Inc. Presentation and analysis of user interaction data
US10732803B2 (en) 2013-09-24 2020-08-04 Palantir Technologies Inc. Presentation and analysis of user interaction data
US9996229B2 (en) 2013-10-03 2018-06-12 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US9864493B2 (en) 2013-10-07 2018-01-09 Palantir Technologies Inc. Cohort-based presentation of user interaction data
US10635276B2 (en) 2013-10-07 2020-04-28 Palantir Technologies Inc. Cohort-based presentation of user interaction data
US9116975B2 (en) 2013-10-18 2015-08-25 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores
US9514200B2 (en) 2013-10-18 2016-12-06 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores
US10042524B2 (en) 2013-10-18 2018-08-07 Palantir Technologies Inc. Overview user interface of emergency call data of a law enforcement agency
US10877638B2 (en) 2013-10-18 2020-12-29 Palantir Technologies Inc. Overview user interface of emergency call data of a law enforcement agency
US10719527B2 (en) 2013-10-18 2020-07-21 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores
US10262047B1 (en) 2013-11-04 2019-04-16 Palantir Technologies Inc. Interactive vehicle information map
US11100174B2 (en) 2013-11-11 2021-08-24 Palantir Technologies Inc. Simple web search
US10037383B2 (en) 2013-11-11 2018-07-31 Palantir Technologies, Inc. Simple web search
US10198515B1 (en) 2013-12-10 2019-02-05 Palantir Technologies Inc. System and method for aggregating data from a plurality of data sources
US11138279B1 (en) 2013-12-10 2021-10-05 Palantir Technologies Inc. System and method for aggregating data from a plurality of data sources
US10025834B2 (en) 2013-12-16 2018-07-17 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US9734217B2 (en) 2013-12-16 2017-08-15 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US9727622B2 (en) 2013-12-16 2017-08-08 Palantir Technologies, Inc. Methods and systems for analyzing entity performance
US9552615B2 (en) 2013-12-20 2017-01-24 Palantir Technologies Inc. Automated database analysis to detect malfeasance
US10356032B2 (en) 2013-12-26 2019-07-16 Palantir Technologies Inc. System and method for detecting confidential information emails
US10805321B2 (en) 2014-01-03 2020-10-13 Palantir Technologies Inc. System and method for evaluating network threats and usage
US9043696B1 (en) 2014-01-03 2015-05-26 Palantir Technologies Inc. Systems and methods for visual definition of data associations
US10901583B2 (en) 2014-01-03 2021-01-26 Palantir Technologies Inc. Systems and methods for visual definition of data associations
US10120545B2 (en) 2014-01-03 2018-11-06 Palantir Technologies Inc. Systems and methods for visual definition of data associations
US10230746B2 (en) 2014-01-03 2019-03-12 Palantir Technologies Inc. System and method for evaluating network threats and usage
US10873603B2 (en) 2014-02-20 2020-12-22 Palantir Technologies Inc. Cyber security sharing and identification system
US9483162B2 (en) 2014-02-20 2016-11-01 Palantir Technologies Inc. Relationship visualizations
US10402054B2 (en) 2014-02-20 2019-09-03 Palantir Technologies Inc. Relationship visualizations
US9923925B2 (en) 2014-02-20 2018-03-20 Palantir Technologies Inc. Cyber security sharing and identification system
US10795723B2 (en) 2014-03-04 2020-10-06 Palantir Technologies Inc. Mobile tasks
US10180977B2 (en) 2014-03-18 2019-01-15 Palantir Technologies Inc. Determining and extracting changed data from a data source
US9449074B1 (en) 2014-03-18 2016-09-20 Palantir Technologies Inc. Determining and extracting changed data from a data source
US9292388B2 (en) 2014-03-18 2016-03-22 Palantir Technologies Inc. Determining and extracting changed data from a data source
US10871887B2 (en) 2014-04-28 2020-12-22 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive access of, investigation of, and analysis of data objects stored in one or more databases
US9857958B2 (en) 2014-04-28 2018-01-02 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive access of, investigation of, and analysis of data objects stored in one or more databases
US9009171B1 (en) 2014-05-02 2015-04-14 Palantir Technologies Inc. Systems and methods for active column filtering
US9449035B2 (en) 2014-05-02 2016-09-20 Palantir Technologies Inc. Systems and methods for active column filtering
US11341178B2 (en) 2014-06-30 2022-05-24 Palantir Technologies Inc. Systems and methods for key phrase characterization of documents
US9619557B2 (en) 2014-06-30 2017-04-11 Palantir Technologies, Inc. Systems and methods for key phrase characterization of documents
US10180929B1 (en) 2014-06-30 2019-01-15 Palantir Technologies, Inc. Systems and methods for identifying key phrase clusters within documents
US9298678B2 (en) 2014-07-03 2016-03-29 Palantir Technologies Inc. System and method for news events detection and visualization
US9998485B2 (en) 2014-07-03 2018-06-12 Palantir Technologies, Inc. Network intrusion data item clustering and analysis
US9256664B2 (en) 2014-07-03 2016-02-09 Palantir Technologies Inc. System and method for news events detection and visualization
US10929436B2 (en) 2014-07-03 2021-02-23 Palantir Technologies Inc. System and method for news events detection and visualization
US10798116B2 (en) 2014-07-03 2020-10-06 Palantir Technologies Inc. External malware data item clustering and analysis
US10572496B1 (en) 2014-07-03 2020-02-25 Palantir Technologies Inc. Distributed workflow system and database with access controls for city resiliency
US9785773B2 (en) 2014-07-03 2017-10-10 Palantir Technologies Inc. Malware data item analysis
US11521096B2 (en) 2014-07-22 2022-12-06 Palantir Technologies Inc. System and method for determining a propensity of entity to take a specified action
US11861515B2 (en) 2014-07-22 2024-01-02 Palantir Technologies Inc. System and method for determining a propensity of entity to take a specified action
US10866685B2 (en) 2014-09-03 2020-12-15 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US9454281B2 (en) 2014-09-03 2016-09-27 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US9880696B2 (en) 2014-09-03 2018-01-30 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US10360702B2 (en) 2014-10-03 2019-07-23 Palantir Technologies Inc. Time-series analysis system
US10664490B2 (en) 2014-10-03 2020-05-26 Palantir Technologies Inc. Data aggregation and analysis system
US11004244B2 (en) 2014-10-03 2021-05-11 Palantir Technologies Inc. Time-series analysis system
US9767172B2 (en) 2014-10-03 2017-09-19 Palantir Technologies Inc. Data aggregation and analysis system
US9501851B2 (en) 2014-10-03 2016-11-22 Palantir Technologies Inc. Time-series analysis system
US11275753B2 (en) 2014-10-16 2022-03-15 Palantir Technologies Inc. Schematic and database linking system
US9984133B2 (en) 2014-10-16 2018-05-29 Palantir Technologies Inc. Schematic and database linking system
US9946738B2 (en) 2014-11-05 2018-04-17 Palantir Technologies, Inc. Universal data pipeline
US10191926B2 (en) 2014-11-05 2019-01-29 Palantir Technologies, Inc. Universal data pipeline
US10853338B2 (en) 2014-11-05 2020-12-01 Palantir Technologies Inc. Universal data pipeline
US9558352B1 (en) 2014-11-06 2017-01-31 Palantir Technologies Inc. Malicious software detection in a computing system
US10135863B2 (en) 2014-11-06 2018-11-20 Palantir Technologies Inc. Malicious software detection in a computing system
US9043894B1 (en) 2014-11-06 2015-05-26 Palantir Technologies Inc. Malicious software detection in a computing system
US10728277B2 (en) 2014-11-06 2020-07-28 Palantir Technologies Inc. Malicious software detection in a computing system
US10447712B2 (en) 2014-12-22 2019-10-15 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation of bad actor behavior based on automatic clustering of related data in various data structures
US10362133B1 (en) 2014-12-22 2019-07-23 Palantir Technologies Inc. Communication data processing architecture
US9367872B1 (en) 2014-12-22 2016-06-14 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation of bad actor behavior based on automatic clustering of related data in various data structures
US9898528B2 (en) 2014-12-22 2018-02-20 Palantir Technologies Inc. Concept indexing among database of documents using machine learning techniques
US10552994B2 (en) 2014-12-22 2020-02-04 Palantir Technologies Inc. Systems and interactive user interfaces for dynamic retrieval, analysis, and triage of data items
US9589299B2 (en) 2014-12-22 2017-03-07 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation of bad actor behavior based on automatic clustering of related data in various data structures
US11252248B2 (en) 2014-12-22 2022-02-15 Palantir Technologies Inc. Communication data processing architecture
US10127021B1 (en) 2014-12-29 2018-11-13 Palantir Technologies Inc. Storing logical units of program code generated using a dynamic programming notebook user interface
US10157200B2 (en) 2014-12-29 2018-12-18 Palantir Technologies Inc. Interactive user interface for dynamic data analysis exploration and query processing
US10838697B2 (en) 2014-12-29 2020-11-17 Palantir Technologies Inc. Storing logical units of program code generated using a dynamic programming notebook user interface
US9870205B1 (en) 2014-12-29 2018-01-16 Palantir Technologies Inc. Storing logical units of program code generated using a dynamic programming notebook user interface
US9870389B2 (en) 2014-12-29 2018-01-16 Palantir Technologies Inc. Interactive user interface for dynamic data analysis exploration and query processing
US9817563B1 (en) 2014-12-29 2017-11-14 Palantir Technologies Inc. System and method of generating data points from one or more data stores of data items for chart creation and manipulation
US10552998B2 (en) 2014-12-29 2020-02-04 Palantir Technologies Inc. System and method of generating data points from one or more data stores of data items for chart creation and manipulation
US9335911B1 (en) 2014-12-29 2016-05-10 Palantir Technologies Inc. Interactive user interface for dynamic data analysis exploration and query processing
US11030581B2 (en) 2014-12-31 2021-06-08 Palantir Technologies Inc. Medical claims lead summary report generation
US10372879B2 (en) 2014-12-31 2019-08-06 Palantir Technologies Inc. Medical claims lead summary report generation
US10387834B2 (en) 2015-01-21 2019-08-20 Palantir Technologies Inc. Systems and methods for accessing and storing snapshots of a remote application in a document
US10474326B2 (en) 2015-02-25 2019-11-12 Palantir Technologies Inc. Systems and methods for organizing and identifying documents via hierarchies and dimensions of tags
US9727560B2 (en) 2015-02-25 2017-08-08 Palantir Technologies Inc. Systems and methods for organizing and identifying documents via hierarchies and dimensions of tags
US9891808B2 (en) 2015-03-16 2018-02-13 Palantir Technologies Inc. Interactive user interfaces for location-based data analysis
US10459619B2 (en) 2015-03-16 2019-10-29 Palantir Technologies Inc. Interactive user interfaces for location-based data analysis
US9886467B2 (en) 2015-03-19 2018-02-06 Plantir Technologies Inc. System and method for comparing and visualizing data entities and data entity series
US10545982B1 (en) 2015-04-01 2020-01-28 Palantir Technologies Inc. Federated search of multiple sources with conflict resolution
US10223748B2 (en) 2015-07-30 2019-03-05 Palantir Technologies Inc. Systems and user interfaces for holistic, data-driven investigation of bad actor behavior based on clustering and scoring of related data
US9454785B1 (en) 2015-07-30 2016-09-27 Palantir Technologies Inc. Systems and user interfaces for holistic, data-driven investigation of bad actor behavior based on clustering and scoring of related data
US11501369B2 (en) 2015-07-30 2022-11-15 Palantir Technologies Inc. Systems and user interfaces for holistic, data-driven investigation of bad actor behavior based on clustering and scoring of related data
US9996595B2 (en) 2015-08-03 2018-06-12 Palantir Technologies, Inc. Providing full data provenance visualization for versioned datasets
US10484407B2 (en) 2015-08-06 2019-11-19 Palantir Technologies Inc. Systems, methods, user interfaces, and computer-readable media for investigating potential malicious communications
US10489391B1 (en) 2015-08-17 2019-11-26 Palantir Technologies Inc. Systems and methods for grouping and enriching data items accessed from one or more databases for presentation in a user interface
US10444941B2 (en) 2015-08-17 2019-10-15 Palantir Technologies Inc. Interactive geospatial map
US10444940B2 (en) 2015-08-17 2019-10-15 Palantir Technologies Inc. Interactive geospatial map
US10922404B2 (en) 2015-08-19 2021-02-16 Palantir Technologies Inc. Checkout system executable code monitoring, and user account compromise determination system
US10102369B2 (en) 2015-08-19 2018-10-16 Palantir Technologies Inc. Checkout system executable code monitoring, and user account compromise determination system
US10853378B1 (en) 2015-08-25 2020-12-01 Palantir Technologies Inc. Electronic note management via a connected entity graph
US11934847B2 (en) 2015-08-26 2024-03-19 Palantir Technologies Inc. System for data aggregation and analysis of data from a plurality of data sources
US11150917B2 (en) 2015-08-26 2021-10-19 Palantir Technologies Inc. System for data aggregation and analysis of data from a plurality of data sources
US9898509B2 (en) 2015-08-28 2018-02-20 Palantir Technologies Inc. Malicious activity detection system capable of efficiently processing data accessed from databases and generating alerts for display in interactive user interfaces
US11048706B2 (en) 2015-08-28 2021-06-29 Palantir Technologies Inc. Malicious activity detection system capable of efficiently processing data accessed from databases and generating alerts for display in interactive user interfaces
US10346410B2 (en) 2015-08-28 2019-07-09 Palantir Technologies Inc. Malicious activity detection system capable of efficiently processing data accessed from databases and generating alerts for display in interactive user interfaces
US10706434B1 (en) 2015-09-01 2020-07-07 Palantir Technologies Inc. Methods and systems for determining location information
US9946776B1 (en) 2015-09-04 2018-04-17 Palantir Technologies Inc. Systems and methods for importing data from electronic data files
US10545985B2 (en) 2015-09-04 2020-01-28 Palantir Technologies Inc. Systems and methods for importing data from electronic data files
US10380138B1 (en) 2015-09-04 2019-08-13 Palantir Technologies Inc. Systems and methods for importing data from electronic data files
US9514205B1 (en) 2015-09-04 2016-12-06 Palantir Technologies Inc. Systems and methods for importing data from electronic data files
US9965534B2 (en) 2015-09-09 2018-05-08 Palantir Technologies, Inc. Domain-specific language for dataset transformations
US11080296B2 (en) 2015-09-09 2021-08-03 Palantir Technologies Inc. Domain-specific language for dataset transformations
US11907513B2 (en) 2015-09-11 2024-02-20 Palantir Technologies Inc. System and method for analyzing electronic communications and a collaborative electronic communications user interface
US10558339B1 (en) 2015-09-11 2020-02-11 Palantir Technologies Inc. System and method for analyzing electronic communications and a collaborative electronic communications user interface
US10417120B2 (en) 2015-09-14 2019-09-17 Palantir Technologies Inc. Pluggable fault detection tests for data pipelines
US10936479B2 (en) 2015-09-14 2021-03-02 Palantir Technologies Inc. Pluggable fault detection tests for data pipelines
US9772934B2 (en) 2015-09-14 2017-09-26 Palantir Technologies Inc. Pluggable fault detection tests for data pipelines
US10296617B1 (en) 2015-10-05 2019-05-21 Palantir Technologies Inc. Searches of highly structured data
US10572487B1 (en) 2015-10-30 2020-02-25 Palantir Technologies Inc. Periodic database search manager for multiple data sources
US10678860B1 (en) 2015-12-17 2020-06-09 Palantir Technologies, Inc. Automatic generation of composite datasets based on hierarchical fields
US10839144B2 (en) 2015-12-29 2020-11-17 Palantir Technologies Inc. Real-time document annotation
US9652510B1 (en) 2015-12-29 2017-05-16 Palantir Technologies Inc. Systems and user interfaces for data analysis including artificial intelligence algorithms for generating optimized packages of data items
US10452673B1 (en) 2015-12-29 2019-10-22 Palantir Technologies Inc. Systems and user interfaces for data analysis including artificial intelligence algorithms for generating optimized packages of data items
US10540061B2 (en) 2015-12-29 2020-01-21 Palantir Technologies Inc. Systems and interactive user interfaces for automatic generation of temporal representation of data objects
US9823818B1 (en) 2015-12-29 2017-11-21 Palantir Technologies Inc. Systems and interactive user interfaces for automatic generation of temporal representation of data objects
US11625529B2 (en) 2015-12-29 2023-04-11 Palantir Technologies Inc. Real-time document annotation
US10437612B1 (en) 2015-12-30 2019-10-08 Palantir Technologies Inc. Composite graphical interface with shareable data-objects
US10698938B2 (en) 2016-03-18 2020-06-30 Palantir Technologies Inc. Systems and methods for organizing and identifying documents via hierarchies and dimensions of tags
US11444854B2 (en) 2016-06-09 2022-09-13 Palantir Technologies Inc. System to collect and visualize software usage metrics
US10554516B1 (en) 2016-06-09 2020-02-04 Palantir Technologies Inc. System to collect and visualize software usage metrics
US10318398B2 (en) 2016-06-10 2019-06-11 Palantir Technologies Inc. Data pipeline monitoring
US9678850B1 (en) 2016-06-10 2017-06-13 Palantir Technologies Inc. Data pipeline monitoring
US10324609B2 (en) 2016-07-21 2019-06-18 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US10719188B2 (en) 2016-07-21 2020-07-21 Palantir Technologies Inc. Cached database and synchronization system for providing dynamic linked panels in user interface
US10698594B2 (en) 2016-07-21 2020-06-30 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US10621314B2 (en) 2016-08-01 2020-04-14 Palantir Technologies Inc. Secure deployment of a software package
US10133782B2 (en) 2016-08-01 2018-11-20 Palantir Technologies Inc. Techniques for data extraction
US11256762B1 (en) 2016-08-04 2022-02-22 Palantir Technologies Inc. System and method for efficiently determining and displaying optimal packages of data items
US11488058B2 (en) 2016-08-15 2022-11-01 Palantir Technologies Inc. Vector generation for distributed data sets
US10373078B1 (en) 2016-08-15 2019-08-06 Palantir Technologies Inc. Vector generation for distributed data sets
US11475033B2 (en) 2016-08-17 2022-10-18 Palantir Technologies Inc. User interface data sample transformer
US10977267B1 (en) 2016-08-17 2021-04-13 Palantir Technologies Inc. User interface data sample transformer
US10437840B1 (en) 2016-08-19 2019-10-08 Palantir Technologies Inc. Focused probabilistic entity resolution from multiple data sources
US10650086B1 (en) 2016-09-27 2020-05-12 Palantir Technologies Inc. Systems, methods, and framework for associating supporting data in word processing
US10152306B2 (en) 2016-11-07 2018-12-11 Palantir Technologies Inc. Framework for developing and deploying applications
US11397566B2 (en) 2016-11-07 2022-07-26 Palantir Technologies Inc. Framework for developing and deploying applications
US10754627B2 (en) 2016-11-07 2020-08-25 Palantir Technologies Inc. Framework for developing and deploying applications
US10318630B1 (en) 2016-11-21 2019-06-11 Palantir Technologies Inc. Analysis of large bodies of textual data
US10261763B2 (en) 2016-12-13 2019-04-16 Palantir Technologies Inc. Extensible data transformation authoring and validation system
US10860299B2 (en) 2016-12-13 2020-12-08 Palantir Technologies Inc. Extensible data transformation authoring and validation system
US11157951B1 (en) 2016-12-16 2021-10-26 Palantir Technologies Inc. System and method for determining and displaying an optimal assignment of data items
US10460602B1 (en) 2016-12-28 2019-10-29 Palantir Technologies Inc. Interactive vehicle information mapping system
US10509844B1 (en) 2017-01-19 2019-12-17 Palantir Technologies Inc. Network graph parser
US10762291B2 (en) 2017-03-02 2020-09-01 Palantir Technologies Inc. Automatic translation of spreadsheets into scripts
US11200373B2 (en) 2017-03-02 2021-12-14 Palantir Technologies Inc. Automatic translation of spreadsheets into scripts
US10180934B2 (en) 2017-03-02 2019-01-15 Palantir Technologies Inc. Automatic translation of spreadsheets into scripts
US10572576B1 (en) 2017-04-06 2020-02-25 Palantir Technologies Inc. Systems and methods for facilitating data object extraction from unstructured documents
US11244102B2 (en) 2017-04-06 2022-02-08 Palantir Technologies Inc. Systems and methods for facilitating data object extraction from unstructured documents
US10824604B1 (en) 2017-05-17 2020-11-03 Palantir Technologies Inc. Systems and methods for data entry
US11500827B2 (en) 2017-05-17 2022-11-15 Palantir Technologies Inc. Systems and methods for data entry
US11860831B2 (en) 2017-05-17 2024-01-02 Palantir Technologies Inc. Systems and methods for data entry
US10956406B2 (en) 2017-06-12 2021-03-23 Palantir Technologies Inc. Propagated deletion of database records and derived data
US10534595B1 (en) 2017-06-30 2020-01-14 Palantir Technologies Inc. Techniques for configuring and validating a data pipeline deployment
US10403011B1 (en) 2017-07-18 2019-09-03 Palantir Technologies Inc. Passing system with an interactive user interface
US10540333B2 (en) 2017-07-20 2020-01-21 Palantir Technologies Inc. Inferring a dataset schema from input files
US10204119B1 (en) 2017-07-20 2019-02-12 Palantir Technologies, Inc. Inferring a dataset schema from input files
US11379407B2 (en) 2017-08-14 2022-07-05 Palantir Technologies Inc. Customizable pipeline for integrating data
US11886382B2 (en) 2017-08-14 2024-01-30 Palantir Technologies Inc. Customizable pipeline for integrating data
US10754820B2 (en) 2017-08-14 2020-08-25 Palantir Technologies Inc. Customizable pipeline for integrating data
US11016936B1 (en) 2017-09-05 2021-05-25 Palantir Technologies Inc. Validating data for integration
US11379525B1 (en) 2017-11-22 2022-07-05 Palantir Technologies Inc. Continuous builds of derived datasets in response to other dataset updates
US10552524B1 (en) 2017-12-07 2020-02-04 Palantir Technolgies Inc. Systems and methods for in-line document tagging and object based data synchronization
US10783162B1 (en) 2017-12-07 2020-09-22 Palantir Technologies Inc. Workflow assistant
US10360252B1 (en) 2017-12-08 2019-07-23 Palantir Technologies Inc. Detection and enrichment of missing data or metadata for large data sets
US11645250B2 (en) 2017-12-08 2023-05-09 Palantir Technologies Inc. Detection and enrichment of missing data or metadata for large data sets
US11176116B2 (en) 2017-12-13 2021-11-16 Palantir Technologies Inc. Systems and methods for annotating datasets
US10853352B1 (en) 2017-12-21 2020-12-01 Palantir Technologies Inc. Structured data collection, presentation, validation and workflow management
US10924362B2 (en) 2018-01-15 2021-02-16 Palantir Technologies Inc. Management of software bugs in a data processing system
US10599762B1 (en) 2018-01-16 2020-03-24 Palantir Technologies Inc. Systems and methods for creating a dynamic electronic form
US11392759B1 (en) 2018-01-16 2022-07-19 Palantir Technologies Inc. Systems and methods for creating a dynamic electronic form
US11599369B1 (en) 2018-03-08 2023-03-07 Palantir Technologies Inc. Graphical user interface configuration system
US10754822B1 (en) 2018-04-18 2020-08-25 Palantir Technologies Inc. Systems and methods for ontology migration
US10885021B1 (en) 2018-05-02 2021-01-05 Palantir Technologies Inc. Interactive interpreter and graphical user interface
US11263263B2 (en) 2018-05-30 2022-03-01 Palantir Technologies Inc. Data propagation and mapping system
US11061542B1 (en) 2018-06-01 2021-07-13 Palantir Technologies Inc. Systems and methods for determining and displaying optimal associations of data items
US10795909B1 (en) 2018-06-14 2020-10-06 Palantir Technologies Inc. Minimized and collapsed resource dependency path
US11119630B1 (en) 2018-06-19 2021-09-14 Palantir Technologies Inc. Artificial intelligence assisted evaluations and user interface for same

Also Published As

Publication number Publication date
CA2845606C (en) 2020-09-01
US10431327B2 (en) 2019-10-01
US9501202B2 (en) 2016-11-22
CA2845606A1 (en) 2014-09-15
GB201404574D0 (en) 2014-04-30
US20210383896A1 (en) 2021-12-09
US20190371435A1 (en) 2019-12-05
NL2012437B1 (en) 2016-07-04
US11676686B2 (en) 2023-06-13
NL2012437A (en) 2014-09-16
GB2517529A (en) 2015-02-25
US11074993B2 (en) 2021-07-27
AU2014200965A1 (en) 2014-10-02
AU2014200965B2 (en) 2018-03-15
US20140282177A1 (en) 2014-09-18
US20170046481A1 (en) 2017-02-16

Similar Documents

Publication Publication Date Title
DE102014103482A1 (de) Graphische Benutzeroberfläche eines Computers mit genomischem Arbeitsablauf
Poelchau et al. The i5k Workspace@ NAL—enabling genomic data access, visualization and curation of arthropod genomes
Degroeve et al. SpliceMachine: predicting splice sites from high-dimensional local context representations
Shaw Searching the Mouse Genome Informatics (MGI) resources for information on mouse biology from genotype to phenotype
Hillman‐Jackson et al. Using galaxy to perform large‐scale interactive data analyses
Rot et al. dictyExpress: a Dictyostelium discoideum gene expression database with an explorative data analysis web-based interface
Hokamp et al. ArrayPipe: a flexible processing pipeline for microarray data
Fischer et al. SIMPLEX: cloud-enabled pipeline for the comprehensive analysis of exome sequencing data
James‐Zorn et al. Xenbase: Core features, data acquisition, and data processing
DE10135445A1 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
US10930373B2 (en) Methods and systems for knowledge discovery using biological data
Kumpulainen et al. Information interaction in molecular medicine: integrated use of multiple channels
JPWO2007032095A1 (ja) ドキュメントデータの管理方法、管理システム及びコンピュータソフトウェア
US20210255760A1 (en) Data Preparation User Interface with Coordinated Pivots
Salazar et al. A web-based protein interaction network visualizer
Bandi SynVisio: a multiscale tool to explore genomic conservation
JE et al. FIVE REASONS TO LOVE THE COMMAND LINE
US20100293155A1 (en) Method for filtering file clusters
Hsu et al. Reconfigurable Web wrapper agents for biological information integration
Markowitz et al. The integrated microbial genomes (IMG) system: a case study in biological data management
Miao et al. VRPG: an interactive web viewer for reference pangenome graph
Moore Biology needs cyberinfrastructure to facilitate specimen-level data acquisition for insects and other hyperdiverse groups
Tomlinson et al. XperimentR: painless annotation of a biological experiment for the laboratory scientist
Zhao et al. IDEA: a web server for Interactive Differential Expression Analysis with R Packages
Schüler Optimization Problems on Geometric Graphs and their Application to Visualizing Data

Legal Events

Date Code Title Description
R083 Amendment of/additions to inventor(s)
R012 Request for examination validly filed
R012 Request for examination validly filed

Effective date: 20150427

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0019260000

Ipc: G16B0045000000

R082 Change of representative

Representative=s name: VENNER SHIPLEY GERMANY LLP, DE