Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
The database is extensively cross-referenced. Reactions are currently linked
to the EC list, KEGG and MetaCyc, and the reactions will be used in the
IntEnz database and in all relevant UniProtKB entries. Furthermore, the
reactions will also be used in the UniPathway database to generate
pathways and metabolic networks.
-- from Rhea Home page, Dec 2012 (http://www.ebi.ac.uk/rhea/about.xhtml)
"""
from __future__ import print_function
from collections import defaultdict
from bioservices.services import REST
from bioservices import logger
logger.name = __name__
__all__ = ["Rhea"]
class Rhea(REST):
"""Interface to the `Rhea `_ service
You can search by compound name, ChEBI ID, reaction ID, cross reference
(e.g., EC number) or citation (author name, title, abstract text, publication ID).
You can use double quotes - to match an exact phrase - and the following
wildcards:
* ? (question mark = one character),
* `*` (asterisk = several characters).
:REST: https://www.ebi.ac.uk/unichem/rest
.. highlights::
"UniChem is a 'Unified Chemical Identifier' system, designed to assist
in the rapid cross-referencing of chemical structures, and their identifiers,
between databases (read more). "
-- From UniChem web page June 2013
"""
from bioservices import REST
from bioservices import logger
logger.name = __name__
class UniChem(REST):
"""Interface to the `UniChem `_ service
.. doctest::
>>> from bioservices import UniChem
>>> u = UniChem()
"""
_url = "http://www.ebi.ac.uk/unichem/rest"
def __init__(self, verbose=False, cache=False):
systems. A large number of the provided models are published in the
peer-reviewed literature and manually curated. This resource allows biologists
to store, search and retrieve mathematical models. In addition, those models can
be used to generate sub-models, can be simulated online, and can be converted
between different representational formats. "
-- From BioDBNet website, Dec. 2012
.. versionadded:: 1.2.3
.. sectionauthor:: Thomas Cokelaer, Feb 2014
"""
import io
from bioservices.services import REST
from bioservices import logger
logger.name = __name__
try:
import pandas as pd
except:
pass
__all__ = ["BioDBNet"]
class BioDBNet(REST):
"""Interface to the `BioDBNet `_ service
::
>>> from bioservices import *
"The European Variation Archive is an open-access database of all
types of genetic variation data from all species. The EVA provides
access to highly detailed, granular, raw variant data from human, with
other species to follow."
-- From Uniprot web site (help/about) , Dec 2012
"""
import types
import io
from bioservices.services import REST
from bioservices import logger
logger.name = __name__
__all__ = ["EVA"]
class EVA(REST):
"""Interface to the `EVA `_ service
* version: indicates the version of the API, this defines the available
filters and JSON schema to be returned. Currently there is only
version 'v1'.
* category: this defines what objects we want to query. Currently there
are five different categories: variants, segments, genes, files and
studies.
:Service: http://www.ebi.ac.uk/Tools/webservices/services/dbfetch_rest
.. highlights::
"DBFetch allows you to retrieve entries from various up-to-date biological
databases using entry identifiers or accession numbers. This is equivalent to
the CGI based dbfetch service. Like the CGI service a request can return a
maximum of 200 entries."
-- From http://www.ebi.ac.uk/Tools/webservices/services/dbfetch , Dec 2012
"""
from bioservices.services import REST
from bioservices import logger
logger.name = __name__
__all__ = ['DBFetch']
class DBFetch(REST):
"""Interface to `DBFetch `_ service
::
>>> from bioservices import DBFetch
>>> w = DBFetch()
>>> data = w.fetchBatch("uniprot" ,"zap70_human", "xml", "raw")
For more information about the API, check this page:
http://www.ebi.ac.uk/Tools/dbfetch/syntax.jsp
is claimed to achieve both better average accuracy and better speed than
ClustalW or T-Coffee, depending on the chosen options. Multiple alignments
of protein sequences are important in many applications, including
phylogenetic tree estimation, secondary structure prediction and critical
residue identification."
-- from EMBL-EBI web page
"""
from __future__ import print_function
import sys
import time
from bioservices.services import REST
from bioservices import logger
logger.name = __name__
__all__ = ["MUSCLE"]
class MUSCLE(REST):
"""Interface to the `MUSCLE `_ service.
::
>>> from bioservices import *
>>> m = MUSCLE(verbose=False)
>>> sequencesFasta = open('filename','r')
>>> jobid = n.run(frmt="fasta", sequence=sequencesFasta.read(),
email="name@provider")
>>> s.getResult(jobid, "out")
:URL: http://www.ncbi.nlm.nih.gov/books/NBK25499/
:URL: http://www.ncbi.nlm.nih.gov/books/NBK25500/#chapter1.Demonstration_Programs
.. highlights::
The Entrez Programming Utilities (E-utilities) are a set of eight server-side programs that provide a stable interface into the Entrez query and database system at the National Center for Biotechnology Information (NCBI). The E-utilities use a fixed URL syntax that translates a standard set of input parameters into the values necessary for various NCBI software components to search for and retrieve the requested data. The E-utilities are therefore the structured interface to the Entrez system, which currently includes 38 databases covering a variety of biomedical data, including nucleotide and protein sequences, gene records, three-dimensional molecular structures, and the biomedical literature.
-- from http://www.ncbi.nlm.nih.gov/books/NBK25497/, March 2013
"""
import json
from bioservices import REST
from bioservices import __version__
from bioservices import logger
logger.name = __name__
__all__ = ["EUtils", "EUtilsParser"]
# source:
# http://www.dalkescientific.com/writings/diary/archive/2005/09/30/using_eutils.html
class EUtils(REST):
"""Interface to `NCBI Entrez Utilities `_ service
.. note:: Technical note: the WSDL interface was dropped in july 2015
so we now use the REST service.
.. warning:: Read the `guidelines
`_ before sending requests.
.. highlights::
The BioMart project provides free software and data services to the
international scientific community in order to foster scientific collaboration
and facilitate the scientific discovery process. The project adheres to the open
source philosophy that promotes collaboration and code reuse.
-- from BioMart March 2013
.. note:: SOAP and REST are available. We use REST for the wrapping.
"""
from bioservices import REST, BioServicesError
from functools import wraps
from bioservices import logger
logger.name = __name__
__all__ = ["BioMart"]
def require_host(f):
@wraps(f)
def wrapper(*args, **kargs):
if args[0].host is None:
print("You must set the host (e.g. f.host='www.ensembl.org' ")
return
return f(*args, **kargs)
return wrapper
class BioMart(REST):
:URL: http://www.ebi.ac.uk/arrayexpress/
:REST: http://www.ebi.ac.uk/arrayexpress/xml/v2/experiments
.. highlights::
ArrayExpress is a database of functional genomics experiments that can be queried and the data downloaded. It includes gene expression data from microarray and high throughput sequencing studies. Data is collected to MIAME and MINSEQE standards. Experiments are submitted directly to ArrayExpress or are imported from the NCBI GEO database.
-- ArrayExpress home page, Jan 2013
"""
from __future__ import print_function
from bioservices.services import REST
from bioservices import logger
logger.name = __name__
__all__ = ["ArrayExpress"]
class ArrayExpress(REST):
"""Interface to the `ArrayExpress `_ service
ArrayExpress allows to retrieve data sets used in various experiments.
**QuickStart** Given an experiment name (e.g., E-MEXP-31), type::
s = ArrayExpress()
s.getAE('E-MEXP-31')
You can also quickyl retrieve experiments matching some search queries as
:URL: https://www.ebi.ac.uk/chebi/init.do
:WSDL: http://www.ebi.ac.uk/webservices/chebi/2.0/webservice
.. highlights::
"The database and ontology of Chemical Entities of Biological Interest
-- From ChEBI web page June 2013
"""
from bioservices import WSDLService
from bioservices import logger
logger.name = __name__
class ChEBI(WSDLService):
"""Interface to `ChEBI `_
>>> from bioservices import *
>>> ch = ChEBI()
>>> res = ch.getCompleteEntity("CHEBI:27732")
>>> res.smiles
CN1C(=O)N(C)c2ncn(C)c2C1=O
"""
_url = "http://www.ebi.ac.uk/webservices/chebi/2.0/webservice?wsdl"
def __init__(self, verbose=False):
""".. rubric:: Constructor