bebop / poly

A Go package for engineering organisms.
https://pkg.go.dev/github.com/bebop/poly
MIT License
663 stars 70 forks source link

Refactor `clone` package #367

Open carreter opened 10 months ago

carreter commented 10 months ago

Per @Koeng101 's suggestion, the clone package needs some refactoring to make its code easier to understand and use.

Blocks #359 .

github-actions[bot] commented 8 months ago

This issue has had no activity in the past 2 months. Marking as stale.

carreter commented 8 months ago

Reopening this because the clone package still needs a good amount of work. Thinking of spending a significant amount of time on this during the first half of January, as most of the scripts I will be writing for Prof. Weiss' lab will be related to cloning.

@TwFlem would love to get your input on what you think needs to be done. You mentioned seqhash needing some optimization - I bet we could just look at recently published algos and make our own implementation. I'd also like to rewrite the structs that hold the data on DNA parts/fragments to make them more flexible and properly encode 3' vs 5' overhangs.

TwFlem commented 8 months ago

@carreter I mentioned the seqhash performance in https://github.com/bebop/poly/pull/393 because the bug fix was related to concurrent code. Before removing it, I did some profiling to make sure it didn't cause any issues. It turns out removing the concurrency was a speedup. I only mentioned improving seqhash just in case if we needed cloning to be faster.

Unless Poly consumers are currently raising concerns about performance, I would not say seqhash is fine the way it currently is.

carreter commented 7 months ago

This is gonna be high-priority for me this January as I will be working to facilitate the cloning workflow of Fabio Caliendo in Prof. Ron Weiss' lab.

Currently blocks #359 .

github-actions[bot] commented 5 months ago

This issue has had no activity in the past 2 months. Marking as stale.