Package: apollo
Apollo is a Python library for interacting withApollo. Arrow is its companion CLI tool.for the record… arrow makes working with Apollo SOOO much easier
— Nathan Dunn, Apollo DeveloperInstallationpipinstallapolloExamplesExample code to create a new organism and add yourself in the permission list:fromapolloimportApolloInstancewa=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 listdata=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 commandarrow init),
you can also get an ApolloInstance without writing credentials explicitely:fromarrow.apolloimportget_apollo_instancewa=get_apollo_instance()Or with the Arrow client:$arrowgroupscreate_groupuniversity{"publicGroup":false,"class":"org.bbop.apollo.UserGroup","name":"university","users":null,"id":558319}# THEN$arrowusersget_users|\jq'.[] | select(.username | contains("@tamu.edu")) | .username'|\xargs-n1arrowusersadd_to_groupuniversity# OR$arrowusersget_users|\jq'.[] | select(.username | contains("@tamu.edu")) | .username'|\paste-s-d','|\xargsarrowgroupupdate_membership558319--usersHistory4.2.13Relax biopython requirements4.2.12Do not filter out username from api responses4.2.11Updated wrong version number4.2.10Bugfix handling Shine-Dalgarno sequences (https://github.com/galaxy-genome-annotation/python-apollo/issues/48)4.2.9Bugfix to  update_organism when using suppress_output4.2.8Added –suppress_output to update_organism4.2.7Renamed –return_all option to –suppress_output4.2.6Added –return_all option to add_organism and delete_organism methods4.2.5Prevent from displaying login/password in the logs4.2.4Remove unused dependency4.2.3Fixedload_gff3to more accurately load transcripts including the CDS as well as handle non-coding types more accurately.4.2.2Drastically speed up load_gff3load_gff3now uses the Apolloadd_transcriptmethod if it is a gene or mRNA typeAdded support for all of the current Apollo coding and non-coding typesDrop support for Python 2.74.2.1Fix getting groups by nameAdd tests for group api4.2Improve user update methodAdd tests for user api4.1Fix loading attributes from gff3Better handling of genome sequence update, with or without the no_reload_sequences option4.0.1Fix missing file in pypi package, no code change4.0Added support for remote creation/update/deletion of organisms/tracksAdded support for adding GFF3 in the annotation trackAdded tests3.1Added user activate/inactivateAdded get_creator for user, group and organismsAdded omitEmptyOrganisms to get_usersAdded support for group adminsAdded support for bulk group creation/deletionRepaired GFF3/Fasta downloading3.0.4Fixed bugin deleteFeatures (Thanks@NeillGibson)3.0.3findAllOrganisms works correctly, client side filtering no longer necessary.3.0.2Patch a bug discovered in io.write, thanks Morgan!3.0“Arrow” CLI utilityMore pythonic API and many workarounds for Apollo bugs or odditiesComplete package restructureNearly all functions renamed2.0Galaxy FunctionsTTL Cache to work around Galaxy’s behaviourStatus and Canned* Clients from@abretaud1.0Initial releaseDevelopmentThe 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:makerebuildLicenseAvailable under the MIT LicenseSupportThis material is based upon work supported by the National Science Foundation under Grant Number (Award 1565146)