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']

# run a search with the default filters and 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 with the default filters and attributes - equivalent to hitting "Count" on the web interface
response = uniprot.count()
print(response.text)

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

# 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
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.7.2.tar.gz (7.8 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for biomart-0.7.2.tar.gz
Algorithm Hash digest
SHA256 eeec6517e6cff83c86dd473d5ce95a762ea9722f9f97ff53a8e4a1f6ba3ef2d5
MD5 a44153e6130e64d7c03ea5ffb7ada6d6
BLAKE2b-256 4aa8b58156343137e0417f311aefcb29b88ed3bf1898732d5a1f3eba8b411147

See more details on using hashes here.

Supported by

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