Skip to content

Prototype description (MVP) #5

Open

Description

@krassowski

A quick write up to describe the process that should be possible to follow in an ideal MVP:

  1. User should be able to visit a website without the need to login anywhere (low barrier of entry)
  2. User should be able to provide an URL to a GitHub/Lab repository with a single paste and click
  3. The code from the repository should be downloaded (onto the server OR into the users browser - needs decision) subject to reasonable size restrictions
  4. Any R markdown and Jupyter notebooks would be converted to a file to allow for simplified processing using readily available tools (nbconvert/jupytext)
  5. A directed acyclic graph (if possible, or network otherwise) would be created by static analysis of the code, searching for known expressions indicating file import/export across R and Python files; the toolset needed for this needs more exploration and discussion
  6. The network data would be sent to client to create a visualisation; a an algorithm to place the nodes in potentially complex DAGs needs to be chosen; I previously experimented with dagreD3 longest-path/finetop and graphviz. Apparently there is a recent progress in making it better: https://twitter.com/keenanisalive/status/1422318437590872076
  7. The user should be able to annotate the visualisation by linking it to the relevant sections of the publication, or adding other comments; the annotations should be exportable to a (JSON/yaml) file with a specific name (to be decided), which can be added to the repository to make these parameters apply by default
  8. The user should be able to download a static snapshot (e.g SVG) and maybe even an interactive version of the visualisation

Please feel free to work on any of the points by: researching, bouncing ideas, and drafting protocols, code/pseudo-code. If you would like to, please feel welcome to open a new issue asking questions and let's start narrowing down the implementation details.

Activity

  1. mstimberg commented on Oct 4, 2021

    @mstimberg

    User should be able to provide an URL to a GitHub/Lab repository with a single paste and click

    Random thought: maybe even nicer would be if the user can give the doi or link to a publication and the tools finds the link to the github repository in the text itself :)

  2. krassowski commented on Oct 4, 2021

    @krassowski
    CollaboratorAuthor

    That should be doable with Entrez API (for scanning full-text when available) and doi.org application/vnd.citationstyles.csl+json API (for fetching abstracts and metadata) example query.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions