Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

apollo

Package Overview
Dependencies
Maintainers
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

apollo

Apollo API library

  • 4.2.13
  • PyPI
  • Socket score

Maintainers
3

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 <https://github.com/gmod/apollo/>__. Arrow is its companion CLI tool.

`for the record <https://gitter.im/galaxy-genome-annotation/Lobby?at=5ebee6c049a1b7318479380d>`__ ... 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
  • 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 <https://github.com/galaxy-genome-annotation/python-apollo/issues/4>__ in deleteFeatures (Thanks @NeillGibson <https://github.com/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 <https://github.com/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)

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc