apollo

Python library for talking to Apollo API

https://github.com/galaxy-genome-annotation/python-apollo

Science Score: 10.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
  • Academic publication links
  • Committers with academic emails
    3 of 9 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.1%) to scientific vocabulary

Keywords

apollo jbrowse python

Keywords from Contributors

usegalaxy bioinformatics dna genomics ngs sequencing workflow-engine cloudman
Last synced: 6 months ago · JSON representation

Repository

Python library for talking to Apollo API

Basic Info
  • Host: GitHub
  • Owner: galaxy-genome-annotation
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 798 KB
Statistics
  • Stars: 10
  • Watchers: 4
  • Forks: 11
  • Open Issues: 7
  • Releases: 0
Topics
apollo jbrowse python
Created about 10 years ago · Last pushed about 2 years ago
Metadata Files
Readme License

README.rst

Apollo API Library
==================

.. image:: https://travis-ci.org/galaxy-genome-annotation/python-apollo.svg?branch=master
    :target: https://travis-ci.org/galaxy-genome-annotation/python-apollo

.. image:: https://readthedocs.org/projects/python-apollo/badge/?version=latest
    :target: http://python-apollo.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status

Apollo is a Python library for interacting with
`Apollo `__. Arrow is its companion CLI tool.

    `for the record `__ ... arrow makes working with Apollo SOOO much easier
    — Nathan Dunn, Apollo Developer


Installation
------------

.. code-block:: shell

    pip install apollo

Examples
--------

Example code to create a new organism and add yourself in the permission list:

.. code:: python

    from apollo import ApolloInstance
    wa = ApolloInstance('https://fqdn/apollo', 'jane.doe@fqdn.edu', 'password')

    orgs = wa.organisms.add_organism(
        "Yeast",
        "/path/to/jbrowse/data",
        genus='Saccharomyces',
        species='cerevisiae',
        public=False
    )

    # Give Apollo a second to process the uploaded organism.
    time.sleep(1)

    # Then add yourself to permission list
    data = wa.users.update_organism_permissions(
        "jane.doe@fqdn.edu",
        "Yeast",
        write=True,
        export=True,
        read=True,
    )

If you have already created an Arrow config file (with command `arrow init`),
you can also get an ApolloInstance without writing credentials explicitely:

.. code:: python

    from arrow.apollo import get_apollo_instance
    wa = get_apollo_instance()

Or with the Arrow client:

.. code-block:: shell

    $ arrow groups create_group university
    {
        "publicGroup": false,
        "class": "org.bbop.apollo.UserGroup",
        "name": "university",
        "users": null,
        "id": 558319
    }
    # THEN
    $ arrow users get_users | \
        jq '.[] | select(.username | contains("@tamu.edu")) | .username' | \
        xargs -n1 arrow users add_to_group university
    # OR
    $ arrow users get_users | \
        jq '.[] | select(.username | contains("@tamu.edu")) | .username' | \
        paste -s -d',' | \
        xargs arrow group update_membership 558319 --users

History
-------

- 4.2.13
    - Relax biopython requirements
- 4.2.12
    - Do not filter out username from api responses
- 4.2.11
    - Updated wrong version number
- 4.2.10
    - Bugfix handling Shine-Dalgarno sequences (https://github.com/galaxy-genome-annotation/python-apollo/issues/48)
- 4.2.9
    - Bugfix to  update_organism when using suppress_output
- 4.2.8
    - Added --suppress_output to update_organism
- 4.2.7
    - Renamed --return_all option to --suppress_output
- 4.2.6
    - Added --return_all option to add_organism and delete_organism methods
- 4.2.5
    - Prevent from displaying login/password in the logs
- 4.2.4
    - Remove unused dependency
- 4.2.3
    - Fixed `load_gff3` to more accurately load transcripts including the CDS as well as handle non-coding types more accurately.
- 4.2.2
    - Drastically speed up load_gff3
    - `load_gff3` now uses the Apollo `add_transcript` method if it is a gene or mRNA type
    - Added support for all of the current Apollo coding and non-coding types
    - Drop support for Python 2.7
- 4.2.1
    - Fix getting groups by name
    - Add tests for group api
- 4.2
    - Improve user update method
    - Add tests for user api
- 4.1
    - Fix loading attributes from gff3
    - Better handling of genome sequence update, with or without the no_reload_sequences option
- 4.0.1
    - Fix missing file in pypi package, no code change
- 4.0
    - Added support for remote creation/update/deletion of organisms/tracks
    - Added support for adding GFF3 in the annotation track
    - Added tests
- 3.1
    - Added user activate/inactivate
    - Added get_creator for user, group and organisms
    - Added omitEmptyOrganisms to get_users
    - Added support for group admins
    - Added support for bulk group creation/deletion
    - Repaired GFF3/Fasta downloading
- 3.0.4
    - `Fixed bug `__ in deleteFeatures (Thanks `@NeillGibson `__)
- 3.0.3
    - findAllOrganisms works correctly, client side filtering no longer necessary.
- 3.0.2
    - Patch a bug discovered in io.write, thanks Morgan!
- 3.0
    - "Arrow" CLI utility
    - More pythonic API and many workarounds for Apollo bugs or oddities
    - Complete package restructure
    - Nearly all functions renamed
- 2.0
    - Galaxy Functions
    - TTL Cache to work around Galaxy's behaviour
    - Status and Canned* Clients from `@abretaud `__
- 1.0
    - Initial release


Development
-----------

The content of docs and arrow directories is automatically generated from the code in the apollo directory.
To regenerate it, install the latest version of the code, then run:


.. code-block:: shell

    make rebuild


License
-------

Available under the MIT License



Support
-------

This material is based upon work supported by the National Science Foundation under Grant Number (Award 1565146)

Owner

  • Name: Galaxy Genome Annotation
  • Login: galaxy-genome-annotation
  • Kind: organization

Galaxy tools, infrastructure, and related materials focused on Genome Annotation

GitHub Events

Total
  • Issues event: 1
  • Watch event: 1
  • Issue comment event: 1
  • Fork event: 1
Last Year
  • Issues event: 1
  • Watch event: 1
  • Issue comment event: 1
  • Fork event: 1

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 304
  • Total Committers: 9
  • Avg Commits per committer: 33.778
  • Development Distribution Score (DDS): 0.582
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Anthony Bretaudeau a****u@i****r 127
Eric Rasche r****c@g****m 88
Nathan Dunn n****n@m****m 42
E Rasche h****r@h****g 30
Cory Maughmer c****r@t****u 6
Luke Sargent l****t@g****m 5
Nathan Dunn n****n@l****v 3
mboudet m****t@i****r 2
Cory Maughmer c****r@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 18
  • Total pull requests: 46
  • Average time to close issues: 3 months
  • Average time to close pull requests: 23 days
  • Total issue authors: 12
  • Total pull request authors: 6
  • Average comments per issue: 3.28
  • Average comments per pull request: 1.76
  • Merged pull requests: 40
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: 6 days
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 2.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mpoelchau (3)
  • nathandunn (3)
  • jaspwn (2)
  • hexylena (2)
  • epaule (1)
  • MoffMade (1)
  • luke-c-sargent (1)
  • NeillGibson (1)
  • AlexanderThomasJulian (1)
  • buerklem (1)
  • pwilx666 (1)
  • RenanFerreira0412 (1)
Pull Request Authors
  • abretaud (22)
  • nathandunn (14)
  • hexylena (6)
  • MoffMade (3)
  • luke-c-sargent (2)
  • mboudet (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 427 last-month
  • Total docker downloads: 9
  • Total dependent packages: 1
  • Total dependent repositories: 5
  • Total versions: 25
  • Total maintainers: 3
pypi.org: apollo

Apollo API library

  • Versions: 25
  • Dependent Packages: 1
  • Dependent Repositories: 5
  • Downloads: 427 Last month
  • Docker Downloads: 9
Rankings
Docker downloads count: 4.2%
Dependent repos count: 6.6%
Dependent packages count: 10.0%
Average: 10.3%
Forks count: 10.5%
Downloads: 12.6%
Stargazers count: 17.7%
Maintainers (3)
Last synced: 6 months ago

Dependencies

requirements.txt pypi
  • bcbio-gff >=0.6.6
  • biopython >=1.77
  • cachetools <4
  • click >=6.7
  • decorator *
  • pyyaml *
  • requests *
  • wrapt *