Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Divide OligoAttributes into two classes #58

Open
lisa-sousa opened this issue May 6, 2024 · 3 comments
Open

Divide OligoAttributes into two classes #58

lisa-sousa opened this issue May 6, 2024 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@lisa-sousa
Copy link
Collaborator

lisa-sousa commented May 6, 2024

I would have two classes here: OligoAttributesCalculator (with the private functions) and OligoDatabaseAttributes which apply the functions to the database. The second one can have a common _apply_calculation(self, calc_function, **kwargs) function which iterates over the oligos and assigns attributes (with dynamic checks). The functions can also be static there

Originally posted by @IsraMekki0 in #51 (comment)

@lisa-sousa lisa-sousa added the enhancement New feature or request label May 6, 2024
@lisa-sousa
Copy link
Collaborator Author

Additional improvement: parallelize the computation of oligo attributes for a database object.

@lisa-sousa
Copy link
Collaborator Author

Would be good to have a connection to the oligo database such that we don'z have to always instantiate the OligoAttributes class and then call it, e.g. maybe in the same way we get oligo attribute values, e.g. calculate_oligo_attributes(attribute_name, region_ids)? And then check if this oligo attribute can be computed. MAybe the same way as we do the sequence type checks?

@lisa-sousa
Copy link
Collaborator Author

Add parallelization where it makes sense in the database processing/manipulation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants