pmid:31527408
NCBI's Virus Discovery Hackathon: Engaging Research Communities to Identify Cloud Infrastructure Requirements.
Ryan Connor · Rodney Brister · Jan P Buchmann · Ward Deboutte · Rob Edwards · Joan Martí-Carreras · Mike Tisza · Vadim Zalunin · Juan Andrade-Martínez · Adrian Cantu · Michael D'Amour · Alexandre Efremov · Lydia Fleischmann · Laura Forero-Junco · Sanzhima Garmaeva · Melissa Giluso · Cody Glickman · Margaret Henderson · Benjamin Kellman · David Kristensen · Carl Leubsdorf · Kyle Levi · Shane Levi · Suman Pakala · Vikas Peddu · Alise Ponsero · Eldred Ribeiro · Farrah Roy · Lindsay Rutter · Surya Saha · Migun Shakya · Ryan Shean · Matthew Miller · Benjamin Tully · Christopher Turkington · Ken Youens-Clark · Bert Vanmechelen · Ben Busby
Genes · 2019 doi:10.3390/genes10090714
Paper
complete
Experiment
partial
Data
partial
Analysis
partial
Execution
absent
Record details sci_version · id · kind · revision · content_hash · schema · created_at · updated_at · generator
paper object · 10 fields
authors array · 38 items
claims array · 2 items
[0] object · 6 fields
[1] object · 6 fields
evidence array · 1 item
[0] object · 3 fields
gaps array · 0 items
experiment object · 8 fields
steps array · 3 items
[0] object · 13 fields
parameters object · 0 fields
inputs array · 1 item
outputs array · 1 item
instruments array · 0 items
reagents array · 0 items
[1] object · 13 fields
parameters object · 0 fields
inputs array · 0 items
outputs array · 1 item
instruments array · 0 items
reagents array · 0 items
[2] object · 13 fields
parameters object · 0 fields
inputs array · 0 items
outputs array · 1 item
instruments array · 0 items
reagents array · 0 items
materials array · 0 items
instruments array · 0 items
reagents array · 0 items
conditions object · 0 fields
gaps array · 1 item
data object · 3 fields
assets array · 2 items
[0] object · 15 fields
structure object · 4 fields
[1] object · 16 fields
structure object · 5 fields
table object · 8 fields
rows array · 29 items
[0] array · 4 items
[1] array · 4 items
[2] array · 4 items
[3] array · 4 items
[4] array · 4 items
[5] array · 4 items
[6] array · 4 items
[7] array · 4 items
[8] array · 4 items
[9] array · 4 items
[10] array · 4 items
[11] array · 4 items
[12] array · 4 items
[13] array · 4 items
[14] array · 4 items
[15] array · 4 items
[16] array · 4 items
[17] array · 4 items
[18] array · 4 items
[19] array · 4 items
[20] array · 4 items
[21] array · 4 items
[22] array · 4 items
[23] array · 4 items
[24] array · 4 items
[25] array · 4 items
[26] array · 4 items
[27] array · 4 items
[28] array · 4 items
gaps array · 0 items
analysis object · 4 fields
methods array · 2 items
[0] object · 10 fields
dsl_operations array · 2 items
missing_operations array · 0 items
parameters object · 0 fields
data_shapes array · 1 item
[1] object · 10 fields
dsl_operations array · 0 items
missing_operations array · 0 items
parameters object · 0 fields
data_shapes array · 0 items
targets array · 0 items
gaps array · 1 item
capability object · 3 fields
requirements array · 1 item
[0] object · 6 fields
assay_families array · 9 items
gaps array · 0 items
readiness object · 8 fields
axes object · 3 fields
method object · 5 fields
required_operations array · 2 items
missing_operations array · 0 items
capability object · 4 fields
data object · 6 fields
accessions array · 0 items
resolved_accessions array · 0 items
statements array · 1 item
can_run object · 3 fields
dsl_operations array · 2 items
assets array · 2 items
steps array · 1 item
must_build object · 5 fields
dsl_operations array · 0 items
converters array · 0 items
readers array · 0 items
capabilities array · 0 items
data_gaps array · 1 item
gaps array · 1 item
review object · 5 fields
machine_critique object · 5 fields
reader object · 5 fields
evidence_check object · 2 fields
usage object · 3 fields
stages array · 1 item
[0] object · 4 fields
gaps array · 3 items
provenance object · 7 fields
entities array · 3 items
activities array · 3 items
[0] object · 4 fields
used array · 3 items
[0] object · 3 fields
[1] object · 3 fields
[2] object · 3 fields
[1] object · 4 fields
agents array · 2 items
lineage object · 4 fields
gaps array · 6 items
assays array · 1 item
[0] object · 11 fields
required_operations array · 2 items
source_hashes object · 1 field
evidence array · 1 item
Complete file
{"sci_version": "1.2", "schema": "https://corpus.bntrg.co.uk/sci/1.0/sci.schema.json", "id": "pmid:31527408", "kind": "science-record", "revision": 5, "content_hash": "sha256:73740dd5cfe785e83bd704262ffc7df23634f2d1e3ce23b25915c4bca0383dc4", "created_at": "2026-11-01T15:40:49Z", "updated_at": "2026-11-01T22:00:50Z", "generator": {"name": "corpus-assay-engine", "run_id": "reading-sci-2026-11-01"}, "paper": {"state": "complete", "title": "NCBI's Virus Discovery Hackathon: Engaging Research Communities to Identify Cloud Infrastructure Requirements.", "doi": "10.3390/genes10090714", "pmid": "31527408", "authors": ["Ryan Connor", "Rodney Brister", "Jan P Buchmann", "Ward Deboutte", "Rob Edwards", "Joan Martí-Carreras", "Mike Tisza", "Vadim Zalunin", "Juan Andrade-Martínez", "Adrian Cantu", "Michael D'Amour", "Alexandre Efremov", "Lydia Fleischmann", "Laura Forero-Junco", "Sanzhima Garmaeva", "Melissa Giluso", "Cody Glickman", "Margaret Henderson", "Benjamin Kellman", "David Kristensen", "Carl Leubsdorf", "Kyle Levi", "Shane Levi", "Suman Pakala", "Vikas Peddu", "Alise Ponsero", "Eldred Ribeiro", "Farrah Roy", "Lindsay Rutter", "Surya Saha", "Migun Shakya", "Ryan Shean", "Matthew Miller", "Benjamin Tully", "Christopher Turkington", "Ken Youens-Clark", "Bert Vanmechelen", "Ben Busby"], "journal": "Genes", "year": 2019, "abstract": "A wealth of viral data sits untapped in publicly available metagenomic data sets when it might be extracted to create a usable index for the virological research community. We hypothesized that work of this complexity and scale could be done in a hackathon setting. Ten teams comprised of over 40 participants from six countries, assembled to create a crowd-sourced set of analysis and processing pipelines for a complex biological data set in a three-day event on the San Diego State University campus starting 9 January 2019. Prior to the hackathon, 141,676 metagenomic data sets from the National Center for Biotechnology Information (NCBI) Sequence Read Archive (SRA) were pre-assembled into contiguous assemblies (contigs) by NCBI staff. During the hackathon, a subset consisting of 2953 SRA data sets (approximately 55 million contigs) was selected, which were further filtered for a minimal length of 1 kb. This resulted in 4.2 million (Mio) contigs, which were aligned using BLAST against all known virus genomes, phylogenetically clustered and assigned metadata. Out of the 4.2 Mio contigs, 360,000 contigs were labeled with domains and an additional subset containing 4400 contigs was screened for virus or virus-like genes. The work yielded valuable insights into both SRA data and the cloud infrastructure required to support such efforts, revealing analysis bottlenecks and possible workarounds thereof. Mainly: (i) Conservative assemblies of SRA data improves initial analysis steps; (ii) existing bioinformatic software with weak multithreading/multicore support can be elevated by wrapper scripts to use all cores within a computing node; (iii) redesigning existing bioinformatic algorithms for a cloud infrastructure to facilitate its use for a wider audience; and (iv) a cloud infrastructure allows a diverse group of researchers to collaborate effectively. The scientific findings will be extended during a follow-up event. Here, we present the applied workflows, initial results, and lessons learned from the hackathon.", "claims": [{"id": "claim-method", "statement": "Partial least squares regression was performed using pls (https://github.com/bhmevik/pls), with eight components and using the regression algorithm.", "kind": "methodological", "target": null, "evidence": [{"asset": "source:pmid:31527408", "locator": "sections[9] \"2.7. Machine Learning\" paragraph 2", "quote": "Partial least squares regression was performed using pls (https://github.com/bhmevik/pls), with eight components and using the regression algorithm."}], "state": "complete"}, {"id": "claim-data-access", "statement": "As missing metadata often complicates identifying NGS data sets of interest and interpreting the results of analyses of public SRA data, we tried to infer metadata information based on SRA data set contig content.", "kind": "methodological", "target": null, "evidence": [{"asset": "source:pmid:31527408", "locator": "sections[17] \"3.7. Metadata Analysis\" paragraph 2", "quote": "As missing metadata often complicates identifying NGS data sets of interest and interpreting the results of analyses of public SRA data, we tried to infer metadata information based on SRA data set contig content."}], "state": "complete"}], "gaps": []}, "experiment": {"state": "partial", "objective": null, "steps": [{"id": "read_published_estimate", "order": 1, "name": "Read the published estimate from the source", "kind": "other", "state": "complete", "blocked_on": null, "description": "The claim, method and evidence span published with the source article.", "duration_hours": null, "parameters": {}, "inputs": ["source:pmid:31527408"], "outputs": ["the published estimate and its evidence"], "instruments": [], "reagents": []}, {"id": "obtain_source_data", "order": 2, "name": "Obtain the source data from the named repository", "kind": "data-preparation", "state": "blocked", "blocked_on": "data:accession_absent", "description": "The GEO series accession resolves and its sample accessions are listed. This lane did not download the dataset or read its licence.", "duration_hours": null, "parameters": {}, "inputs": [], "outputs": ["the source data with its repository provenance"], "instruments": [], "reagents": []}, {"id": "run_analysis", "order": 3, "name": "Run the published analysis", "kind": "analysis", "state": "complete", "blocked_on": null, "description": "Apply the paper's statistical method to the resolved series and compare the result with the published target.", "duration_hours": null, "parameters": {}, "inputs": [], "outputs": ["the replicated result and its comparison"], "instruments": [], "reagents": []}], "materials": [], "instruments": [], "reagents": [], "conditions": {}, "gaps": ["step:obtain_source_data blocked on data:accession_absent"]}, "data": {"state": "partial", "assets": [{"id": "source:pmid:31527408", "role": "manuscript", "format": "xml", "media_type": "application/xml", "uri": "https://doi.org/10.3390/genes10090714", "sha256": "sha256:e4799004d163bec7ae9553d72271f30caaae3e68c2d0a6018708d723dabdcd96", "bytes": 56920, "access": "open", "state": "resolved", "reader": null, "reader_status": "reader_required", "identifier": "10.3390/genes10090714", "version": null, "note": "Full article fetched from PMC; the checksum covers the rendered section body, not the original XML bytes.", "structure": {"pmcid": "PMC6771016", "source": "europe_pmc_fulltext", "coverage": "whole_body", "text_hash_scope": "rendered_section_body"}}, {"id": "asset:table:pmid:31527408:1", "role": "table", "format": "jats-table", "media_type": "application/vnd.jats.table+json", "uri": null, "sha256": "sha256:2d9c57d1e82298524659db054a5efc2c333934cab42462c2baa2f756660b9012", "bytes": 1164, "access": "open", "state": "verified", "reader": "read_table", "reader_status": "available", "identifier": "section[11]/table-wrap[1]#genes-10-00714-t001", "version": null, "note": "Participant Demographics. Demographic summary of hackathon participants.", "structure": {"pmcid": "PMC6771016", "section_index": 11, "section_title": "3.1. Hackathon Planning and Preparation", "row_count": 29, "column_count": 4}, "table": {"label": "Table 1", "caption": "Participant Demographics. Demographic summary of hackathon participants.", "rows": [["", "Raw", "% Participants", "% Responses"], ["Participants", "37", "NA", "NA"], ["Survey Responses", "36", "97.3", "NA"], ["Institutional Affiliation", "", "", ""], ["Academic", "27", "72.97", "75.00"], ["Government", "6", "16.22", "16.67"], ["Other", "2", "5.41", "5.56"], ["Unknown", "1", "2.70", "2.80"], ["Educational Attainment", "", "", ""], ["Ph.D.", "14", "37.84", "38.89"], ["M.S.", "12", "32.43", "33.33"], ["B.S.", "2", "5.41", "5.56"], ["Unknown", "8", "21.62", "22.22"], ["Career Stage", "", "", ""], ["In Training", "11", "29.73", "30.56"], ["Junior", "14", "37.84", "38.89"], ["Senior", "6", "16.22", "16.67"], ["Unknown", "5", "13.51", "13.89"], ["Programming Language", "", "", ""], ["Shell", "33", "89.19", "91.67"], ["Python", "31", "83.78", "86.11"], ["R", "26", "70.27", "72.22"], ["Perl", "13", "35.14", "36.11"], ["Java", "10", "27.03", "27.78"], ["C/C++", "9", "24.32", "25.00"], ["JavaScript", "4", "10.81", "11.11"], ["SQL", "3", "8.11", "8.33"], ["Matlab", "2", "5.41", "5.56"], ["Other", "4", "10.81", "11.11"]], "row_count": 29, "column_count": 4, "numeric_cells": 69, "header_rows": 1, "locator": "section[11]/table-wrap[1]#genes-10-00714-t001"}}], "gaps": []}, "analysis": {"state": "partial", "methods": [{"id": "method-1", "family": "sequence_alignment", "specific": "blast", "label": "Sequence alignment / homology", "dsl_operations": ["sequence_align", "alignment_identity"], "missing_operations": [], "expressible": true, "parameters": {}, "data_shapes": ["sequence_records"], "evidence": {"score": 0.7, "band": "medium", "quote": "BLAST"}}, {"id": "method-2", "family": null, "specific": null, "label": "Partial least squares regression", "dsl_operations": [], "missing_operations": [], "expressible": null, "parameters": {}, "data_shapes": [], "evidence": {"score": 1.0, "band": "verbatim", "quote": "Partial least squares regression was performed using pls (https://github.com/bhmevik/pls), with eight components and using the regression algorithm."}}], "targets": [], "gaps": ["method.reader_named_unmapped"]}, "capability": {"state": "complete", "requirements": [{"capability_id": "capability:computational_analysis", "label": "Computational analysis platform", "assay_families": ["meta_analysis", "machine_learning", "survival_analysis", "statistical_regression", "pca", "molecular_docking", "network_analysis", "differential_expression", "gwas"], "availability_state": "owned", "tier_unlocked": "R1", "candidate": "Automated Assays Laravel application and simulated adapters"}], "gaps": []}, "readiness": {"state": "blocked", "tier": "R4", "blocking_axis": "data", "blocked_on": "data:accession_absent", "axes": {"method": {"tier": "R1", "expressible": true, "required_operations": ["sequence_align", "alignment_identity"], "missing_operations": [], "basis": "The paper names the method it used and the corpus's method extractor maps it onto the DSL catalogue: blast."}, "capability": {"tier": "R1", "capability_id": "capability:computational_analysis", "availability_state": "owned", "basis": "The computational analysis is owned. The physical bench the paper used is not, so a physical validation cannot be run here."}, "data": {"tier": "R4", "reachable": false, "accessions": [], "resolved_accessions": [], "statements": ["As missing metadata often complicates identifying NGS data sets of interest and interpreting the results of analyses of public SRA data, we tried to infer metadata information based on SRA data set contig content."], "basis": "The paper names no accession to its source data, so the data has to come from the authors."}}, "can_run": {"dsl_operations": ["sequence_align", "alignment_identity"], "assets": ["source:pmid:31527408", "asset:table:pmid:31527408:1"], "steps": ["run_analysis"]}, "must_build": {"dsl_operations": [], "converters": [], "readers": [], "capabilities": [], "data_gaps": ["data:geo:None"]}, "gaps": ["data:accession_absent"]}, "review": {"state": "partial", "machine_critique": {"kind": "extraction_review", "reader": {"model": "MiniMax-M3.1-Flash", "provider": "minimax", "provider_family": "minimax", "read_at": "2026-10-31T18:16:15Z", "independence": "single_reader"}, "evidence_check": {"method": "verbatim", "availability": null}, "calls": 3, "usage": {"prompt_tokens": 40981, "completion_tokens": 1573, "cached_tokens": 656}}, "human_critique": null, "stages": [{"id": "extraction", "state": "complete", "reader": "MiniMax-M3.1-Flash", "provider": "minimax"}], "gaps": ["review.independent_reader", "review.machine_critique", "review.human_critique"]}, "execution": {"state": "absent", "status": "not_run", "mode": null, "runs": [], "gaps": ["execution.not_run"]}, "provenance": {"entities": [{"id": "pmid:31527408", "type": "paper", "label": "pmid:31527408"}, {"id": "source:pmid:31527408", "type": "manuscript", "label": "PMID 31527408 full text"}, {"id": "data:geo:None", "type": "dataset", "label": "GEO None"}], "activities": [{"id": "activity-reading-sci-2026-11-01", "type": "classification", "used": [{"id": "pmid:31527408", "type": "paper", "label": "pmid:31527408"}, {"id": "source:pmid:31527408", "type": "manuscript", "label": "PMID 31527408 full text"}, {"id": "data:geo:None", "type": "dataset", "label": "GEO None"}], "agent": "agent:corpus-assay-engine"}, {"id": "activity-read-31527408", "type": "extraction", "used": ["source:pmid:31527408"], "agent": "agent:minimax-reader"}, {"id": "activity-resolve-None", "type": "accession_resolution", "used": ["data:geo:None"], "agent": "agent:corpus-assay-engine"}], "agents": [{"id": "agent:corpus-assay-engine", "type": "software", "label": "Corpus assay engine"}, {"id": "agent:minimax-reader", "type": "software", "label": "MiniMax literature reader"}], "source_run_id": "reading-sci-2026-11-01", "dsl_catalogue_fingerprint": "343fb30756ba6ec3", "capability_table_fingerprint": "2cb3e42f047d2ecf", "snapshot_id": "ba34b49490d9bfaf"}, "lineage": {"parent_id": "pmid:31527408", "parent_hash": "sha256:a09e6a38c3b7647ed2dfc2e49d80fa389bdfc45ec538fee86f1b667ed3cd24b4", "fork_of": null, "generation": 4}, "gaps": ["execution.not_run", "method.reader_named_unmapped", "review.human_critique", "review.independent_reader", "review.machine_critique", "step:obtain_source_data blocked on data:accession_absent"], "assays": [{"role": "analysis", "definition_id": "sequence_alignment", "definition_version": "f2132e96ae6c7a4e", "definition_digest": null, "required_operations": ["sequence_align", "alignment_identity"], "support_state": "supported", "source_hashes": {"dsl_catalogue": "f2132e96ae6c7a4e"}, "confidence": 0.7, "evidence": ["BLAST"], "order_basis": "analysis_only", "id": "assay:1"}]}