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

Graph model docs - port graphs & segment graphs #43

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

bobvh
Copy link
Collaborator

@bobvh bobvh commented Sep 16, 2024

Python notebook to help settle model questions. The port graph section describes the current model (I think), with the exception that I do give sequence nodes their own index to allow multiple nodes to reference the same hash. The segment graph section describes how to convert from the port graph format to something you'd see in a GFA. Each model has their own strengths (e.g. not needing node splitting in the port model, compatibility with graph aligners in the segment model). Let me know what you think of the visualizations, it's really graphviz doing the heavy lifting, so if needed we could have the Rust client output a dot file for graphviz too.

@bobvh bobvh requested review from Chris7 and dkhofer September 16, 2024 14:02
@dkhofer
Copy link
Collaborator

dkhofer commented Sep 18, 2024

I think this is a decent first pass at describing the data model. I think if I didn't know about gen but were knowledgeable about coding and bioinformatics, this would be helpful. I think longer term it might be good to extract the diagrams and explanations from the python code and put them in a separate doc that isn't a notebook. If I were trying to understand the data model I'd be wondering why it's being laid out in python when the gen code is in rust, although I understand it can help to make the details clearer when explaining the model.

@dkhofer
Copy link
Collaborator

dkhofer commented Sep 18, 2024

Instead of checking in a db file, could you maybe instead add the fasta or whatever files you used to create it into a subdirectory of doc, and then put instructions for running gen to recreate the db from the files?

@bobvh
Copy link
Collaborator Author

bobvh commented Sep 19, 2024

Instead of checking in a db file, could you maybe instead add the fasta or whatever files you used to create it into a subdirectory of doc, and then put instructions for running gen to recreate the db from the files?

The DB file shouldn't have gotten added, I had my setup wrong.

@bobvh
Copy link
Collaborator Author

bobvh commented Sep 19, 2024

@dkhofer I'll convert this to a regular markdown file and refer to saved SVG files instead of the notebook. On the rust vs python confusion: can I keep the python notebook that generated the SVGs on the repo, or keep that out too?

@dkhofer
Copy link
Collaborator

dkhofer commented Sep 20, 2024

I'm fine with keeping the python notebook. Maybe add a comment at the top saying it's a python port of the rust models/logic?

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

Successfully merging this pull request may close these issues.

2 participants