Skip to content

Make full SnapGene data integration #58

@merv1n34k

Description

@merv1n34k

Hey!

I really liked your project, but I would like it to have some key features added which would let me and my team integrate it in our daily workflow.

I think I am able to contribute for the parts I am plan to add, but it would be nice to share the work if you're interested. I will separate them into several issues.

Cut to the chase, this issue is about implementing a full SnapGene integration, by means of complete data integration from SnapGene files, which contain:

  1. Sequences
  2. Primers
  3. Features
  4. Alignments data (in ZTR format)
  5. History tree and nodes (PCR, cloning, modifications, etc)

Other parts are internal SnapGene data and in (almost) all cases can be simply omitted without any problems.

Implementation proposition

I suggest to implement a module/util which will help us to:

  1. Read SnapGene files, extract all the data we can
  2. Transform it into OpenCloning LinkML data scheme
  3. Let user access the history as a properly defined OpenCloning workflow (e.g. transform SnapGene history into OpenCloning data scheme)
  4. Export OpenCloning schemes into full SnapGene files (with history, sequences, etc.)

I suggest using the library I am working on - sgffp, which as of now can read/decode all the data we need from SnapGene and (yet) a minimalistic writer to original SnapGene file format.

Roadmap

  • feat: finalise sgffp lib, make a production ready reader/writer
  • feat: implement a translation scheme for SG to OC and vice versa
  • feat(backend): add a util/module for importing SnapGene data
  • feat(frontend): update UI/UX for working with SnapGene files
  • fix: add example SnapGene files
  • docs: update documentation
  • TBA

I am quite tight on schedule right now, but I think I could try to start working on it in Q1-Q2 of 2026. I am open to suggestions, feel free to reach me out - merv1n@proton.me.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions