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

Add macro-synteny-paf microservice #624

Open
svengato opened this issue Aug 29, 2024 · 3 comments
Open

Add macro-synteny-paf microservice #624

svengato opened this issue Aug 29, 2024 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@svengato
Copy link
Contributor

This will be similar to macro-synteny-blocks, but return a PAF file (format defined here) to applications such as JBrowse.

@svengato svengato added the enhancement New feature or request label Aug 29, 2024
@svengato
Copy link
Contributor Author

Current experimental branches: (destined for oblivion)

macro-synteny-paf branch: My first cut at a macro-synteny-paf microservice. It calls other microservices (genes, chromosome) instead of the Redis database. It also does not look up chromosome names from the genome prefix, instead we have to specify the chromosome name format and number of chromosomes in the URL.
https://github.com/legumeinfo/microservices/tree/macro-synteny-paf

pairwise-paf: This version uses macro-synteny-blocks/paf?genome1=[...]&genome2=[...] instead of a separate microservice.
https://github.com/legumeinfo/microservices/tree/pairwise-paf
It is very slow for some reason.

@svengato
Copy link
Contributor Author

Since then we have discussed how to do it properly. My understanding of how this works:

macro-synteny-paf takes two genome prefixes (for the query and target), and looks up their chromosome names.

For each query chromosome, it calls a version (to be developed) of macro-synteny-blocks that takes the chromosome name instead of the chromosome's gene families, looks up the ordered list of gene families, and passes these and the target chromosome names to pairwise-macro-synteny-blocks which computes the target blocks and passes them back through macro-synteny-blocks to macro-synteny-paf.

Finally it assembles the PAF file, either by looking up the block positions itself, or (also to develop) we could include them in the target blocks.

@svengato
Copy link
Contributor Author

svengato commented Sep 6, 2024

Current version 17222f1 of macro-synteny-paf calls the chromosome microservice to look up the gene families, and passes these to macro-synteny-blocks. It then uses the genes microservice to look up the returned block positions. (In theory, we could move both of these functionalities into macro-synteny-blocks.)

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

3 participants