From 57d0b893665c30309b416da0c3ce5076375d1dda Mon Sep 17 00:00:00 2001 From: Chad R Laing Date: Thu, 7 Dec 2017 16:44:27 -0700 Subject: [PATCH] Good job. I think we should focus on the "big and small problem" in the introduction, then lead into "in this study ..." and how we solved the problems, and finally conclude with the benefits spfy offers. --- paper-proposal.tex | 33 +++++++++++++++------------------ presentation/Thumbs.db | Bin 0 -> 29184 bytes 2 files changed, 15 insertions(+), 18 deletions(-) create mode 100644 presentation/Thumbs.db diff --git a/paper-proposal.tex b/paper-proposal.tex index 88029ce..db26505 100644 --- a/paper-proposal.tex +++ b/paper-proposal.tex @@ -9,38 +9,35 @@ % include a notification if this is an update from a previous publication in the Web Server issue, and in that case, include an estimate of the number of users and the number of citations. % For web servers, or essentially similar web servers, that have been the subject of a previous publication, including publication in journals other than NAR, there is a minimum two-year interval before re-publication in the Web Server Issue. -Our proposal covers an update to Superphy \citep{whiteside2016superphy}, an online predictive genomics platform targeting \textit{E. coli}. +Our proposal covers an update to Superphy \citep{whiteside2016superphy}, an online predictive genomics platform targeting \textit{Escherichia coli}. The update, called Spfy, uses graph datastructures to store and retrieve results for computational workflows. -We demonstrate how graph datastructures scale to the large number of WGS data being accumulated, and allows statistical significance testing between different analysis software. -To build these graphs, Spfy first provides real-time subtyping through a ReactJS-based website, where user-defined analyses options are selected. -The chosen analyses are ran in parallel using task queues and Docker containerization, and the results immediately displayed to the user following their completion. -Subtyping options are O-antigen, H-antigen, Shiga-toxin 1 (Stx1), Shiga-toxin 2 (Stx2), and Intimin typing, VF and AMR annotation, and pan-genome generation. +We demonstrate the ability of graph data structures to scale to the [approximate number, eg. greater than 50,000]l of whole-genome sequences accumulated so far, and show the ability to scale to X genomes. + +Spfy provides real-time subtyping through a ReactJS-based website, where user-defined analyses options are selected. Analyses are run in parallel using task queues and Docker containerization, and the results are immediately displayed to the user following their completion. +Subtyping options include O-antigen, H-antigen, Shiga-toxin 1 (Stx1), Shiga-toxin 2 (Stx2), and Intimin typing. Reference-lab type tests include virulence factor and anti-microbial resistance annotation. All genomes are analyzed withing the pan-genome framework of \textit{E. coli}. + + -Many of the comparative analyses that are run on current computational workflows chain different analysis software, but lack storage methods which examine the relation between results. % IF THE WEBSITE IMPLEMENTS A META-SERVER OR COMPUTATIONAL WORKFLOW, the summary MUST describe 1) significant added value beyond the simple chaining together of existing third party software or the calculation of a consensus prediction from third party predictors and classifiers; and at least one of the following: 2) how user time for data gathering and multi-step analysis is significantly reduced, or 3) how the website offers significantly enhanced display of the data and results. -Instead, we can store output from different software together, in the context of a genome graph and thus link analysis results with epidemiological data. -In Spfy, we demonstrate the use knowledge graphs and a persistant graph database to store results from a variety of subtyping modules for \textit{E. coli} and integrate external sample information. -This approach +Current comparative computational workflows chain different analysis software, but lack storage and retrieval methods for generated results. + +Within Spfy, we store the output from every analysis, and link them together in the context of a genome graph. This graph also stores metadata for each genome, facilitating inquiries ranging from population genomics to epidemiological investigations. % provide descriptions of the input data, the output, and the processing method; complete citations for previous publications of the method or the web server; and two to four keywords. Additionally, authors must indicate how long the server has been running, the number of inputs analyzed during testing, and an estimate of the number of individuals outside of the authors' group who have been involved in the testing. -Spfy was tested with 59,5323 public \textit{E. coli} assembled genomes, 5,353 genomes from GenBank and 54,181 genomes from Enterobase (\~596 GB), storing both the entire sequences and results for all included analysis modules. +Spfy currently contains 59,5323 public \textit{E. coli} assembled genomes, 5,353 genomes from GenBank and 54,181 genomes from Enterobase (\~596 GB), storing the genome sequences and results from all analyses. + The resulting database had XYZ million nodes and XYZ million edges, with XYZ object properties, which worked out to XYZ TB of data stored. % up-time % collaborators % existing -Existing scientific workflow technologies such as Galaxy \citep{goecks2010galaxy}, and pipelines such as Integrated Rapid Infectious Disease Analysis (IRIDA) \url{http://www.irida.ca/} and the Bacterium Analysis Pipeline (BAP) \citep{thomsen2016bacterial} are well established. +Existing scientific workflow technologies such as Galaxy \citep{goecks2010galaxy}, and pipelines such as the Integrated Rapid Infectious Disease Analysis (IRIDA) \url{http://www.irida.ca/} and the Bacterium Analysis Pipeline (BAP) \citep{thomsen2016bacterial} are well established. % data integration Results from these workflows are stored in tables, or the file is saved on disk. -Because output from different analysis software can have different structures and terminology, formats must be converted before performing any sort of comparison. -Without a unified structure, the number of conversions quickly become impractical broad usage. +Because output from different analyses are structured differently using distinct terminology, formats must be converted before they can be compared. Without a unified structure, these conversions quickly become impractical for broad usage. % ontologies -We did not want to invent a new standard which would simply add to the number of current ones. -Instead, Spfy uses annotations from the GenEpiO \citep{griffiths2017context}, FALDO \citep{bolleman2016faldo}, and TypOn \citep{vaz2014typon} ontologies which describe biological data. - -is flexible to accommodate new analysis methods as they are developed. - +To avoid proliferating ontologies, and to allow Spfy to integrate with existing ones, annotations from the GenEpiO \citep{griffiths2017context}, FALDO \citep{bolleman2016faldo}, and TypOn \citep{vaz2014typon} ontologies are used to describe biological data. % analysis run-time / throughput with different levels of parallelization diff --git a/presentation/Thumbs.db b/presentation/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..049518508c6e548a92834c586fd1c7956fbba27b GIT binary patch literal 29184 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 literal 0 HcmV?d00001