Skip to main content

Python API that consumes the biomart webservice

Project description

Python API that consumes the biomart webservice.

What it will do:

  • Show all databases of a biomart server

  • Show all datasets of a biomart database

  • Show attributes and filters of a biomart dataset

  • Run your query formatted as a Python dict and return the Biomart response as TSV format.

What it won’t do:

  • Process and return the results as JSON,XML,etc.

Usage

Import Biomart module

from biomart import BiomartServer

Connect to a Biomart Server

server = BiomartServer( "http://www.biomart.org/biomart" )

# if you are behind a proxy
import os
server.http_proxy = os.environ.get('http_proxy', 'http://my_http_proxy.org')

# set verbose to True to get some messages
server.verbose = True

Interact with the biomart server

# show server databases
server.show_databases() # uses pprint behind the scenes

# show server datasets
server.show_datasets() # uses pprint behind the scenes

# use the 'uniprot' dataset
uniprot = server.datasets['uniprot']

# show all available filters and attributes of the 'uniprot' dataset
uniprot.show_filters()  # uses pprint
uniprot.show_attributes()  # uses pprint

Run a search

# run a search with the default attributes - equivalent to hitting "Results" on the web interface.
# this will return a lot of data.
response = uniprot.search()
response = uniprot.search( header = 1 ) # if you need the columns header

# response format is TSV
for line in response.iter_lines():
  line = line.decode('utf-8')
  print(line.split("\t"))

# run a count - equivalent to hitting "Count" on the web interface
response = uniprot.count()
print(response.text)

# run a search with custom filters and default attributes.
response = uniprot.search({
  'filters': {
      'accession': 'Q9FMA1'
  }
}, header = 1 )

response = uniprot.search({
  'filters': {
      'accession': ['Q9FMA1', 'Q8LFJ9']  # ID-list specified accessions
  }
}, header = 1 )

# run a search with custom filters and attributes (no header)
response = uniprot.search({
  'filters': {
      'accession': ['Q9FMA1', 'Q8LFJ9']
  },
  'attributes': [
      'accession', 'protein_name'
  ]
})

Shortcut function: connect directly to a biomart dataset This is short in code but it might be long in time since the module needs to fetch all server’s databases to find your dataset.

from biomart import BiomartDataset

interpro = BiomartDataset( "http://www.biomart.org/biomart", name = 'entry' )

response = interpro.search({
  'filters': { 'entry_id': 'IPR027603' },
  'attributes': [ 'entry_name', 'abstract' ]
})

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

biomart-0.9.2.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

biomart-0.9.2-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file biomart-0.9.2.tar.gz.

File metadata

  • Download URL: biomart-0.9.2.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for biomart-0.9.2.tar.gz
Algorithm Hash digest
SHA256 a75e53b1bea4abae0b3a9deab389333ea00f2f88c75f66ab332002ee30862619
MD5 55014e144332fc2c77fe0e675aec914e
BLAKE2b-256 32e14cf2bab581d3bd3f450ffd5e02ba2b6a696de169b63a7ebacfafb04b3425

See more details on using hashes here.

File details

Details for the file biomart-0.9.2-py3-none-any.whl.

File metadata

File hashes

Hashes for biomart-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 69fd29b42efac99370951eed3f9ece9ae9b01868e85d104d9877f8cb99e7bd0f
MD5 2e20e4fae21340408742375b2315abf5
BLAKE2b-256 d3b7684fabf2c8d695a5a85b65101405435611b78cbb6e013782bab7ed4b2e9a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page