spacetx / starfish

starfish: unified pipelines for image-based transcriptomics
https://spacetx-starfish.readthedocs.io/en/latest/
MIT License
225 stars 67 forks source link

Brainstorm how to include code contributions written in other languages. #1290

Open shanaxel42 opened 5 years ago

shanaxel42 commented 5 years ago

This came up at the hackathon specifically with @VPetukhov 's segmentation algorithm written in Julia. I think we should be able to have a way to maintain the original code granted the input and output formats from the algorithm are starfish compliant.

VPetukhov commented 5 years ago

I see two ways of doing it:

  1. Providing some setters/getters for corresponding fields and describing it in the documentation. In this case developers of each method can wrap julia/matlab/whatever calls to a separate python package, which is able to work with Starfish objects.
  2. In addition to 1, Starfish team can provide some kind of package template, i.e. interface, which must be implemented by the method developers. In this case, new packages can be easily integrated as methods in Starfish package and included there as optional dependencies.

Perhaps, scanpy.external worth referring here.