Serve your genotypes and phenotypes via an API for satoshis
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Testing how to use the 21 bitcoin computer to sell API calls to your genotypes and phenotypes. Genotypes/phenotypes stored in sqlite database, also can sell bulk access to a VCF file.


  1. configure
	$ git clone

	$ cd genome-server-21 

	$ sudo pip3 install Flask-SQLAlchemy 
  1. make the database of genotypes/phenotypes, serve
	$ python3 vcffile/testvcf2.vcf.gz
  1. Is it working?
	$ curl -i http://localhost:5000/phenotypes

You should get a JSON list of phenotypes, like

HTTP/1.0 200 OK
Content-Type: application/json
Content-Length: 224
Server: Werkzeug/0.11.2 Python/3.4.2
Date: Fri, 04 Dec 2015 03:30:13 GMT

  "pheno_list": [
      "pheno_name": "height (cm)",
      "uri": "http://localhost:5000/buyphenotype/1"
      "pheno_name": "weight (lb)",
      "uri": "http://localhost:5000/buyphenotype/2"

If you try to see the actual value of the phenotype, however:

	$ curl -i http://localhost:5000/buyphenotype/1

this will fail with error 402: payment required (1 satoshi). Using the 21 libraries, this can be successfully requested with the following python code:

# Import methods from the 21 Bitcoin Library
from two1.commands.config import Config
from two1.lib.wallet import Wallet
from two1.lib.bitrequests import BitTransferRequests

# Configure your Bitcoin wallet.
username = Config().username
wallet = Wallet()
requests = BitTransferRequests(wallet, username)

test = requests.get(url="http://localhost:5000/buyphenotype/1")

Anyone can thus give me 1 satoshi to know my height (or weight, or any genotype from the database).


GET /phenotypes : list of phenotypes, uri for each

GET /variants : list of genotypes, uri for each

GET /vcf : list of VCF files

GET [cost: 1 satoshi] /buyvariant/[chr]/[pos] : returns the VCF genotype and genotype likelihoods at chromosome chr and position pos

GET [cost: 1 satoshi] /buypheno/[phenoid] : returns the phenotype value for phenotype phenoid