{"action":"created","comment":{"url":"https://api.github.com/repos/spacetx/starfish/pulls/comments/244869213","pull_request_review_id":188847168,"id":244869213,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0NDg2OTIxMw==","diff_hunk":"@@ -0,0 +1,266 @@\n+# _starfish_ 0.1.0 Roadmap\n+This document describes the features required for SpaceTx groups to use _starfish_ to analyze their data. These users will generate feedback on _starfish_, enabling work to be tailored towards the most valuable feature set.\n+\n+The purpose of this document is to arrive at a detailed list of short-term key deliverables that we aim to deliver by July 2019, the targeted release date for 0.1.0. To accomplish this, we first outline our primary use cases. With these to guide us, we then outline [**what we need to build**](#what-we-need-to-build:-starfish-0.1.0), [**what we can build later**](candidates-features-for-0.2.0+), and why.\n+\n+## Primary use cases\n+To support SpaceTx and Chan Zuckerberg Biohub benchmarking efforts, _starfish_ needs to support the following use cases.\n+\n+### Parameter selection on single fields of view\n+Image-based transcriptomics workflows are highly dependent upon the tissue, organism, and probes being assayed. Labs typically select image processing parameters by analyzing and optimizing parameter selection in a single field of view. In support of this use case, _starfish_ must enable users to process data for any SpaceTx assay on the local computer of their choosing and interact with visualization tools necessary to evaluate parameter decisions. It must support this functionality for users that are not proficient in python.\n+\n+### Local processing of data for SpaceTx Users\n+Some SpaceTx Assays have moderate processing requirements. Users of these assays would like to be able to use _starfish_ to process multiple fields of view of SpaceTx data on their local machines to enable further parameter tuning and spot-checking of results. To support this, we will define a Python API for running _starfish_ on local machines that processes experiments of arbitrary numbers of fields of view, logs, stores data provenance, is multi-processing enabled. Users will also be able to run _starfish_ pipelines through a command-line interface (CLI).\n+\n+### Scalable processing of SpaceTx assays\n+For the SpaceTx consortium project, the _starfish_ team agreed to process the data for each of the data contributors. It may not always be possible or time efficient to do so on a local machine. To accomplish this, _starfish_ must be able to process a complete experiment consisting of hundreds of fields of view that are comprised of up to 10s of terabytes of 2-d TIFF images (\"Scalable Pipeline Runner\"). We will run these analyses, so can dictate the infrastructure on which this processing will occur. However, we need to expose tooling to explore the output formats on a personal computer of our contributor's choosing. The Chan Zuckerberg Biohub workflow is maintained by a single local user, for whom we can help set up this workflow runner.\n+\n+### Scientific assessment of analyzed SpaceTx data: cell type mapping\n+The SpaceTx consortium Working Group 5 is devoted to mapping the cells in Cell x Gene tables into the transcriptomic types/clusters delivered by Working Group 2.  _starfish_ will define standard output formats for external (non-_starfish_) calculation of these cell types and subsequent incorporation of cell type information as metadata in the Cell x Gene tables.\n+\n+### Scientific assessment of analyzed SpaceTx data: methods comparison and meta analysis\n+The SpaceTx consortium Working Group 6 is devoted to comparing the results of each method and assessing their relative strengths and weaknesses. These are largely scientific analyses enabled by the standardization of each assay's outputs by _starfish_.  Because each assay outputs an IntensityTable, Segmentation Mask, and Expression Matrix, it will be simple to label cells or spots with anatomical information represented as named 2D polygons.\n+\n+This capability will allow straightforward creation of highly compressed datasets that will enable working Group 6 to ask questions across all methods like \"how many cells/mm2 belonging to the Sst-Chodl cluster were found in layer 4 of mouse primary visual cortex?\"  or \"Within the inhibitory cell class, what is the abundance and distribution of Pvalb+ and VIP+ cells in human cortex?\"\n+\n+Finally, with a standard format to save and load Cell x Gene tables, visualization of this data will be relatively straightforward for analysts in contributor labs and Working Group 6 members.\n+\n+## Key Deliverables\n+We believe that delivering the following features will enable the above use cases.\n+\n+1. Data is easily converted into SpaceTx format from common imaging formats\n+2. Library that can be used to reproduce collaborator's results for single fields of view\n+3. Library is usable by SpaceTx for generating pipeline recipes on a single or small number of FOVs (minimum) or processing an entire experiment on individual machines (at best)\n+4. A way for the _starfish_ team to run _starfish_ at scale to process the initial set of SpaceTx datasets\n+5. Documentation that supports new users to learn to use _starfish_ without our involvement\n+6. _starfish_ facilitates easy interaction with external visualization software (Napari, FIJI) to enable users to tune image processing parameters\n+7. Experiment-scale output formats can be loaded on local computers and are adequately expressive to enable QC workflows and specified by our users.\n+8. _starfish_ output formats enable external annotation to place the data in anatomical and cell type context and allows comparison across methods\n+\n+Each deliverable above can be broken up into a set of milestones\n+### Library that can be used to reproduce collaborator's results for single fields of view\n+Where parenthetical fractions are listed, they represent progress towards our goals at the time this roadmap was written.\n+\n+1. Obtain example data, pipelines, and results from each SpaceTx group (9/10)<sup>[1](#fn1)</sup>\n+2. Create a data conversion tool to wrangle contributed data into SpaceTx format (0/10)\n+3. Specify an input file format and corresponding object model that supports each assay type (8/10)\n+4. Specify output file format specifications for detected spots, gene expression matrices, and detected objects (e.g. cells) (0/3), and corresponding object models  (2/3)<sup>[2](#fn2)</sup>\n+5. Implementation, in python, of a single-fov proof of concept pipeline that closely matches the processing results of data generators for 9 SpaceTx groups. This is computational biology work to understand the characteristics of the data & assay, and can be done outside _starfish_ as necessary to identify its requirements. (3/10)<sup>[3](#fn3)</sup>\n+6. Implementation, in _starfish_, of the same single-FOV pipelines above (3/10)\n+\n+### Library is usable by SpaceTx for generating pipeline recipes (minimum) or processing their data on individual machines (at best)\n+1. Library is easily installed on operating systems used by SpaceTx users\n+2. Basic for-loop implementation of a pipeline runner to de-risk scale problems that result from processing multiple fields of view, then integrating results for biological analysis\n+3. Explicit definition/specification of a pipeline recipe\n+4. API for processing multiple FOVs for each SpaceTx group given data in SpaceTx format and a pipeline recipe\n+5. Translate each example pipeline into an example pipeline recipe\n+6. Visualization tooling to enable parameter selection on small datasets to tweak pipeline recipes\n+7. API leverages local parallelism\n+\n+### A way to run _starfish_ at scale to process SpaceTx datasets\n+1. _starfish_-based solution to process multiple FOVs at scale tied to a specific infrastructure (Not designed to be run by SpaceTx users on their hardware) (0/9)<sup>[4](#fn4)</sup>\n+\n+### Documentation such that new users can learn to use it without our involvement\n+1. Public and Private API is fully typed and documented\n+2. Purpose of each pipeline component is described, and guidance on parameter tuning, if necessary, is provided\n+3. There are examples of formatting data in SpaceTx format\n+4. There are examples of fully-worked pipelines\n+5. There are examples of the workflow for creating new pipelines\n+7. Public API is stable\n+\n+### _starfish_ facilitates easy interaction with external visualization software (Napari, FIJI) to enable users to tune image processing parameters\n+1. _starfish_ has a method to visualize an ImageStack in Napari\n+2. _starfish_ has a method to plot spots from an IntensityTable onto an ImageStack in Napari\n+3. _starfish_ can dump ImageStacks for viewing 2D TIFFs in FIJI\n+\n+### Experiment-scale output formats can be loaded on local computers and are adequately expressive to enable QC workflows specified by our users. These output formats enable scientific investigation of the data.\n+1. _starfish_ is used to process the three example datasets that we have access to:\n+    1. ISS Breast cancer. 16 FOVs with shape (4, 4, 1, 1024, 1024),\n+    2. MERFISH U2-OS cells. 400 FOVs with shape (8, 2, 1, 2048, 2048),\n+    3. osmFISH Visual Cortex. ~100s FOVs with shape (13, 3, 45, 2048, 2048)\n+2. Outputs from Fields of view can be combined into a single output format\n+3. Output formats can be loaded and are performant\n+4. Processed data can be used to recapitulate results\n+\n+### _starfish_ output formats enable external annotation to place the data in anatomical and cell type context and allow comparison of across methods\n+1. Processed Experiments (all FOVs for a given dataset) can produce Cell x Gene tables with each cell in the physical coordinates of the sample\n+2. 2D polygon annotations of anatomical structures in physical coordinates can be saved in a standardized format and membership of each cell in annotation structures can be added as metadata to the Cell x Gene table\n+3. Cell x Gene table can be easily imported by computational biologists (outside of _starfish_) to determine cell type or cluster membership for each cell.  This cluster membership can include probabilistic membership to multiple clusters and is added to the Cell x Gene table as metadata\n+\n+### A tool to convert image data into SpaceTx Format\n+1. CLI and API (Java) can parse [supported file formats](https://docs.openmicroscopy.org/bio-formats/6.0.0-m3/supported-formats.html) into SpaceTx-formatted datasets<sup>[5](#fn5)</sup>\n+2. Installation of the tool can be accomplished by downloading an archive with a launcher script or by using pre-built docker images\n+3. Users and/or data wranglers can point the tool at one of the [stated files](https://docs.openmicroscopy.org/bio-formats/6.0.0-m3/formats/dataset-table.html) for each FOV to generate 2D TIFFs as well as the necessary SpaceTX JSON files\n+4. In the case that multiple “series” are present in a single dataset, the user must specify which series to use\n+5. The index of the field of view (0-based) must be passed during creation\n+6. If a codebook exists at the time of creation, it can be passed to the tool for inclusion in the JSON. Otherwise, a dummy codebook will be created\n+\n+## What we need to build: _starfish_ 0.1.0\n+In general, we aim for _starfish_ to be a comprehensive platform for the processing of image-based transcriptomics experiments. It should be intuitive to use, fast, and should not require extensive experience with python programming. However, at least during the initial development period, _starfish_ will require domain experience in image processing, as our target users are experts in image generation and processing.\n+\n+### A General Format and Object Model for Image-based Transcriptomics\n+_starfish_ defines a general set of data formats (and paired python object implementations) that (1) enable efficient storage and access for a related set of images broken up into single fields of view<sup>[6](#fn6)</sup>, (2) enable storage and utilization of a codebook, which defines how sets of images are combined to decode spot patterns into biological targets, and (3) defines a pipeline recipe which can be interpreted by _starfish_'s pipeline runner to process an experiment.\n+\n+To be eligible for processing, images in SpaceTx Format must either be pre-aligned, such that the x-y location of each tile in a Field of View is the same. Image data that does not adhere to this requirement will not be processable with _starfish_ without addition of user-contributed registration pipeline components.\n+\n+### A Modular Library of Pipeline Components\n+_starfish_ enables the construction of arbitrary image-based transcriptomics pipelines by implementing the union of algorithms used by SpaceTx labs while combining similar approaches into a simplified subset. These algorithms can be linearly combined to process individual fields of view, requiring no more than 16GB ram for any individual pipeline component. The set of algorithms must include:\n+\n+#### Image Adjustment\n+_starfish_ defines pipeline components that enable simple adjustment of image data, such as slicing (finding focal plane, cropping edge effects) and projection over arbitrary axes.\n+\n+#### Filtering\n+_starfish_ defines the set of filters used in SpaceTx labs, including approaches to remove background, enhance spots, deconvolve the specified point spread function of the imaging system, and normalize image intensities.\n+\n+#### Spot Detection\n+_starfish_ implements spot detectors via a variety of spot detection algorithms (eg., Gaussian/Laplacian of Gaussian/Hessian of Gaussian blob detection, local max peak finding, etc.) These detectors can function independently on individual channels and rounds or be used to measure intensity values of spots (as detected in a single auxiliary image) across all other primary images across channels and rounds. _starfish_ also supports pixel based decoding algorithms (e.g., algorithms that detect spots after pixels are decoded to targets) within the same API.\n+\n+#### Decoding\n+_starfish_ enables decoding of spots or pixels detected across rounds and channels into targets. These decoding results can be filtered post-hoc, using spot intensity, spot size, and spot distance-to-target metrics. For the latter metric, the user may supply their desired distance metric.\n+\n+#### Segmentation\n+This is an area of active research. However, four SpaceTx groups use seeded watershed segmentation, which has a concrete implementation. _starfish_ implements this method and will include a vignette on how to tune parameters so it functions across assays. In addition, we will elicit submissions from Kenneth Harris and Peter Kharchenko for point-cloud based segmentation, and encourage the community to work on this problem by defining a segmentation format and API to enable plugin-based interaction with community-developed algorithms.\n+\n+#### Image Registration\n+_starfish_ implements the ability to apply a pre-computed full affine registration including translation, rotation, and scale to enable alignment across z-layers, rounds, and channels. Translation and rotation can also provide a solution for some types of chromatic aberration.\n+\n+### Worked examples that process each assay\n+We need to demonstrate that _starfish_ is capable of processing each SpaceTx assay. To do this, we will create pipelines that process single fields of view for each group. These pipelines will take as input datasets that have already been registered and for which chromatic aberrations have been corrected, and will output spot calls. To validate that our results match SpaceTx expectations, we will calculate the copy number correlation between our results and the results of their own pipelines, as well as overlay our spot calls on the image data.\n+\n+### Pipeline Recipes\n+_starfish_ will define a format (or elect an existing one) for a pipeline recipe. Such a format must consist of, at a minimum, a selection and ordering of pipeline components and a specification of any necessary parameters. We will create example recipes for each group, and will solicit recipes from each SpaceTx group that are correctly parameterized to process (1) human brain tissue and (2) mouse brain tissue for each of their respective assays.\n+\n+### An Example Pipeline Runner\n+A pipeline runner takes as input a pipeline recipe, runs the pipeline according to this recipe, and outputs combined results (combined across fields of view) in a standardized file format. There are two versions of a runner: one that runs on a single machine, and one that distributes computation across multiple machines.\n+\n+#### Single-machine Pipeline Runner\n+An un-optimized executor of pipeline recipes that logs and records the execution of pipeline components across FOVs to create a reproducible record of how data was processed. Ideally this runner would be configurable for multi-processing, when relevant. This runner must enable SpaceTx users to easily tune parameters on single fields of view.\n+#### Scalable Pipeline Runner\n+There are many existing distributed pipeline runners that are designed for particular architectures (AWS batch, Google Pipelines API, Grid Engine), and frameworks that build programmatically on top of them (Spark, Dask, Hadoop), or abstract graph computation and scheduling over pools of potentially distributed compute resources (WDL/Cromwell, Toil, Snakemake, Nextflow, CWL, Reflow, ...). There is also an open question as to whether distributed or GPU-based architectures will be more cost effective for image-based transcriptomics processing.\n+\n+The diversity of infrastructures leveraged by SpaceTx labs and institutes have caused them to make different decisions about which workflow runner to use (EBI: HPC+Nextflow, UCSC: ?+Toil, Broad: GCP+Cromwell, Allen: HCP+Grid Engine, Zhuang: HCP+Grid Engine+SnakeMake, etc.). Because institutional users tend to be heavily committed to their infrastructure of choice, it is unlikely that we will convert them. However, by implementing a library that can be leveraged by each workflow runner, we enable _starfish_ to be used across these groups.\n+\n+Nevertheless, to demonstrate _starfish_'s scale, we will implement workflows on one or more existing pipeline runner and keep this work distinct from the underlying library. This pipeline runner will be capable of processing a complete experiment consisting of arbitrary numbers of fields of view for any SpaceTx lab and will leverage cloud-based parallelism to accomplish the processing of any SpaceTx experiment in under 2 hours. We will consider the HCA use case when designing our version 0.1.0 workflows in order to maximize initial compatibility.\n+\n+### A Developer Focus Point\n+Two key aims of _starfish_ and SpaceTx are to (1) encourage convergence of the community onto a single object model for processing of image-based transcriptomics data and (2) make it easier to develop pipelines by providing a high-performance platform. To facilitate this, we must encourage developers to work on _starfish_ through active outreach and by being encouraging and helpful.\n+\n+## Outstanding work to complete 0.1.0\n+\n+### A General Format and Object Model for Image-based Transcriptomics\n+\n+#### Format specification for IntensityTable and ExpressionMatrix:\n+These two objects currently lack format specifications, which has confused some users, including Ken Harris. A specification for these formats will help computational users to understand how to consume our data formats, and will help facilitate their conversion for use in other languages. For users who are comfortable with python but not necessarily with xarray, we will build in a series of `to_array` and `to_pandas` options.\n+\n+#### _starfish_ must enable processing of fields of view by round\n+Sequential smFISH assays that capture volumetric images produce fields of view that are too large for personal computers<sup>[7](#fn7)</sup>. However, if we are able to break up the processing of this data by round, we could hit our scale targets. Second, multiplexed assays (e.g. MERFISH, SeqFISH, ISS) require all rounds and channels to be loaded into memory to decode. In both cases, we should derisk decoding of these assays by understanding the maximum ImageStack size we can support before we need to implement solutions to manage memory consumption.\n+\n+### A Modular Library of Pipeline Components\n+\n+#### Registration\n+We lack solutions for registration that fulfill requirements for ISS (the Harris version), smFISH, MERFISH. Additionally, expansion microscopy requires non-affine thin-plate spline registration. Registration is out of scope for the timeline expected by SpaceTx to have all the data processed. As such, we expect all contributors to provide us with either pre-registered data, or the registration pipeline component implementations they require. We will need to develop solutions or compromises for the MExFISH and ISS (Harris) methods.\n+\n+#### Documentation\n+_starfish_'s API documentation is minimal. We need to add basic documentation that describes how to use each component, and how to fit parameters. This should be adequate for a skilled computational user (Brian Long, Kenneth Harris) to pick up _starfish_ and use it to make a pipeline. _starfish_ should also clearly document how a developer can contribute code they need for their analyses to the project. We will need to source feedback from users on what parts of the documentation provoke confusion.\n+\n+#### Image re-scaling & normalization\n+Several approaches normalize images to overcome different channel intensities or round biases. We should implement a pipeline component to support this that samples from images within or across fields of view. Determine the minimum necessary sampling level to achieve needed normalization.\n+\n+#### Stitching\n+Decide on and Implement a simple solution for stitching IntensityTables created from tiles that overlap in physical space. This could be as simple as \"clobber-left\".\n+\n+#### Workflow logging\n+Implement tracking of pipeline component execution on ImageStacks that record the analysis that has been done on an experiment to reach its current state.\n+\n+#### Decoding\n+SeqFISH implements a decoder that carries out a local search of adjacent pixels to allow for jitter in their decoding. We will need to implement this method or demonstrate that it is unnecessary by leveraging an existing decoder to reproduce their results.\n+\n+### Worked examples that process each assay\n+- [ ] Design an example pipeline for BaristaSeq\n+- [ ] Design an example pipeline for SeqFISH\n+- [ ] Design an example pipeline for osmFISH\n+- [ ] Design an example pipeline for StarMAP\n+- [ ] Work with Allen Institute to ingest their data and run their pipeline for 3D smFISH\n+- [ ] Source recipes from each SpaceTx contributor.\n+\n+### A Single-machine Pipeline Runner\n+- [ ] Given a pipeline recipe, executes a series of _starfish_ PipelineComponents to process a single field of view.\n+- [ ] Simplify the creation of new pipelines by creating an interpreter that takes a pipeline recipe and generates any necessary intermediate artifacts needed to execute the pipeline on our chosen runner.\n+- [ ] Extend the pipeline runner to process and integrate multiple fields of view into a single coherent output that enables scientific analyses of the outputs.\n+- [ ] Must be easy to use and serve users that are not confident python programmers.\n+- [ ] Should support parallelism.\n+\n+### Scalable Pipeline Runner\n+- [ ] Research existing solutions and decide whether we must invest in a distributed pipeline runner to hit our initial speed/cost goals.\n+- [ ] Implement a pipeline runner that achieves the speed goals for each assay, enabling the _starfish_ team to process all the data from the SpaceTx contributors.\n+\n+### Pipeline Recipes\n+- [ ] Research the space of existing pipeline specifications\n+- [ ] Determine an implementation that, given a selection and ordering of pipeline components and a specification of any necessary parameters, provides sufficient instructions to _starfish_ to process data in SpaceTx Format\n+- [ ] Define the format for the pipeline recipe and add it to SpaceTx Format\n+- [ ] Translate the single-fov pipelines into pipeline recipes to serve as examples that SpaceTx groups can build from\n+\n+### A Developer Focus Point\n+- [ ] Encourage groups we meet to contribute development resources to _starfish_\n+- [ ] Support image-based transcriptomics and proteomics developers who are interested in working with us on _starfish_ and have implemented methods that could synergize with _starfish_ by scoping how they could contribute, and supporting any eventual pull requests made to _starfish_.\n+- [ ] Serve Data To Community\n+- [ ] CC-by licensing\n+- [ ] Documented upload procedures to s3\n+\n+## Candidate features for 0.2.0+\n+\n+There are many other features that are good candidates for future releases. We discuss these features, and why we believe they can be built after release 0.1.0.\n+\n+### Hardware- and Acquisition-related corrections\n+Data generators understand their hardware, chemistry, and samples much better than we do. For now, it's difficult for the _starfish_ team to solve image pre-processing problems that are specific to the signal acquisition challenges each data generator faces. Furthermore, proper image pre-processing is critical to the success of the downstream pipeline components that we're building in the roadmap defined above. Instead of relying on data generators to provide us with image-pre-processing pipeline component implementations, we're requesting that data generators pre-process their images before uploading. This will accelerate progress towards the project's goal of comparing the results from all the methods using standard file formats, and scalable, reproducible image processing workflows. There are three categories of pre-processing that we ask data generators to apply:\n+\n+#### Affine Registration\n+For the SpaceTx pilot project, it is adequate to apply pre-computed transformations or leverage already-registered data. Later, when we want to support groups to use _starfish_ for their own research, it will be important to implement affine registration, as otherwise _starfish_ serves only part of their use cases, and they are incentivized to continue running their existing pipelines.\n+\n+#### Non-Affine Registration\n+Non-Affine registration approaches are very specific to the types of deformations that the tissue suffers, and have variable forms. We should investigate defining some kind of API for arbitrary transformations that could allow users to add approaches that they require, but we won't do the work to implement these as they don't have broad applicability.\n+\n+#### Fixing Chromatic Aberration\n+Chromatic aberrations, including differences in illumination, cross-talk between channels, and channel drift tend to be specific to the assay and microscope, making creation of a general solution complicated. Additionally, these problems are often fixed early in pipelines so it is easy to extricate this step from the pipeline. For these reasons, we will ask the groups to generate data that has already been corrected for release 0.1.0.","path":"docs/source/roadmap.md","position":225,"original_position":224,"commit_id":"328a89ff401f69d099b3dff287ee7246e2adf71c","original_commit_id":"ee0312fc087ea124d12c892a20d3c87ee975f711","user":{"login":"kevinyamauchi","id":1120672,"node_id":"MDQ6VXNlcjExMjA2NzI=","avatar_url":"https://avatars1.githubusercontent.com/u/1120672?v=4","gravatar_id":"","url":"https://api.github.com/users/kevinyamauchi","html_url":"https://github.com/kevinyamauchi","followers_url":"https://api.github.com/users/kevinyamauchi/followers","following_url":"https://api.github.com/users/kevinyamauchi/following{/other_user}","gists_url":"https://api.github.com/users/kevinyamauchi/gists{/gist_id}","starred_url":"https://api.github.com/users/kevinyamauchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevinyamauchi/subscriptions","organizations_url":"https://api.github.com/users/kevinyamauchi/orgs","repos_url":"https://api.github.com/users/kevinyamauchi/repos","events_url":"https://api.github.com/users/kevinyamauchi/events{/privacy}","received_events_url":"https://api.github.com/users/kevinyamauchi/received_events","type":"User","site_admin":false},"body":"Sounds good! I look forward to discussing at the sync.","created_at":"2019-01-02T22:08:14Z","updated_at":"2019-01-02T22:08:14Z","html_url":"https://github.com/spacetx/starfish/pull/895#discussion_r244869213","pull_request_url":"https://api.github.com/repos/spacetx/starfish/pulls/895","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/spacetx/starfish/pulls/comments/244869213"},"html":{"href":"https://github.com/spacetx/starfish/pull/895#discussion_r244869213"},"pull_request":{"href":"https://api.github.com/repos/spacetx/starfish/pulls/895"}},"in_reply_to_id":244260374},"pull_request":{"url":"https://api.github.com/repos/spacetx/starfish/pulls/895","id":239177641,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM5MTc3NjQx","html_url":"https://github.com/spacetx/starfish/pull/895","diff_url":"https://github.com/spacetx/starfish/pull/895.diff","patch_url":"https://github.com/spacetx/starfish/pull/895.patch","issue_url":"https://api.github.com/repos/spacetx/starfish/issues/895","number":895,"state":"open","locked":false,"title":"Starfish H1 2019 Roadmap","user":{"login":"ambrosejcarr","id":5239152,"node_id":"MDQ6VXNlcjUyMzkxNTI=","avatar_url":"https://avatars1.githubusercontent.com/u/5239152?v=4","gravatar_id":"","url":"https://api.github.com/users/ambrosejcarr","html_url":"https://github.com/ambrosejcarr","followers_url":"https://api.github.com/users/ambrosejcarr/followers","following_url":"https://api.github.com/users/ambrosejcarr/following{/other_user}","gists_url":"https://api.github.com/users/ambrosejcarr/gists{/gist_id}","starred_url":"https://api.github.com/users/ambrosejcarr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ambrosejcarr/subscriptions","organizations_url":"https://api.github.com/users/ambrosejcarr/orgs","repos_url":"https://api.github.com/users/ambrosejcarr/repos","events_url":"https://api.github.com/users/ambrosejcarr/events{/privacy}","received_events_url":"https://api.github.com/users/ambrosejcarr/received_events","type":"User","site_admin":false},"body":"# This PR uploads the Development Roadmap for Starfish for the first half of 2019. \r\n\r\nThe Starfish team thinks that the work described here is sufficient to carry out benchmarking of all 10 SpaceTx assays, subject to the [data delivery pre-processing requests](https://docs.google.com/document/d/1x516WMMWkEKKQwLrqqBsKmsPEDNjFYugqxm400D2NjY/edit?usp=sharing). \r\n\r\nWe're interested in feedback from the SpaceTx community on the proposed work described here. If the product described here is _not_ adequate to process data for your assay, we need to know soon, and are interested in discussing adaptations to the roadmap that will enable the processing of your assay! We've tagged each of the data analysts and producers from each group for comment. Please leave questions directly on the pull request. \r\n\r\nIf helpful, You can click [here](https://github.com/spacetx/starfish/blob/22d5f64fd165a7e2c41a2d7b6b4f26ee8bd33c2b/docs/source/roadmap.md) to view the rendered document. ","created_at":"2018-12-17T15:09:53Z","updated_at":"2019-01-02T22:08:14Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c7d78e8bb290f7576a581adf646ccf7041bbad51","assignee":null,"assignees":[],"requested_reviewers":[{"login":"neuromusic","id":1245615,"node_id":"MDQ6VXNlcjEyNDU2MTU=","avatar_url":"https://avatars1.githubusercontent.com/u/1245615?v=4","gravatar_id":"","url":"https://api.github.com/users/neuromusic","html_url":"https://github.com/neuromusic","followers_url":"https://api.github.com/users/neuromusic/followers","following_url":"https://api.github.com/users/neuromusic/following{/other_user}","gists_url":"https://api.github.com/users/neuromusic/gists{/gist_id}","starred_url":"https://api.github.com/users/neuromusic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neuromusic/subscriptions","organizations_url":"https://api.github.com/users/neuromusic/orgs","repos_url":"https://api.github.com/users/neuromusic/repos","events_url":"https://api.github.com/users/neuromusic/events{/privacy}","received_events_url":"https://api.github.com/users/neuromusic/received_events","type":"User","site_admin":false},{"login":"berl","id":6773896,"node_id":"MDQ6VXNlcjY3NzM4OTY=","avatar_url":"https://avatars0.githubusercontent.com/u/6773896?v=4","gravatar_id":"","url":"https://api.github.com/users/berl","html_url":"https://github.com/berl","followers_url":"https://api.github.com/users/berl/followers","following_url":"https://api.github.com/users/berl/following{/other_user}","gists_url":"https://api.github.com/users/berl/gists{/gist_id}","starred_url":"https://api.github.com/users/berl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/berl/subscriptions","organizations_url":"https://api.github.com/users/berl/orgs","repos_url":"https://api.github.com/users/berl/repos","events_url":"https://api.github.com/users/berl/events{/privacy}","received_events_url":"https://api.github.com/users/berl/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":{"url":"https://api.github.com/repos/spacetx/starfish/milestones/1","html_url":"https://github.com/spacetx/starfish/milestone/1","labels_url":"https://api.github.com/repos/spacetx/starfish/milestones/1/labels","id":3913576,"node_id":"MDk6TWlsZXN0b25lMzkxMzU3Ng==","number":1,"title":"0.1.0","description":"This milestone tracks features toward the MVP & a release of starfish 0.1.0","creator":{"login":"neuromusic","id":1245615,"node_id":"MDQ6VXNlcjEyNDU2MTU=","avatar_url":"https://avatars1.githubusercontent.com/u/1245615?v=4","gravatar_id":"","url":"https://api.github.com/users/neuromusic","html_url":"https://github.com/neuromusic","followers_url":"https://api.github.com/users/neuromusic/followers","following_url":"https://api.github.com/users/neuromusic/following{/other_user}","gists_url":"https://api.github.com/users/neuromusic/gists{/gist_id}","starred_url":"https://api.github.com/users/neuromusic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neuromusic/subscriptions","organizations_url":"https://api.github.com/users/neuromusic/orgs","repos_url":"https://api.github.com/users/neuromusic/repos","events_url":"https://api.github.com/users/neuromusic/events{/privacy}","received_events_url":"https://api.github.com/users/neuromusic/received_events","type":"User","site_admin":false},"open_issues":93,"closed_issues":10,"state":"open","created_at":"2018-12-19T17:52:20Z","updated_at":"2018-12-23T01:32:48Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/spacetx/starfish/pulls/895/commits","review_comments_url":"https://api.github.com/repos/spacetx/starfish/pulls/895/comments","review_comment_url":"https://api.github.com/repos/spacetx/starfish/pulls/comments{/number}","comments_url":"https://api.github.com/repos/spacetx/starfish/issues/895/comments","statuses_url":"https://api.github.com/repos/spacetx/starfish/statuses/328a89ff401f69d099b3dff287ee7246e2adf71c","head":{"label":"spacetx:ajc-roadmap","ref":"ajc-roadmap","sha":"328a89ff401f69d099b3dff287ee7246e2adf71c","user":{"login":"spacetx","id":37218549,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM3MjE4NTQ5","avatar_url":"https://avatars0.githubusercontent.com/u/37218549?v=4","gravatar_id":"","url":"https://api.github.com/users/spacetx","html_url":"https://github.com/spacetx","followers_url":"https://api.github.com/users/spacetx/followers","following_url":"https://api.github.com/users/spacetx/following{/other_user}","gists_url":"https://api.github.com/users/spacetx/gists{/gist_id}","starred_url":"https://api.github.com/users/spacetx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spacetx/subscriptions","organizations_url":"https://api.github.com/users/spacetx/orgs","repos_url":"https://api.github.com/users/spacetx/repos","events_url":"https://api.github.com/users/spacetx/events{/privacy}","received_events_url":"https://api.github.com/users/spacetx/received_events","type":"Organization","site_admin":false},"repo":{"id":92539237,"node_id":"MDEwOlJlcG9zaXRvcnk5MjUzOTIzNw==","name":"starfish","full_name":"spacetx/starfish","private":false,"owner":{"login":"spacetx","id":37218549,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM3MjE4NTQ5","avatar_url":"https://avatars0.githubusercontent.com/u/37218549?v=4","gravatar_id":"","url":"https://api.github.com/users/spacetx","html_url":"https://github.com/spacetx","followers_url":"https://api.github.com/users/spacetx/followers","following_url":"https://api.github.com/users/spacetx/following{/other_user}","gists_url":"https://api.github.com/users/spacetx/gists{/gist_id}","starred_url":"https://api.github.com/users/spacetx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spacetx/subscriptions","organizations_url":"https://api.github.com/users/spacetx/orgs","repos_url":"https://api.github.com/users/spacetx/repos","events_url":"https://api.github.com/users/spacetx/events{/privacy}","received_events_url":"https://api.github.com/users/spacetx/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/spacetx/starfish","description":"*fish -- A standardized analysis pipeline for image-based transcriptomics","fork":false,"url":"https://api.github.com/repos/spacetx/starfish","forks_url":"https://api.github.com/repos/spacetx/starfish/forks","keys_url":"https://api.github.com/repos/spacetx/starfish/keys{/key_id}","collaborators_url":"https://api.github.com/repos/spacetx/starfish/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/spacetx/starfish/teams","hooks_url":"https://api.github.com/repos/spacetx/starfish/hooks","issue_events_url":"https://api.github.com/repos/spacetx/starfish/issues/events{/number}","events_url":"https://api.github.com/repos/spacetx/starfish/events","assignees_url":"https://api.github.com/repos/spacetx/starfish/assignees{/user}","branches_url":"https://api.github.com/repos/spacetx/starfish/branches{/branch}","tags_url":"https://api.github.com/repos/spacetx/starfish/tags","blobs_url":"https://api.github.com/repos/spacetx/starfish/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/spacetx/starfish/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/spacetx/starfish/git/refs{/sha}","trees_url":"https://api.github.com/repos/spacetx/starfish/git/trees{/sha}","statuses_url":"https://api.github.com/repos/spacetx/starfish/statuses/{sha}","languages_url":"https://api.github.com/repos/spacetx/starfish/languages","stargazers_url":"https://api.github.com/repos/spacetx/starfish/stargazers","contributors_url":"https://api.github.com/repos/spacetx/starfish/contributors","subscribers_url":"https://api.github.com/repos/spacetx/starfish/subscribers","subscription_url":"https://api.github.com/repos/spacetx/starfish/subscription","commits_url":"https://api.github.com/repos/spacetx/starfish/commits{/sha}","git_commits_url":"https://api.github.com/repos/spacetx/starfish/git/commits{/sha}","comments_url":"https://api.github.com/repos/spacetx/starfish/comments{/number}","issue_comment_url":"https://api.github.com/repos/spacetx/starfish/issues/comments{/number}","contents_url":"https://api.github.com/repos/spacetx/starfish/contents/{+path}","compare_url":"https://api.github.com/repos/spacetx/starfish/compare/{base}...{head}","merges_url":"https://api.github.com/repos/spacetx/starfish/merges","archive_url":"https://api.github.com/repos/spacetx/starfish/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/spacetx/starfish/downloads","issues_url":"https://api.github.com/repos/spacetx/starfish/issues{/number}","pulls_url":"https://api.github.com/repos/spacetx/starfish/pulls{/number}","milestones_url":"https://api.github.com/repos/spacetx/starfish/milestones{/number}","notifications_url":"https://api.github.com/repos/spacetx/starfish/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/spacetx/starfish/labels{/name}","releases_url":"https://api.github.com/repos/spacetx/starfish/releases{/id}","deployments_url":"https://api.github.com/repos/spacetx/starfish/deployments","created_at":"2017-05-26T18:45:11Z","updated_at":"2018-12-22T08:25:12Z","pushed_at":"2019-01-02T21:20:03Z","git_url":"git://github.com/spacetx/starfish.git","ssh_url":"git@github.com:spacetx/starfish.git","clone_url":"https://github.com/spacetx/starfish.git","svn_url":"https://github.com/spacetx/starfish","homepage":"","size":71062,"stargazers_count":58,"watchers_count":58,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":25,"mirror_url":null,"archived":false,"open_issues_count":179,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":25,"open_issues":179,"watchers":58,"default_branch":"master"}},"base":{"label":"spacetx:master","ref":"master","sha":"c2aed23f31021abb6c12ec170971c215b1dedec3","user":{"login":"spacetx","id":37218549,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM3MjE4NTQ5","avatar_url":"https://avatars0.githubusercontent.com/u/37218549?v=4","gravatar_id":"","url":"https://api.github.com/users/spacetx","html_url":"https://github.com/spacetx","followers_url":"https://api.github.com/users/spacetx/followers","following_url":"https://api.github.com/users/spacetx/following{/other_user}","gists_url":"https://api.github.com/users/spacetx/gists{/gist_id}","starred_url":"https://api.github.com/users/spacetx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spacetx/subscriptions","organizations_url":"https://api.github.com/users/spacetx/orgs","repos_url":"https://api.github.com/users/spacetx/repos","events_url":"https://api.github.com/users/spacetx/events{/privacy}","received_events_url":"https://api.github.com/users/spacetx/received_events","type":"Organization","site_admin":false},"repo":{"id":92539237,"node_id":"MDEwOlJlcG9zaXRvcnk5MjUzOTIzNw==","name":"starfish","full_name":"spacetx/starfish","private":false,"owner":{"login":"spacetx","id":37218549,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM3MjE4NTQ5","avatar_url":"https://avatars0.githubusercontent.com/u/37218549?v=4","gravatar_id":"","url":"https://api.github.com/users/spacetx","html_url":"https://github.com/spacetx","followers_url":"https://api.github.com/users/spacetx/followers","following_url":"https://api.github.com/users/spacetx/following{/other_user}","gists_url":"https://api.github.com/users/spacetx/gists{/gist_id}","starred_url":"https://api.github.com/users/spacetx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spacetx/subscriptions","organizations_url":"https://api.github.com/users/spacetx/orgs","repos_url":"https://api.github.com/users/spacetx/repos","events_url":"https://api.github.com/users/spacetx/events{/privacy}","received_events_url":"https://api.github.com/users/spacetx/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/spacetx/starfish","description":"*fish -- A standardized analysis pipeline for image-based transcriptomics","fork":false,"url":"https://api.github.com/repos/spacetx/starfish","forks_url":"https://api.github.com/repos/spacetx/starfish/forks","keys_url":"https://api.github.com/repos/spacetx/starfish/keys{/key_id}","collaborators_url":"https://api.github.com/repos/spacetx/starfish/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/spacetx/starfish/teams","hooks_url":"https://api.github.com/repos/spacetx/starfish/hooks","issue_events_url":"https://api.github.com/repos/spacetx/starfish/issues/events{/number}","events_url":"https://api.github.com/repos/spacetx/starfish/events","assignees_url":"https://api.github.com/repos/spacetx/starfish/assignees{/user}","branches_url":"https://api.github.com/repos/spacetx/starfish/branches{/branch}","tags_url":"https://api.github.com/repos/spacetx/starfish/tags","blobs_url":"https://api.github.com/repos/spacetx/starfish/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/spacetx/starfish/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/spacetx/starfish/git/refs{/sha}","trees_url":"https://api.github.com/repos/spacetx/starfish/git/trees{/sha}","statuses_url":"https://api.github.com/repos/spacetx/starfish/statuses/{sha}","languages_url":"https://api.github.com/repos/spacetx/starfish/languages","stargazers_url":"https://api.github.com/repos/spacetx/starfish/stargazers","contributors_url":"https://api.github.com/repos/spacetx/starfish/contributors","subscribers_url":"https://api.github.com/repos/spacetx/starfish/subscribers","subscription_url":"https://api.github.com/repos/spacetx/starfish/subscription","commits_url":"https://api.github.com/repos/spacetx/starfish/commits{/sha}","git_commits_url":"https://api.github.com/repos/spacetx/starfish/git/commits{/sha}","comments_url":"https://api.github.com/repos/spacetx/starfish/comments{/number}","issue_comment_url":"https://api.github.com/repos/spacetx/starfish/issues/comments{/number}","contents_url":"https://api.github.com/repos/spacetx/starfish/contents/{+path}","compare_url":"https://api.github.com/repos/spacetx/starfish/compare/{base}...{head}","merges_url":"https://api.github.com/repos/spacetx/starfish/merges","archive_url":"https://api.github.com/repos/spacetx/starfish/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/spacetx/starfish/downloads","issues_url":"https://api.github.com/repos/spacetx/starfish/issues{/number}","pulls_url":"https://api.github.com/repos/spacetx/starfish/pulls{/number}","milestones_url":"https://api.github.com/repos/spacetx/starfish/milestones{/number}","notifications_url":"https://api.github.com/repos/spacetx/starfish/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/spacetx/starfish/labels{/name}","releases_url":"https://api.github.com/repos/spacetx/starfish/releases{/id}","deployments_url":"https://api.github.com/repos/spacetx/starfish/deployments","created_at":"2017-05-26T18:45:11Z","updated_at":"2018-12-22T08:25:12Z","pushed_at":"2019-01-02T21:20:03Z","git_url":"git://github.com/spacetx/starfish.git","ssh_url":"git@github.com:spacetx/starfish.git","clone_url":"https://github.com/spacetx/starfish.git","svn_url":"https://github.com/spacetx/starfish","homepage":"","size":71062,"stargazers_count":58,"watchers_count":58,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":25,"mirror_url":null,"archived":false,"open_issues_count":179,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":25,"open_issues":179,"watchers":58,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/spacetx/starfish/pulls/895"},"html":{"href":"https://github.com/spacetx/starfish/pull/895"},"issue":{"href":"https://api.github.com/repos/spacetx/starfish/issues/895"},"comments":{"href":"https://api.github.com/repos/spacetx/starfish/issues/895/comments"},"review_comments":{"href":"https://api.github.com/repos/spacetx/starfish/pulls/895/comments"},"review_comment":{"href":"https://api.github.com/repos/spacetx/starfish/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/spacetx/starfish/pulls/895/commits"},"statuses":{"href":"https://api.github.com/repos/spacetx/starfish/statuses/328a89ff401f69d099b3dff287ee7246e2adf71c"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"kevinyamauchi"}}