level-gql

gql on levelup

Usage no npm install needed!

<script type="module">
  import levelGql from 'https://cdn.skypack.dev/level-gql';
</script>

README

level-gql

NPM

This is an incomplete implementation of a gql interpreter for a level key value store backend.

I did this at my bus ride home after conc.at where I was inspired by contras talk about genome.js.

It of course runs faster queries, e.g determining if Eric has norovirus immunity took 20.55s with gql but 0.16s with level-gql on my machine. However you have to create the level-dna store first, which takes much longer than 20 seconds. But once you have it there, querying is fast.

usage

Asume you have a level filled with genome data from level-dna You could run an analysis like this:

var leveldb = require('levelup')
var gql = require('level-gql')

var db = leveldb('./test')

var query = gql(db)

query.needs(3)
query.has('rs10024955', 'A')
query.exists('rs10024986')
query.or(query.has('rs10024955', 'A'), query.exists('rs10024986'))
query.and(query.has('rs10024955', 'A'), query.exists('rs10024986'))
query.percentage(function (err, value) {
  console.log(value)
})