{"id":40300707,"url":"https://github.com/natverse/neuprintr","last_synced_at":"2026-01-20T05:38:07.255Z","repository":{"id":37821874,"uuid":"176496271","full_name":"natverse/neuprintr","owner":"natverse","description":"R client utilities for interacting with the neuPrint connectome analysis service","archived":false,"fork":false,"pushed_at":"2025-10-01T06:13:25.000Z","size":21560,"stargazers_count":4,"open_issues_count":16,"forks_count":3,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-10-01T08:23:47.151Z","etag":null,"topics":["connectomics","neuroanatomy-toolbox","neuroscience","r"],"latest_commit_sha":null,"homepage":"http://natverse.org/neuprintr","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/natverse.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-03-19T11:22:52.000Z","updated_at":"2025-10-01T06:05:24.000Z","dependencies_parsed_at":"2023-01-30T01:45:36.918Z","dependency_job_id":"84bddf5e-fcce-4f46-ac02-b3f332779201","html_url":"https://github.com/natverse/neuprintr","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/natverse/neuprintr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natverse%2Fneuprintr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natverse%2Fneuprintr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natverse%2Fneuprintr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natverse%2Fneuprintr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/natverse","download_url":"https://codeload.github.com/natverse/neuprintr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natverse%2Fneuprintr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28596582,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T02:08:49.799Z","status":"ssl_error","status_checked_at":"2026-01-20T02:08:44.148Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["connectomics","neuroanatomy-toolbox","neuroscience","r"],"created_at":"2026-01-20T05:38:06.434Z","updated_at":"2026-01-20T05:38:07.243Z","avatar_url":"https://github.com/natverse.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\noutput:\n  md_document:\n    variant: gfm\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, echo = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"\",\n  fig.path = \"README-\"\n)\n```\n\u003c!-- badges: start --\u003e\n[![natverse](https://img.shields.io/badge/natverse-Part%20of%20the%20natverse-a241b6)](https://natverse.github.io)\n[![Docs](https://img.shields.io/badge/docs-100%25-brightgreen.svg)](http://natverse.github.io/neuprintr/reference/)\n[![R-CMD-check](https://github.com/natverse/neuprintr/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/natverse/neuprintr/actions/workflows/R-CMD-check.yaml)\n\u003cimg src=\"man/figures/logo.svg\" align=\"right\" height=\"139\" /\u003e \n[![Codecov test coverage](https://codecov.io/gh/natverse/neuprintr/branch/master/graph/badge.svg)](https://app.codecov.io/gh/natverse/neuprintr?branch=master)\n[![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://www.tidyverse.org/lifecycle/#stable)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3843544.svg)](https://doi.org/10.5281/zenodo.3843544)\n\u003c!-- badges: end --\u003e\n\n# neuprintr\n\nThe goal of *neuprintr* is to provide R client utilities for interacting with the neuPrint connectome analysis service. neuPrint is set of tools for loading and analysing connectome data into a Neo4j database.\nYou can find [neuprint](https://github.com/connectome-neuprint/neuPrint) on Github. \nThere is also a great python client available from Philipp Schlegel, [neuprint-python](https://github.com/schlegelp/neuprint-python) if that's your thing. \nneuPrint is currently being used for connectome analysis in aid of neuronal reconstruction efforts at Janelia Research Campus. The main focus is analysis of the [hemibrain](https://www.janelia.org/project-team/flyem/hemibrain), densely reconstructed adult Drosophila brain dataset available at https://neuprint.janelia.org/. \nFor more information, have a look [here](https://neuprint.janelia.org/help).\nUsing this R package in concert with the [natverse](https://github.com/natverse/natverse) ecosystem is highly recommended. \n\n## Tutorial\n\nTo help you get to grips with `neuprintr`, we have made a tutorial in classic presentation form. This tutorial uses data from the [Janelia Fly EM](https://www.janelia.org/project-team/flyem) team's [hemibrain](https://www.biorxiv.org/content/10.1101/2020.01.21.911859v1) project. You can also see the vignettes in this package for the same examples and more.\n\n\u003cp align=\"center\"\u003e\u003ciframe src=\"https://www.slideshare.net/slideshow/embed_code/key/GcE2Blzz02nfhM\" width=\"595\" height=\"485\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen\u003e \u003c/iframe\u003e\u003c/p\u003e \u003cdiv align=\"center\" style=\"margin-bottom:5px\"\u003e \u003cstrong\u003e \u003ca href=\"https://www.slideshare.net/AlexBates4/accessing-hemibrain-data-using-neuprintr-225098909\" title=\"Accessing hemibrain data using Neuprintr \" target=\"_blank\"\u003eAccessing hemibrain data using Neuprintr \u003c/a\u003e \u003c/strong\u003e from \u003cstrong\u003e\u003ca href=\"https://www.slideshare.net/AlexBates4\" target=\"_blank\"\u003eAlexander Bates\u003c/a\u003e\u003c/strong\u003e \u003c/div\u003e\n\n## Installation\n\n```{r install, eval = FALSE}\n# install\nif (!require(\"devtools\")) install.packages(\"devtools\")\ndevtools::install_github(\"natverse/neuprintr\")\n\n# use \nlibrary(neuprintr)\n```\n\n## Authentication\n\nIn order to use *neuprintr* you will need to be able to login to a neuPrint server and be able to access it underlying Neo4j database.\nYou may need an authenticated accounted, or you may be able to register your `@gmail` address without an authentication process.\nNavigate to a neuPrint website, e.g. https://neuprint.janelia.org, and hit 'login'. Sign in using an `@gmail` account. \nIf you have authentication/the server is public, you will now be able to see your access token by going to 'Account':\n\n![access your bearer token](https://raw.githubusercontent.com/natverse/neuprintr/master/inst/images/bearertoken.png)\n\nTo make life easier, you can then edit your `.Renviron` file to contain information about the neuPrint server you want to speak with, your token and the dataset hosted by that server, that you want to read. A convenient way to do this is to do\n\n```{r, eval=FALSE}\nusethis::edit_r_environ()\n```\n\nand then edit the file that pops up, adding a section like\n\n```{r, eval=FALSE}\nneuprint_server=\"https://neuprint.janelia.org\"\n# nb this token is a dummy\nneuprint_token=\"asBatEsiOIJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImIsImxldmVsIjoicmVhZHdyaXRlIiwiaW1hZ2UtdXJsIjoiaHR0cHM7Ly9saDQuZ29vZ2xldXNlcmNvbnRlbnQuY29tLy1QeFVrTFZtbHdmcy9BQUFBQUFBQUFBDD9BQUFBQUFBQUFBQS9BQ0hpM3JleFZMeEI4Nl9FT1asb0dyMnV0QjJBcFJSZlI6MTczMjc1MjU2HH0.jhh1nMDBPl5A1HYKcszXM518NZeAhZG9jKy3hzVOWEU\"\n```\n\nMake sure you have a blank line at the end of your `.Renviron` file. Note that\nyou can optionally specify a default dataset:\n\n```{r, eval=FALSE}\nneuprint_dataset = \"hemibrain:v1.1\"\n```\n\nif your neuPrint server has more than one dataset. For further information \nabout neuprintr login, see the help for `neuprint_login()`.\n\nFinally you can also login on the command line once per session, like so:\n\n```{r login2, eval = FALSE}\nconn = neuprint_login(server= \"https://neuprint.janelia.org/\",\n   token= \"asBatEsiOIJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImIsImxldmVsIjoicmVhZHdyaXRlIiwiaW1hZ2UtdXJsIjoiaHR0cHM7Ly9saDQuZ29vZ2xldXNlcmNvbnRlbnQuY29tLy1QeFVrTFZtbHdmcy9BQUFBQUFBQUFBDD9BQUFBQUFBQUFBQS9BQ0hpM3JleFZMeEI4Nl9FT1asb0dyMnV0QjJBcFJSZlI6MTczMjc1MjU2HH0.jhh1nMDBPl5A1HYKcszXM518NZeAhZG9jKy3hzVOWEU\")\n```\n\nThis is also the approach that you would take if you were working with more than\ntwo neuPrint servers.\n\n## Example\n\nNow we can have a look at what is available\n\n```{r example, eval = FALSE}\n# What data sets are available?\nneuprint_datasets()\n\n# What's the underlying database\nneuprint_database()\n\n# What are the regions of interrst in your default datasest (specified in R.environ, see ?neuprint_login)\nneuprint_ROIs()\n```\n\nUse the client to request data from neuprint. The `neuprint_fetch_custom` method will run an arbitrary cypher query against the database. For information about the neuprint data model, see the neuprint explorer web help: https://neuprint.janelia.org/help.\n\nSome cyphers and other API endpoints have been explored by this package. Have a look a the functions, for example, that give you neuron skeletons, synapse locations, connectivity matrices, etc.\n\n```{r example2, eval = FALSE}\n?neuprint_search\n?neuprint_get_adjacency_matrix\n?neuprint_ROI_connectivity\n?neuprint_get_synapses\n?neuprint_read_neurons\n```\n\n## Example data\n\n* HemiBrain (hemibrain:v1.0) : from [\"A Connectome of the Adult Drosophila Central Brain\"](https://www.biorxiv.org/content/10.1101/2020.01.21.911859v1) (Xu, et al. 2020)\n\n* mushroombody (mb6) : from [\"A connectome of a learning and memory center in the adult Drosophila brain\"](https://elifesciences.org/articles/26975) (Takemura, et al. 2017)\n\n* medulla7column (fib25) : from [\"Synaptic circuits and their variations within different columns in the visual system of Drosophila\"](https://www.pnas.org/content/112/44/13711) (Takemura, et al. 2015)\n\n## Acknowledging the data and tools\n\nneuPrint comprises a set of tools for loading and analyzing connectome data into a Neo4j database. Analyze and explore connectome data stored in Neo4j using the neuPrint ecosystem: [neuPrintHTTP](https://github.com/connectome-neuprint/neuPrintHTTP), [neuPrintExplorer](https://github.com/connectome-neuprint/neuPrintExplorer), [Python API](https://github.com/connectome-neuprint/neuprint-python).\n\nThis package was created by [Alexander Shakeel Bates](https://scholar.google.com/citations?user=BOVTiXIAAAAJ\u0026hl=en) and [Gregory Jefferis](https://en.wikipedia.org/wiki/Gregory_Jefferis) with Romain [Franconville](https://scholar.google.com/citations?user=I7yBLlsAAAAJ\u0026hl=en) \nnow providing key contributions. You can cite a specific version of this package as:\n\n```{r citation, eval = TRUE}\ncitation(package = \"neuprintr\")\n```\n\nhowever we would appreciate if you would cite the *natverse* journal article in which *neuprintr* was first introduced.\nYou can get full citation details for that as follows:\n\n```{r citation2, eval = TRUE}\ncitation(package = \"natverse\")\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnatverse%2Fneuprintr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnatverse%2Fneuprintr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnatverse%2Fneuprintr/lists"}