omadb

PyOMADB is a python client to the OMA browser, using the REST API.

https://github.com/dessimozlab/pyomadb

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    1 of 3 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.6%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

PyOMADB is a python client to the OMA browser, using the REST API.

Basic Info
  • Host: GitHub
  • Owner: DessimozLab
  • License: lgpl-3.0
  • Language: Python
  • Default Branch: master
  • Size: 6.1 MB
Statistics
  • Stars: 3
  • Watchers: 3
  • Forks: 1
  • Open Issues: 2
  • Releases: 1
Created over 7 years ago · Last pushed about 1 year ago
Metadata Files
Readme License

README.md

PyOMADB

PyOMADB is a python client to the OMA browser, using the REST API. As such, it requires a stable internet connection to operate. We also provide a similar wrapper for R (https://github.com/DessimozLab/omadb).

Documentation is available here. A notebook containing examples of how to use the package is available here.

Binder

New (version 2.1.0) - in order to facilitate the functional and evolutionary aspects of coronaviruses, the new Corona OMA Browser has been launched. Please see the Corona-OMA Example for more information.

Citation

If you use our package in your work, please consider citing:

Kaleb K, Warwick Vesztrocy A, Altenhoff A and Dessimoz C. Expanding the Orthologous Matrix (OMA) programmatic interfaces: REST API and the OmaDB packages for R and Python. F1000Research 2019, 8:42 (https://doi.org/10.12688/f1000research.17548.1)

Installation

The package requires Python 3 (>=3.6). The easiest way to install is using pip, to install the package from PyPI.

pip install omadb

Documentation

Documentation is available here.

Example

As an example, if a user has the ID of their gene of interest, they can find the corresponding OMA entry as follows:

``` from omadb import Client c = Client()

protid = 'P53RAT' r = c.proteins[protid] # Can also be called as c.proteins.info(protid) ```

This is then a Python dictionary containing information about this entry. Some information is lazily loaded, for example:

orth = r.orthologs # Will lazily load in the background.

Alternatively, if the user has the sequence but no ID, the closest entry in OMA can be identified as so:

``` seq = 'MKLVFLVLLFLGALGLCLAGRRRSVQWCAVSQPEATKCFQWQRNMRKVRGPPVSCIKRDSPIQCIQAIAENRADAVTLDGGFIYEAGLAPYKLRPVAAEVYGTERQPRTHYYAVAVVKKGGSFQLNELQGLKSCHTGLRRTAGWNVPIGTLRPFLNWTGPPEPIEAAVARFFSASCVPGADKGQFPNLCRLCAGTGENKCAFSSQEPYFSYSGAFKCLRDGAGDVAFIRESTVFEDLSDEAERDEYELLCPDNTRKPVDKFKDCHLARVPSHAVVARSVNGKEDAIWNLLRQAQEKFGKDKSPKFQLFGSPSGQKDLLFKDSAIGFSRVPPRIDSGLYLGSGYFTAIQNLRKSEEEVAARRARVVWCAVGEQELRKCNQWSGLSEGSVTCSSASTTEDCIALVLKGEADAMSLDGGYVYTAGKCGLVPVLAENYKSQQSSDPDPNCVDRPVEGYLAVAVVRRSDTSLTWNSVKGKKSCHTAVDRTAGWNIPMGLLFNQTGSCKFDEYFSQSCAPGSDPRSNLCALCIGDEQGENKCVPNSNERYYGYTGAFRCLAENAGDVAFVKDVTVLQNTDGNNNEAWAKDLKLADFALLCLDGKRKPVTEARSCHLAMAPNHAVVSRMDKVERLKQVLLHQQAKFGRNGSDCPDKFCLFQSETKNLLFNDNTECLARLHGKTTYEKYLGPQYVAGITNLKKCSTSPLLEACEFLRK'

r = c.proteins.search(seq) ```

For further examples that correspond to the R versions given in the paper, see the Jupyter notebook, which is also available on mybinder.

Corona-OMA Example

In order to facilitate the functional and evolutionary aspects of coronaviruses, the new Corona OMA Browser has been launched.

The endpoint for the Corona OMA Browser is corona.omabrowser.org/api and can be used in PyOMADB by importing CoronaClient instead of Client.

``` from omadb import CoronaClient c = CoronaClient() # Connects to Corona OMA endpoint

protid = 'R1ABSARS2' # Severe acute respiratory syndrome coronavirus 2 r = c.proteins[protid] # Can also be called as c.proteins.info(protid) ```

This is then a Python dictionary containing information about this entry. Some information is lazily loaded, for example:

orth = r.orthologs # Will lazily load in the background.

License

PyOMADB is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PyOMADB is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with PyOMADB. If not, see http://www.gnu.org/licenses/.

Owner

  • Name: Dessimoz Lab
  • Login: DessimozLab
  • Kind: organization
  • Location: Lausanne and London

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 65
  • Total Committers: 3
  • Avg Commits per committer: 21.667
  • Development Distribution Score (DDS): 0.108
Past Year
  • Commits: 4
  • Committers: 1
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Alex Warwick Vesztrocy a****x@w****k 58
Adrian Altenhoff a****f@i****h 6
Alex Warwick Vesztrocy a****x@a****e 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 4
  • Total pull requests: 0
  • Average time to close issues: 3 months
  • Average time to close pull requests: N/A
  • Total issue authors: 4
  • Total pull request authors: 0
  • Average comments per issue: 1.25
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • trvinh (1)
  • A-Swafford (1)
  • ethanbass (1)
  • alpae (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 196 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 2
  • Total versions: 16
  • Total maintainers: 2
pypi.org: omadb

Client to the OMA browser, using the REST API.

  • Versions: 16
  • Dependent Packages: 1
  • Dependent Repositories: 2
  • Downloads: 196 Last month
Rankings
Dependent packages count: 4.8%
Downloads: 11.5%
Dependent repos count: 11.5%
Average: 15.7%
Forks count: 22.7%
Stargazers count: 27.9%
Maintainers (2)
Last synced: 11 months ago

Dependencies

.github/workflows/upload-release.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • pypa/gh-action-pypi-publish 27b31702a0e7fc50959f5ad993c78deac1bdfc29 composite
environment.yml conda
  • matplotlib
  • numpy
  • pandas
  • python >=3.6
  • scipy
  • seaborn