IP Library Granted Patent US 9,589,018
Granted Patent B2
US 9,589,018 · App. 14/879,140 · Granted Mar 7, 2017

Performing sequence analysis as a relational join

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,589,018
App. No.
14/879,140
Granted
Mar 7, 2017
Kind
B2
Abstract

A usage model and the underlying technology used to provide sequence analysis as part of a relational database system. Included components include the semantic and syntactic integration of the sequence analysis with an existing query language, the storage methods for the sequence data, and the design of a multipart execution scheme that runs the sequence analysis as part of a potentially larger database join, especially using parallel execution techniques.

Claims (15)

1. A computer program product for sequence analysis, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to:

store relations in a relational database;

carry out a comparison of at least one query sequence and at least one subject sequence, each stored as relations in the relational database, as one or more Structured Query Language (SQL) queries formulated to include at least one join operation, wherein at least one SQL query is formulated with a controls table that specifies parameters of the comparison; and

store the result of the comparison as a result relation in the relational database, wherein a number of tuples in the result relation is larger than a multiplicative product of a number of tuples in the at least one subject sequence times a number of tuples in the at least one query sequence, to accommodate multiple points of alignment between each combination of the at least one query sequence and the at least one subject sequence that are compared.

2. The computer program product of claim 1 , wherein each of the query sequences is compared against each of the subject sequences for each of the parameters of the controls table.

3. The computer product of claim 1 , wherein the comparison is a BLAST algorithm.

4. The computer program product of claim 1 , wherein the comparison is carried out as a relational join of subject sequences against one or more query sequences.

5. The computer program product of claim 4 , wherein a selected one of the subject sequence and query sequence is specified to be used as one of an inner table and outer table for the join operation.

6. The computer program product of claim 1 , wherein the program instructions further cause the processor to generate an auxiliary table of histogram data.

7. The computer program product of claim 6 , wherein the auxiliary table is invisible to the SQL query that contains the join operation, but is otherwise visible to subsequent SQL queries.

8. The computer program product of claim 1 , wherein the program instructions further cause the processor to scan the controls table as an inner table, scan one or more query sequences, and perform a cross-product join of a record resulting from the scans to the inner table, to produce a parameterized query table.

9. The computer program product of claim 1 , wherein the program instructions further cause the processor to perform a statistics scan of a subject sequence prior to carrying out the comparison.

10. The computer program product of claim 9 , wherein results of the statistics scan are stored as part of the controls table.

11. The computer program product of claim 1 , wherein neither the subject sequence nor the query sequence are stored as a static materialized database definition.

12. The computer program product of claim 1 , wherein the at least one SQL query is implemented as a set of query-specific statements that are compiled and dynamically bound at execution time.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2021
From: SOFTWARE LABS CAMPUS UNLIMITED COMPANY
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 056396/0942 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 4 ERRONEOUSLY LISTED PATENTS ON SCHEDULE A. PREVIOUSLY RECORDED AT REEL: 053452 FRAME: 0580. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Jan 29, 2021
From: IBM TECHNOLOGY CORPORATION
To: SOFTWARE LABS CAMPUS UNLIMITED COMPANY
Reel/Frame 055171/0693 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2020
From: IBM TECHNOLOGY CORPORATION
To: SOFTWARE LABS CAMPUS UNLIMITED COMPANY
Reel/Frame 053452/0580 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 17, 2018
From: IBM INTERNATIONAL C.V.
To: IBM ATLANTIC C.V.
Reel/Frame 047794/0927 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 17, 2018
From: IBM INTERNATIONAL GROUP B.V.
To: IBM INTERNATIONAL C.V.
Reel/Frame 047794/0779 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 17, 2018
From: IBM ATLANTIC C.V.
To: IBM TECHNOLOGY CORPORATION
Reel/Frame 047795/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2016
From: ZANE, BARRY M.
To: IBM INTERNATIONAL GROUP B.V.
Reel/Frame 038605/0545 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2015
From: DIXIT, SANJAY G.; TAMMISETTI, VENKANNABABU
To: IBM INTERNATIONAL GROUP B.V.
Reel/Frame 036799/0672 →