superphy / spfy

Spfy: an integrated graph database for real-time prediction of Escherichia coli phenotypes and downstream comparative analyses
https://lfz.corefacility.ca/superphy/grouch/
Apache License 2.0
4 stars 2 forks source link

Integration of Phylotyper #202

Closed kevinkle closed 7 years ago

kevinkle commented 7 years ago
matt_whiteside [5:47 PM] 
Have a question about website flow. Right now the only way to upload a genome is via the subtying form. The form issues an API call to flask api route `upload`, which also initiates the serotyping, VF and AMR analysis.  For Phylotyper (which we had discussed would appear as a separate card on spfy), should it also use the `upload` api route? in which case I would add additional if stmts to parse the phylotyper job options in addition to the subtying card options? Another option, is to only make Phylotyper analysis available to uploaded genomes (like in fishers or group compare)?

This question may raise addition questions about flow: do we want to have multiple individual cards perform upload? is bulk mode something that should be available on all modules?

kevin
[5:53 PM] 
Hmmm

[5:54] 
I think we’ve gone back and forth on this a few times and am a bit lost

[5:54] 
weren’t we going to include phylotyper into the subtyping card?

chadlaing 
[5:56 PM] 
We could also have an "upload" card that does the exact same thing as bulk upload in the typing card

kevin
[5:57 PM] 
@chadlaing this would be a good separation

[5:57] 
though it should prob rely on the same api route

chadlaing 
[5:57 PM] 
That way we / a user, could just do an upload, and all the required analyses could still fire in the background

kevin
[5:58 PM] 
@matt_whiteside does you phylotyper graphing handle spfyid generation atm?

matt_whiteside [6:26 PM] 
No it doesn't. So I should just add phylotyper as check boxes in subtyping?

kevin
[6:27 PM] 
would it be a major change to the existing code in branch `phylotyper`?

matt_whiteside [6:30 PM] 
I'm not totally familiar with spfyid generation. Not sure what would be involved. Why would we add it to phylotyper?

kevin
[6:31 PM] 
It prevents duplicate file addition to the database

[6:31] 
errr

[6:31] 
not quite actually

[6:32] 
duplication checking is more handled by the use of hashes as genome uris

[6:33] 
spfyids are still used though for a unique identifier in group comparisons, though you could do the same with genome uris

matt_whiteside [6:36 PM] 
Im lost. Do I need to duplicate spfyid generation in the phylotyper module to match subtyping module, or just make some global changes to spfyid generation for all modules

[6:37] 
Why would I need to add it to phylotyper branch?

kevin
[6:38 PM] 
so the kindof key point is if someone uploads a new genome file there should be a new spfyid assigned to it

[6:39] 
if phylotyper is on its own route & card, we would end up with files in the db w/o spfyids

matt_whiteside [6:42 PM] 
We should have the upload process unified/separate from analysis module routes. I think I will just add phylotyper as a check box in subtyping

kevin
[6:42 PM] 
it looks like youve covered all the graphing and running of phylotyper, and am working on adding routes/additions to the ui?

[6:42] 
ya, i agree

matt_whiteside [6:43 PM] 
That's right

kevin
[6:43 PM] 
was thinking after we merge panseq and phylotyper that we’ll define any modules attached to uploading files in some sort of definitions file

[6:44] 
and just maintain one route for all of them

chadlaing 
[6:44 PM] 
Right now, is generation of a spfy id tired to a specific card?

[6:44] 
*tied

matt_whiteside [6:44 PM] 
Subtyping handles all upload steps

[6:44] 
Including spfyid generation

kevin
[6:45 PM] 
right

[6:45] 
so its like the pipeline is always defined to go `qc->spfyid generation-> anything else (amr,ectyper,etc)`

[6:46] 
but thats all tied to the subtyping card

[6:46] 
namely `spfy.py`

matt_whiteside [6:48 PM] 
For now I will work within this flow. But it might need some changes eg someone looking up a previously loaded genome subtyping results without upload
kevinkle commented 7 years ago

Merged https://github.com/superphy/backend/pull/237