Serveur d'exploration Cyberinfrastructure

Attention, ce site est en cours de développement !
Attention, site généré par des moyens informatiques à partir de corpus bruts.
Les informations ne sont donc pas validées.
***** Acces problem to record *****\

Identifieur interne : 000181 ( Pmc/Corpus ); précédent : 0001809; suivant : 0001820 ***** probable Xml problem with record *****

Links to Exploration step


Le document en format XML

<record>
<TEI>
<teiHeader>
<fileDesc>
<titleStmt>
<title xml:lang="en">JBrowse: a dynamic web platform for genome visualization and analysis</title>
<author>
<name sortKey="Buels, Robert" sort="Buels, Robert" uniqKey="Buels R" first="Robert" last="Buels">Robert Buels</name>
<affiliation>
<nlm:aff id="Aff1">Department of Bioengineering, University of California, Berkeley, California USA</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Yao, Eric" sort="Yao, Eric" uniqKey="Yao E" first="Eric" last="Yao">Eric Yao</name>
<affiliation>
<nlm:aff id="Aff1">Department of Bioengineering, University of California, Berkeley, California USA</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Diesh, Colin M" sort="Diesh, Colin M" uniqKey="Diesh C" first="Colin M." last="Diesh">Colin M. Diesh</name>
<affiliation>
<nlm:aff id="Aff2">Division of Animal Sciences, University of Missouri, Columbia, Missouri USA</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Hayes, Richard D" sort="Hayes, Richard D" uniqKey="Hayes R" first="Richard D." last="Hayes">Richard D. Hayes</name>
<affiliation>
<nlm:aff id="Aff3">Lawrence Berkeley National Laboratory, Berkeley, California USA</nlm:aff>
</affiliation>
<affiliation>
<nlm:aff id="Aff6">US Department of Energy, Joint Genome Institute, Walnut Creek, CA 94598 USA</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Munoz Torres, Monica" sort="Munoz Torres, Monica" uniqKey="Munoz Torres M" first="Monica" last="Munoz-Torres">Monica Munoz-Torres</name>
<affiliation>
<nlm:aff id="Aff3">Lawrence Berkeley National Laboratory, Berkeley, California USA</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Helt, Gregg" sort="Helt, Gregg" uniqKey="Helt G" first="Gregg" last="Helt">Gregg Helt</name>
<affiliation>
<nlm:aff id="Aff3">Lawrence Berkeley National Laboratory, Berkeley, California USA</nlm:aff>
</affiliation>
<affiliation>
<nlm:aff id="Aff4">Current affiliation: Genomancer Consulting, Healdsburg, California USA</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Goodstein, David M" sort="Goodstein, David M" uniqKey="Goodstein D" first="David M." last="Goodstein">David M. Goodstein</name>
<affiliation>
<nlm:aff id="Aff3">Lawrence Berkeley National Laboratory, Berkeley, California USA</nlm:aff>
</affiliation>
<affiliation>
<nlm:aff id="Aff6">US Department of Energy, Joint Genome Institute, Walnut Creek, CA 94598 USA</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Elsik, Christine G" sort="Elsik, Christine G" uniqKey="Elsik C" first="Christine G." last="Elsik">Christine G. Elsik</name>
<affiliation>
<nlm:aff id="Aff2">Division of Animal Sciences, University of Missouri, Columbia, Missouri USA</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Lewis, Suzanna E" sort="Lewis, Suzanna E" uniqKey="Lewis S" first="Suzanna E." last="Lewis">Suzanna E. Lewis</name>
<affiliation>
<nlm:aff id="Aff3">Lawrence Berkeley National Laboratory, Berkeley, California USA</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Stein, Lincoln" sort="Stein, Lincoln" uniqKey="Stein L" first="Lincoln" last="Stein">Lincoln Stein</name>
<affiliation>
<nlm:aff id="Aff5">Ontario Institute of Cancer Research, Toronto, Ontario Canada</nlm:aff>
</affiliation>
<affiliation>
<nlm:aff id="Aff7">Department of Molecular Genetics, University of Toronto, Toronto, Ontario Canada</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Holmes, Ian H" sort="Holmes, Ian H" uniqKey="Holmes I" first="Ian H." last="Holmes">Ian H. Holmes</name>
<affiliation>
<nlm:aff id="Aff1">Department of Bioengineering, University of California, Berkeley, California USA</nlm:aff>
</affiliation>
<affiliation>
<nlm:aff id="Aff3">Lawrence Berkeley National Laboratory, Berkeley, California USA</nlm:aff>
</affiliation>
</author>
</titleStmt>
<publicationStmt>
<idno type="wicri:source">PMC</idno>
<idno type="pmid">27072794</idno>
<idno type="pmc">4830012</idno>
<idno type="url">http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4830012</idno>
<idno type="RBID">PMC:4830012</idno>
<idno type="doi">10.1186/s13059-016-0924-1</idno>
<date when="2016">2016</date>
<idno type="wicri:Area/Pmc/Corpus">000181</idno>
</publicationStmt>
<sourceDesc>
<biblStruct>
<analytic>
<title xml:lang="en" level="a" type="main">JBrowse: a dynamic web platform for genome visualization and analysis</title>
<author>
<name sortKey="Buels, Robert" sort="Buels, Robert" uniqKey="Buels R" first="Robert" last="Buels">Robert Buels</name>
<affiliation>
<nlm:aff id="Aff1">Department of Bioengineering, University of California, Berkeley, California USA</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Yao, Eric" sort="Yao, Eric" uniqKey="Yao E" first="Eric" last="Yao">Eric Yao</name>
<affiliation>
<nlm:aff id="Aff1">Department of Bioengineering, University of California, Berkeley, California USA</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Diesh, Colin M" sort="Diesh, Colin M" uniqKey="Diesh C" first="Colin M." last="Diesh">Colin M. Diesh</name>
<affiliation>
<nlm:aff id="Aff2">Division of Animal Sciences, University of Missouri, Columbia, Missouri USA</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Hayes, Richard D" sort="Hayes, Richard D" uniqKey="Hayes R" first="Richard D." last="Hayes">Richard D. Hayes</name>
<affiliation>
<nlm:aff id="Aff3">Lawrence Berkeley National Laboratory, Berkeley, California USA</nlm:aff>
</affiliation>
<affiliation>
<nlm:aff id="Aff6">US Department of Energy, Joint Genome Institute, Walnut Creek, CA 94598 USA</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Munoz Torres, Monica" sort="Munoz Torres, Monica" uniqKey="Munoz Torres M" first="Monica" last="Munoz-Torres">Monica Munoz-Torres</name>
<affiliation>
<nlm:aff id="Aff3">Lawrence Berkeley National Laboratory, Berkeley, California USA</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Helt, Gregg" sort="Helt, Gregg" uniqKey="Helt G" first="Gregg" last="Helt">Gregg Helt</name>
<affiliation>
<nlm:aff id="Aff3">Lawrence Berkeley National Laboratory, Berkeley, California USA</nlm:aff>
</affiliation>
<affiliation>
<nlm:aff id="Aff4">Current affiliation: Genomancer Consulting, Healdsburg, California USA</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Goodstein, David M" sort="Goodstein, David M" uniqKey="Goodstein D" first="David M." last="Goodstein">David M. Goodstein</name>
<affiliation>
<nlm:aff id="Aff3">Lawrence Berkeley National Laboratory, Berkeley, California USA</nlm:aff>
</affiliation>
<affiliation>
<nlm:aff id="Aff6">US Department of Energy, Joint Genome Institute, Walnut Creek, CA 94598 USA</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Elsik, Christine G" sort="Elsik, Christine G" uniqKey="Elsik C" first="Christine G." last="Elsik">Christine G. Elsik</name>
<affiliation>
<nlm:aff id="Aff2">Division of Animal Sciences, University of Missouri, Columbia, Missouri USA</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Lewis, Suzanna E" sort="Lewis, Suzanna E" uniqKey="Lewis S" first="Suzanna E." last="Lewis">Suzanna E. Lewis</name>
<affiliation>
<nlm:aff id="Aff3">Lawrence Berkeley National Laboratory, Berkeley, California USA</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Stein, Lincoln" sort="Stein, Lincoln" uniqKey="Stein L" first="Lincoln" last="Stein">Lincoln Stein</name>
<affiliation>
<nlm:aff id="Aff5">Ontario Institute of Cancer Research, Toronto, Ontario Canada</nlm:aff>
</affiliation>
<affiliation>
<nlm:aff id="Aff7">Department of Molecular Genetics, University of Toronto, Toronto, Ontario Canada</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Holmes, Ian H" sort="Holmes, Ian H" uniqKey="Holmes I" first="Ian H." last="Holmes">Ian H. Holmes</name>
<affiliation>
<nlm:aff id="Aff1">Department of Bioengineering, University of California, Berkeley, California USA</nlm:aff>
</affiliation>
<affiliation>
<nlm:aff id="Aff3">Lawrence Berkeley National Laboratory, Berkeley, California USA</nlm:aff>
</affiliation>
</author>
</analytic>
<series>
<title level="j">Genome Biology</title>
<idno type="ISSN">1474-7596</idno>
<idno type="eISSN">1474-760X</idno>
<imprint>
<date when="2016">2016</date>
</imprint>
</series>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc>
<textClass></textClass>
</profileDesc>
</teiHeader>
<front>
<div type="abstract" xml:lang="en">
<sec>
<title>Background</title>
<p>JBrowse is a fast and full-featured genome browser built with JavaScript and HTML5. It is easily embedded into websites or apps but can also be served as a standalone web page.</p>
</sec>
<sec>
<title>Results</title>
<p>Overall improvements to speed and scalability are accompanied by specific enhancements that support complex interactive queries on large track sets. Analysis functions can readily be added using the plugin framework; most visual aspects of tracks can also be customized, along with clicks, mouseovers, menus, and popup boxes. JBrowse can also be used to browse local annotation files offline and to generate high-resolution figures for publication.</p>
</sec>
<sec>
<title>Conclusions</title>
<p>JBrowse is a mature web application suitable for genome visualization and analysis.</p>
</sec>
</div>
</front>
<back>
<div1 type="bibliography">
<listBibl>
<biblStruct>
<analytic>
<author>
<name sortKey="Skinner, Me" uniqKey="Skinner M">ME Skinner</name>
</author>
<author>
<name sortKey="Uzilov, Av" uniqKey="Uzilov A">AV Uzilov</name>
</author>
<author>
<name sortKey="Stein, Ld" uniqKey="Stein L">LD Stein</name>
</author>
<author>
<name sortKey="Mungall, Cj" uniqKey="Mungall C">CJ Mungall</name>
</author>
<author>
<name sortKey="Holmes, Ih" uniqKey="Holmes I">IH Holmes</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Westesson, O" uniqKey="Westesson O">O Westesson</name>
</author>
<author>
<name sortKey="Skinner, M" uniqKey="Skinner M">M Skinner</name>
</author>
<author>
<name sortKey="Holmes, I" uniqKey="Holmes I">I Holmes</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Down, Ta" uniqKey="Down T">TA Down</name>
</author>
<author>
<name sortKey="Piipari, M" uniqKey="Piipari M">M Piipari</name>
</author>
<author>
<name sortKey="Hubbard, Tjp" uniqKey="Hubbard T">TJP Hubbard</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Kent, Wj" uniqKey="Kent W">WJ Kent</name>
</author>
<author>
<name sortKey="Sugnet, Cw" uniqKey="Sugnet C">CW Sugnet</name>
</author>
<author>
<name sortKey="Furey, Ts" uniqKey="Furey T">TS Furey</name>
</author>
<author>
<name sortKey="Roskin, Km" uniqKey="Roskin K">KM Roskin</name>
</author>
<author>
<name sortKey="Pringle, Th" uniqKey="Pringle T">TH Pringle</name>
</author>
<author>
<name sortKey="Zahler, Am" uniqKey="Zahler A">AM Zahler</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Stalker, J" uniqKey="Stalker J">J Stalker</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Stein, Ld" uniqKey="Stein L">LD Stein</name>
</author>
<author>
<name sortKey="Mungall, C" uniqKey="Mungall C">C Mungall</name>
</author>
<author>
<name sortKey="Shu, S" uniqKey="Shu S">S Shu</name>
</author>
<author>
<name sortKey="Caudy, M" uniqKey="Caudy M">M Caudy</name>
</author>
<author>
<name sortKey="Mangone, M" uniqKey="Mangone M">M Mangone</name>
</author>
<author>
<name sortKey="Day, A" uniqKey="Day A">A Day</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Robinson, Jt" uniqKey="Robinson J">JT Robinson</name>
</author>
<author>
<name sortKey="Thorvaldsd Ttir, H" uniqKey="Thorvaldsd Ttir H">H Thorvaldsdóttir</name>
</author>
<author>
<name sortKey="Winckler, W" uniqKey="Winckler W">W Winckler</name>
</author>
<author>
<name sortKey="Guttman, M" uniqKey="Guttman M">M Guttman</name>
</author>
<author>
<name sortKey="Lander, Es" uniqKey="Lander E">ES Lander</name>
</author>
<author>
<name sortKey="Getz, G" uniqKey="Getz G">G Getz</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Nicol, Jw" uniqKey="Nicol J">JW Nicol</name>
</author>
<author>
<name sortKey="Helt, Ga" uniqKey="Helt G">GA Helt</name>
</author>
<author>
<name sortKey="Blanchard, Sg" uniqKey="Blanchard S">SG Blanchard</name>
</author>
<author>
<name sortKey="Raja, A" uniqKey="Raja A">A Raja</name>
</author>
<author>
<name sortKey="Loraine, Ae" uniqKey="Loraine A">AE Loraine</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Lee, E" uniqKey="Lee E">E Lee</name>
</author>
<author>
<name sortKey="Helt, Ga" uniqKey="Helt G">GA Helt</name>
</author>
<author>
<name sortKey="Reese, Jt" uniqKey="Reese J">JT Reese</name>
</author>
<author>
<name sortKey="Munoz Torres, Mc" uniqKey="Munoz Torres M">MC Munoz-Torres</name>
</author>
<author>
<name sortKey="Childers, Cp" uniqKey="Childers C">CP Childers</name>
</author>
<author>
<name sortKey="Buels, Rm" uniqKey="Buels R">RM Buels</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="O Onnor, Bd" uniqKey="O Onnor B">BD O’Connor</name>
</author>
<author>
<name sortKey="Merriman, B" uniqKey="Merriman B">B Merriman</name>
</author>
<author>
<name sortKey="Nelson, Sf" uniqKey="Nelson S">SF Nelson</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Hilgert, U" uniqKey="Hilgert U">U Hilgert</name>
</author>
<author>
<name sortKey="Uwe, H" uniqKey="Uwe H">H Uwe</name>
</author>
<author>
<name sortKey="Sheldon, M" uniqKey="Sheldon M">M Sheldon</name>
</author>
<author>
<name sortKey="Mohammed, K" uniqKey="Mohammed K">K Mohammed</name>
</author>
<author>
<name sortKey="Jason, W" uniqKey="Jason W">W Jason</name>
</author>
<author>
<name sortKey="Cornel, G" uniqKey="Cornel G">G Cornel</name>
</author>
<author>
<name sortKey="David, M" uniqKey="David M">M David</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Campbell, Ms" uniqKey="Campbell M">MS Campbell</name>
</author>
<author>
<name sortKey="Holt, C" uniqKey="Holt C">C Holt</name>
</author>
<author>
<name sortKey="Moore, B" uniqKey="Moore B">B Moore</name>
</author>
<author>
<name sortKey="Yandell, M" uniqKey="Yandell M">M Yandell</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Holt, C" uniqKey="Holt C">C Holt</name>
</author>
<author>
<name sortKey="Yandell, M" uniqKey="Yandell M">M Yandell</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Goodstein, Dm" uniqKey="Goodstein D">DM Goodstein</name>
</author>
<author>
<name sortKey="Shu, S" uniqKey="Shu S">S Shu</name>
</author>
<author>
<name sortKey="Howson, R" uniqKey="Howson R">R Howson</name>
</author>
<author>
<name sortKey="Neupane, R" uniqKey="Neupane R">R Neupane</name>
</author>
<author>
<name sortKey="Hayes, Rd" uniqKey="Hayes R">RD Hayes</name>
</author>
<author>
<name sortKey="Fazo, J" uniqKey="Fazo J">J Fazo</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Krishnakumar, V" uniqKey="Krishnakumar V">V Krishnakumar</name>
</author>
<author>
<name sortKey="Hanlon, Mr" uniqKey="Hanlon M">MR Hanlon</name>
</author>
<author>
<name sortKey="Contrino, S" uniqKey="Contrino S">S Contrino</name>
</author>
<author>
<name sortKey="Ferlanti, Es" uniqKey="Ferlanti E">ES Ferlanti</name>
</author>
<author>
<name sortKey="Karamycheva, S" uniqKey="Karamycheva S">S Karamycheva</name>
</author>
<author>
<name sortKey="Kim, M" uniqKey="Kim M">M Kim</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Goff, Sa" uniqKey="Goff S">SA Goff</name>
</author>
<author>
<name sortKey="Vaughn, M" uniqKey="Vaughn M">M Vaughn</name>
</author>
<author>
<name sortKey="Mckay, S" uniqKey="Mckay S">S McKay</name>
</author>
<author>
<name sortKey="Lyons, E" uniqKey="Lyons E">E Lyons</name>
</author>
<author>
<name sortKey="Stapleton, Ae" uniqKey="Stapleton A">AE Stapleton</name>
</author>
<author>
<name sortKey="Gessler, D" uniqKey="Gessler D">D Gessler</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Fernandez Pozo, N" uniqKey="Fernandez Pozo N">N Fernandez-Pozo</name>
</author>
<author>
<name sortKey="Menda, N" uniqKey="Menda N">N Menda</name>
</author>
<author>
<name sortKey="Edwards, Jd" uniqKey="Edwards J">JD Edwards</name>
</author>
<author>
<name sortKey="Saha, S" uniqKey="Saha S">S Saha</name>
</author>
<author>
<name sortKey="Tecle, Iy" uniqKey="Tecle I">IY Tecle</name>
</author>
<author>
<name sortKey="Strickler, Sr" uniqKey="Strickler S">SR Strickler</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Jung, S" uniqKey="Jung S">S Jung</name>
</author>
<author>
<name sortKey="Ficklin, Sp" uniqKey="Ficklin S">SP Ficklin</name>
</author>
<author>
<name sortKey="Lee, T" uniqKey="Lee T">T Lee</name>
</author>
<author>
<name sortKey="Cheng, C H" uniqKey="Cheng C">C-H Cheng</name>
</author>
<author>
<name sortKey="Blenda, A" uniqKey="Blenda A">A Blenda</name>
</author>
<author>
<name sortKey="Zheng, P" uniqKey="Zheng P">P Zheng</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Alexandrov, N" uniqKey="Alexandrov N">N Alexandrov</name>
</author>
<author>
<name sortKey="Tai, S" uniqKey="Tai S">S Tai</name>
</author>
<author>
<name sortKey="Wang, W" uniqKey="Wang W">W Wang</name>
</author>
<author>
<name sortKey="Mansueto, L" uniqKey="Mansueto L">L Mansueto</name>
</author>
<author>
<name sortKey="Palis, K" uniqKey="Palis K">K Palis</name>
</author>
<author>
<name sortKey="Fuentes, Rr" uniqKey="Fuentes R">RR Fuentes</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Harris, Tw" uniqKey="Harris T">TW Harris</name>
</author>
<author>
<name sortKey="Baran, J" uniqKey="Baran J">J Baran</name>
</author>
<author>
<name sortKey="Bieri, T" uniqKey="Bieri T">T Bieri</name>
</author>
<author>
<name sortKey="Cabunoc, A" uniqKey="Cabunoc A">A Cabunoc</name>
</author>
<author>
<name sortKey="Chan, J" uniqKey="Chan J">J Chan</name>
</author>
<author>
<name sortKey="Chen, Wj" uniqKey="Chen W">WJ Chen</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Shimoyama, M" uniqKey="Shimoyama M">M Shimoyama</name>
</author>
<author>
<name sortKey="De Pons, J" uniqKey="De Pons J">J De Pons</name>
</author>
<author>
<name sortKey="Hayman, Gt" uniqKey="Hayman G">GT Hayman</name>
</author>
<author>
<name sortKey="Laulederkind, Sjf" uniqKey="Laulederkind S">SJF Laulederkind</name>
</author>
<author>
<name sortKey="Liu, W" uniqKey="Liu W">W Liu</name>
</author>
<author>
<name sortKey="Nigam, R" uniqKey="Nigam R">R Nigam</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Hammond, S" uniqKey="Hammond S">S Hammond</name>
</author>
<author>
<name sortKey="Kaplarevic, M" uniqKey="Kaplarevic M">M Kaplarevic</name>
</author>
<author>
<name sortKey="Borth, N" uniqKey="Borth N">N Borth</name>
</author>
<author>
<name sortKey="Betenbaugh, Mj" uniqKey="Betenbaugh M">MJ Betenbaugh</name>
</author>
<author>
<name sortKey="Lee, Kh" uniqKey="Lee K">KH Lee</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Poelchau, M" uniqKey="Poelchau M">M Poelchau</name>
</author>
<author>
<name sortKey="Childers, C" uniqKey="Childers C">C Childers</name>
</author>
<author>
<name sortKey="Moore, G" uniqKey="Moore G">G Moore</name>
</author>
<author>
<name sortKey="Tsavatapalli, V" uniqKey="Tsavatapalli V">V Tsavatapalli</name>
</author>
<author>
<name sortKey="Evans, J" uniqKey="Evans J">J Evans</name>
</author>
<author>
<name sortKey="Lee, C Y" uniqKey="Lee C">C-Y Lee</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Forbes, Sa" uniqKey="Forbes S">SA Forbes</name>
</author>
<author>
<name sortKey="Beare, D" uniqKey="Beare D">D Beare</name>
</author>
<author>
<name sortKey="Gunasekaran, P" uniqKey="Gunasekaran P">P Gunasekaran</name>
</author>
<author>
<name sortKey="Leung, K" uniqKey="Leung K">K Leung</name>
</author>
<author>
<name sortKey="Bindal, N" uniqKey="Bindal N">N Bindal</name>
</author>
<author>
<name sortKey="Boutselakis, H" uniqKey="Boutselakis H">H Boutselakis</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Wang, L S" uniqKey="Wang L">L-S Wang</name>
</author>
<author>
<name sortKey="Li San, W" uniqKey="Li San W">W Li-San</name>
</author>
<author>
<name sortKey="Li San, W" uniqKey="Li San W">W Li-San</name>
</author>
<author>
<name sortKey="Otto, V" uniqKey="Otto V">V Otto</name>
</author>
<author>
<name sortKey="Childress, Dm" uniqKey="Childress D">DM Childress</name>
</author>
<author>
<name sortKey="Amanda, P" uniqKey="Amanda P">P Amanda</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Wattam, Ar" uniqKey="Wattam A">AR Wattam</name>
</author>
<author>
<name sortKey="Abraham, D" uniqKey="Abraham D">D Abraham</name>
</author>
<author>
<name sortKey="Dalay, O" uniqKey="Dalay O">O Dalay</name>
</author>
<author>
<name sortKey="Disz, Tl" uniqKey="Disz T">TL Disz</name>
</author>
<author>
<name sortKey="Driscoll, T" uniqKey="Driscoll T">T Driscoll</name>
</author>
<author>
<name sortKey="Gabbard, Jl" uniqKey="Gabbard J">JL Gabbard</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Mungall, Cj" uniqKey="Mungall C">CJ Mungall</name>
</author>
<author>
<name sortKey="Emmert, Db" uniqKey="Emmert D">DB Emmert</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Roy, S" uniqKey="Roy S">S Roy</name>
</author>
<author>
<name sortKey="Ernst, J" uniqKey="Ernst J">J Ernst</name>
</author>
<author>
<name sortKey="Kharchenko, Pv" uniqKey="Kharchenko P">PV Kharchenko</name>
</author>
<author>
<name sortKey="Kheradpour, P" uniqKey="Kheradpour P">P Kheradpour</name>
</author>
<author>
<name sortKey="Negre, N" uniqKey="Negre N">N Negre</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Gerstein, Mb" uniqKey="Gerstein M">MB Gerstein</name>
</author>
<author>
<name sortKey="Lu, Zj" uniqKey="Lu Z">ZJ Lu</name>
</author>
<author>
<name sortKey="Van Nostrand, El" uniqKey="Van Nostrand E">EL Van Nostrand</name>
</author>
<author>
<name sortKey="Cheng, C" uniqKey="Cheng C">C Cheng</name>
</author>
<author>
<name sortKey="Arshinoff, Bi" uniqKey="Arshinoff B">BI Arshinoff</name>
</author>
<author>
<name sortKey="Liu, T" uniqKey="Liu T">T Liu</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Li, H" uniqKey="Li H">H Li</name>
</author>
<author>
<name sortKey="Handsaker, B" uniqKey="Handsaker B">B Handsaker</name>
</author>
<author>
<name sortKey="Wysoker, A" uniqKey="Wysoker A">A Wysoker</name>
</author>
<author>
<name sortKey="Fennell, T" uniqKey="Fennell T">T Fennell</name>
</author>
<author>
<name sortKey="Ruan, J" uniqKey="Ruan J">J Ruan</name>
</author>
<author>
<name sortKey="Homer, N" uniqKey="Homer N">N Homer</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct></biblStruct>
</listBibl>
</div1>
</back>
</TEI>
<pmc article-type="research-article">
<pmc-dir>properties open_access</pmc-dir>
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Genome Biol</journal-id>
<journal-id journal-id-type="iso-abbrev">Genome Biol</journal-id>
<journal-title-group>
<journal-title>Genome Biology</journal-title>
</journal-title-group>
<issn pub-type="ppub">1474-7596</issn>
<issn pub-type="epub">1474-760X</issn>
<publisher>
<publisher-name>BioMed Central</publisher-name>
<publisher-loc>London</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="pmid">27072794</article-id>
<article-id pub-id-type="pmc">4830012</article-id>
<article-id pub-id-type="publisher-id">924</article-id>
<article-id pub-id-type="doi">10.1186/s13059-016-0924-1</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Software</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>JBrowse: a dynamic web platform for genome visualization and analysis</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Buels</surname>
<given-names>Robert</given-names>
</name>
<address>
<email>rbuels@gmail.com</email>
</address>
<xref ref-type="aff" rid="Aff1"></xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Yao</surname>
<given-names>Eric</given-names>
</name>
<address>
<email>ericiam@berkeley.edu</email>
</address>
<xref ref-type="aff" rid="Aff1"></xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Diesh</surname>
<given-names>Colin M.</given-names>
</name>
<address>
<email>dieshc@missouri.edu</email>
</address>
<xref ref-type="aff" rid="Aff2"></xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Hayes</surname>
<given-names>Richard D.</given-names>
</name>
<address>
<email>rdhayes@lbl.gov</email>
</address>
<xref ref-type="aff" rid="Aff3"></xref>
<xref ref-type="aff" rid="Aff6"></xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Munoz-Torres</surname>
<given-names>Monica</given-names>
</name>
<address>
<email>mcmunozt@lbl.gov</email>
</address>
<xref ref-type="aff" rid="Aff3"></xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Helt</surname>
<given-names>Gregg</given-names>
</name>
<address>
<email>gregghelt@gmail.com</email>
</address>
<xref ref-type="aff" rid="Aff3"></xref>
<xref ref-type="aff" rid="Aff4"></xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Goodstein</surname>
<given-names>David M.</given-names>
</name>
<address>
<email>dmgoodstein@lbl.gov</email>
</address>
<xref ref-type="aff" rid="Aff3"></xref>
<xref ref-type="aff" rid="Aff6"></xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Elsik</surname>
<given-names>Christine G.</given-names>
</name>
<address>
<email>chris.elsik@gmail.com</email>
</address>
<xref ref-type="aff" rid="Aff2"></xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Lewis</surname>
<given-names>Suzanna E.</given-names>
</name>
<address>
<email>selewis@lbl.gov</email>
</address>
<xref ref-type="aff" rid="Aff3"></xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Stein</surname>
<given-names>Lincoln</given-names>
</name>
<address>
<email>lincoln.stein@gmail.com</email>
</address>
<xref ref-type="aff" rid="Aff5"></xref>
<xref ref-type="aff" rid="Aff7"></xref>
</contrib>
<contrib contrib-type="author" corresp="yes">
<contrib-id contrib-id-type="orcid">http://orcid.org/0000-0001-7639-5369</contrib-id>
<name>
<surname>Holmes</surname>
<given-names>Ian H.</given-names>
</name>
<address>
<email>ihholmes@gmail.com</email>
</address>
<xref ref-type="aff" rid="Aff1"></xref>
<xref ref-type="aff" rid="Aff3"></xref>
</contrib>
<aff id="Aff1">
<label></label>
Department of Bioengineering, University of California, Berkeley, California USA</aff>
<aff id="Aff2">
<label></label>
Division of Animal Sciences, University of Missouri, Columbia, Missouri USA</aff>
<aff id="Aff3">
<label></label>
Lawrence Berkeley National Laboratory, Berkeley, California USA</aff>
<aff id="Aff4">
<label></label>
Current affiliation: Genomancer Consulting, Healdsburg, California USA</aff>
<aff id="Aff5">
<label></label>
Ontario Institute of Cancer Research, Toronto, Ontario Canada</aff>
<aff id="Aff6">
<label></label>
US Department of Energy, Joint Genome Institute, Walnut Creek, CA 94598 USA</aff>
<aff id="Aff7">
<label></label>
Department of Molecular Genetics, University of Toronto, Toronto, Ontario Canada</aff>
</contrib-group>
<pub-date pub-type="epub">
<day>12</day>
<month>4</month>
<year>2016</year>
</pub-date>
<pub-date pub-type="pmc-release">
<day>12</day>
<month>4</month>
<year>2016</year>
</pub-date>
<pub-date pub-type="collection">
<year>2016</year>
</pub-date>
<volume>17</volume>
<elocation-id>66</elocation-id>
<history>
<date date-type="received">
<day>4</day>
<month>1</month>
<year>2016</year>
</date>
<date date-type="accepted">
<day>15</day>
<month>3</month>
<year>2016</year>
</date>
</history>
<permissions>
<copyright-statement>© Buels et al. 2016</copyright-statement>
<license license-type="OpenAccess">
<license-p>
<bold>Open Access</bold>
This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (
<ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">http://creativecommons.org/licenses/by/4.0/</ext-link>
), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The Creative Commons Public Domain Dedication waiver (
<ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/publicdomain/zero/1.0/">http://creativecommons.org/publicdomain/zero/1.0/</ext-link>
) applies to the data made available in this article, unless otherwise stated.</license-p>
</license>
</permissions>
<abstract id="Abs1">
<sec>
<title>Background</title>
<p>JBrowse is a fast and full-featured genome browser built with JavaScript and HTML5. It is easily embedded into websites or apps but can also be served as a standalone web page.</p>
</sec>
<sec>
<title>Results</title>
<p>Overall improvements to speed and scalability are accompanied by specific enhancements that support complex interactive queries on large track sets. Analysis functions can readily be added using the plugin framework; most visual aspects of tracks can also be customized, along with clicks, mouseovers, menus, and popup boxes. JBrowse can also be used to browse local annotation files offline and to generate high-resolution figures for publication.</p>
</sec>
<sec>
<title>Conclusions</title>
<p>JBrowse is a mature web application suitable for genome visualization and analysis.</p>
</sec>
</abstract>
<kwd-group xml:lang="en">
<title>Keywords</title>
<kwd>Genome</kwd>
<kwd>Browser</kwd>
<kwd>Bioinformatics</kwd>
</kwd-group>
<funding-group>
<award-group>
<funding-source>
<institution-wrap>
<institution-id institution-id-type="FundRef">http://dx.doi.org/10.13039/100000051</institution-id>
<institution>National Human Genome Research Institute</institution>
</institution-wrap>
</funding-source>
<award-id>HG004483</award-id>
<principal-award-recipient>
<name>
<surname>Holmes</surname>
<given-names>Ian H.</given-names>
</name>
</principal-award-recipient>
</award-group>
<award-group>
<funding-source>
<institution-wrap>
<institution-id institution-id-type="FundRef">http://dx.doi.org/10.13039/100000057</institution-id>
<institution>National Institute of General Medical Sciences</institution>
</institution-wrap>
</funding-source>
<award-id>GM080203</award-id>
<principal-award-recipient>
<name>
<surname>Lewis</surname>
<given-names>Suzanna E.</given-names>
</name>
</principal-award-recipient>
</award-group>
</funding-group>
<custom-meta-group>
<custom-meta>
<meta-name>issue-copyright-statement</meta-name>
<meta-value>© The Author(s) 2016</meta-value>
</custom-meta>
</custom-meta-group>
</article-meta>
</front>
<body>
<sec id="Sec1">
<title>Background</title>
<p>As the web becomes the standard platform for computational genomics, there are clear advantages to performing some analyses on the web client, rather than delegating every task to a central server. Among these advantages are a reduced need for server-hosted resources (with corresponding cost savings) and a faster, more responsive user experience as some latency due to client–server interactions is eliminated.</p>
</sec>
<sec id="Sec2">
<title>Implementation</title>
<p>The JBrowse genome browser leverages these advantages for the visualization of genome annotations. The earliest version of JBrowse was a dynamic HTML application with a JavaScript client, reliant on server-side Bioperl components that were largely inherited from GBrowse [
<xref ref-type="bibr" rid="CR1">1</xref>
]. The software was subsequently extended to display next-generation sequencing data [
<xref ref-type="bibr" rid="CR2">2</xref>
,
<xref ref-type="bibr" rid="CR3">3</xref>
].</p>
</sec>
<sec id="Sec3">
<title>Results and Discussion</title>
<p>We here report progress in JBrowse robustness, generality, scalability, configurability, and ease of installation. Our goal is not to compare JBrowse with other genome annotation browsers. Many such exist, including JavaScript genome browsers such as Biodalliance [
<xref ref-type="bibr" rid="CR4">4</xref>
], pileup.js [
<xref ref-type="bibr" rid="CR5">5</xref>
], and Galaxy’s Trackster [
<xref ref-type="bibr" rid="CR6">6</xref>
]; other (Common Gateway Interface (CGI)-based) web-facing browsers such as the UCSC Genome Browser [
<xref ref-type="bibr" rid="CR7">7</xref>
], Ensembl’s browser [
<xref ref-type="bibr" rid="CR8">8</xref>
], and GBrowse [
<xref ref-type="bibr" rid="CR9">9</xref>
]; and desktop browsers such as IGV [
<xref ref-type="bibr" rid="CR10">10</xref>
] and IGB [
<xref ref-type="bibr" rid="CR11">11</xref>
]. A thorough comparison of all these browsers is beyond the scope of the current paper (and should, in any case, be carried out by independent parties for maximal objectivity). Among JBrowse’s strengths (relative to other browsers primarily using dynamic HTML) are its maturity, extensibility (via configuration and callbacks), and emerging ecosystem of plugins and applications. Arguably, its dependencies on older frameworks (dojo, Bioperl) may be considered weaknesses, though JBrowse is an example of how these frameworks may be effectively leveraged. The Bioperl-based indexing tools are, in fact, less central to JBrowse operation than they used to be in earlier versions: indexing is an elective optimization for static site-generation and has been implemented as a proof-of-concept in other languages.</p>
<p>In its current form, JBrowse can be used as a standalone HTML5-based genome browser or embedded in richer web application frameworks. It is highly cross-platform; releases are tested on Mozilla-based browsers (e.g., Firefox), WebKit browsers (e.g., Safari, Chrome) and Microsoft Internet Explorer, and on desktop and mobile platforms (with touchscreen support). JBrowse has, further, been designed to be highly customizable; user interface extensions are straightforward to implement, as are alternative data back-ends. It is also possible to perform analysis tasks directly from within the client.</p>
<p>General improvements to speed and scalability since the last published report include threefold on-disk compression on the server, optimizations to scripts for processing large files, filesystem-oriented optimizations allowing for highly fragmented data (such as draft genomes), and compression of JSON data. The installation process is also streamlined: for example, the setup script installs all dependencies for the (optional) server scripts, so there is no need to install Bioperl separately (and in the desktop application, these dependencies are not required at all; the desktop app is a standalone executable).</p>
<p>JBrowse collects aggregate data on usage statistics by default (this behavior is clearly described in the documentation and can be easily disabled for users sensitive to privacy concerns). From November 2014 to November 2015, our analytics indicate 2671 hosts running JBrowse, of which 705 logged 100 or more access requests during that period. (This is likely an underestimate, since—as noted—users can disable analytics and anecdotal reports suggest that private-sector users frequently do.) The average number of annotation tracks served by these 705 active hosts was 80, with a maximum of 7826. Cumulatively, since analytics data collection began (July 2012), we see 4743 hosts, of which 1168 served 100+ requests. The full JBrowse software package has been downloaded over 100,000 times since July 2012 and viewed by over 64,000 unique nontrivial client addresses, including over 42,000 in the 12 months before November 2015 (we call a web client “nontrivial” if it is running JavaScript, is not pointed at the localhost, and visits the host five or more times).</p>
<p>A few examples of tools that use JBrowse include the web version of Apollo [
<xref ref-type="bibr" rid="CR12">12</xref>
], SeqWare [
<xref ref-type="bibr" rid="CR13">13</xref>
], DNA subway [
<xref ref-type="bibr" rid="CR14">14</xref>
], GenSAS [
<xref ref-type="bibr" rid="CR15">15</xref>
], Maker [
<xref ref-type="bibr" rid="CR16">16</xref>
,
<xref ref-type="bibr" rid="CR17">17</xref>
], and Afra [
<xref ref-type="bibr" rid="CR18">18</xref>
]. Sites that use JBrowse (or JBrowse-based tools) span plant genomics [
<xref ref-type="bibr" rid="CR19">19</xref>
<xref ref-type="bibr" rid="CR25">25</xref>
], animal genomics [
<xref ref-type="bibr" rid="CR12">12</xref>
,
<xref ref-type="bibr" rid="CR26">26</xref>
<xref ref-type="bibr" rid="CR29">29</xref>
], and disease-related databases [
<xref ref-type="bibr" rid="CR30">30</xref>
<xref ref-type="bibr" rid="CR34">34</xref>
].</p>
<p>The rest of this paper reviews various operational aspects of JBrowse, starting with the user interface (UI) and user experience and proceeding to describe configuration: how to hook up different data sources, the various types of track that can be displayed, and the extension of JBrowse via custom code development.
<table-wrap id="Taba">
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>Usage patterns
<break></break>
Running JBrowse with the pre-indexing scripts
<break></break>
If JBrowse is to be used as a broad-access viewing portal to a genome annotation database, the greatest efficiency can be gained by using the pre-indexing scripts in the top-level bin/directory. These include prepare-refseqs (for indexing a FASTA file containing the reference sequences and breaking the sequences into manageably-sized chunks), flatfile-to-json (for importing a GFF, BED, or GenBank file as a track), add-bw-track (for importing a BigWig file as a track), and various other utility scripts for adding and removing track configuration stanzas and otherwise managing the track list. Alternatively, the tracks can be loaded directly from a Bioperl-compatible database such as Chado [
<xref ref-type="bibr" rid="CR35">35</xref>
] using the biodb-to-json loader script. The final step in this workflow is to build the index of feature and region names using the generate-names script.
<break></break>
Running JBrowse without the pre-indexing scripts
<break></break>
When standard-format data files are available on the local filesystem (or at a remote URL), a FASTA file can be loaded directly via the Genome menu and annotation tracks can then be created by loading BAM, Wiggle/BigWig, GFF, or VCF files directly via the Track menu. These formats can now be directly consumed by JBrowse (from files or URLs) without the need for JSON indexing; BAM files must, however, be indexed with a BAM index (.bai) file and VCF files with a tabix index (.tbi) file, which may be generated using utilities such as SAMTools [
<xref ref-type="bibr" rid="CR40">40</xref>
]. JBrowse uses these index files and HTTP range-request headers to retrieve only the content that it needs to render the particular region in view, allowing very large data files (such as BigWig, BAM, VCF + Tabix, GFF3 + Tabix, or FASTA + faidx) to be browsed quickly over the network in an efficient random-access way.
<break></break>
Running JBrowse as part of a larger web application
<break></break>
JBrowse can be embedded in a larger web application with its own data sources. The encompassing framework can use the indexing scripts to load data or to directly generate the JSON index files which JBrowse consumes; alternatively, data sources can be provided as a web service (there is a REST API for most features). JBrowse can be started in “embedded mode” (with many user interface features disabled) for compactness. Numerous callbacks are available to implement context-specific actions when the user interacts with the sequence and annotations. Embedding a genome browser in a web application framework has many advantages over a desktop system; for example, users can, in principle, share data and views instantly over the web rather than resorting to sharing screenshots via a side-channel (email).
<break></break>
Running JBrowse on the UCSC genome database
<break></break>
The ucsc-to-json script can be used to import a UCSC genome database, creating JBrowse index files directly from a UCSC database dump. Demonstration instances for the latest JBrowse release on several genome data sets can be found at
<ext-link ext-link-type="uri" xlink:href="http://jbrowse.org/demos">http://jbrowse.org/demos</ext-link>
.
<break></break>
Running JBrowse as a desktop application
<break></break>
JBrowse can also be run as a cross-platform desktop application, entirely independently of a web browser, using the Atom Electron framework (
<ext-link ext-link-type="uri" xlink:href="http://electron.atom.io/">atom</ext-link>
). The data can be connected to desktop JBrowse in at least two ways: the index files that are generated by the indexing scripts (and normally hosted on the server) can be bundled with the JBrowse application or JBrowse can be used to browse local data files.</td>
<td></td>
</tr>
</tbody>
</table>
</table-wrap>
</p>
</sec>
<sec id="Sec4">
<title>User interface</title>
<p>The main view of the user interface is shown in Figs. 
<xref rid="Fig1" ref-type="fig">1</xref>
and
<xref rid="Fig2" ref-type="fig">2</xref>
. At the top is the
<italic>menu bar</italic>
, which contains the
<italic>Genome menu</italic>
(allowing the user to select different datasets, each with its own set of reference sequences and annotations), the
<italic>Track menu</italic>
(where new tracks can be opened from remote or local data sources, or Combination Tracks created from existing tracks), the
<italic>View menu</italic>
(allowing the highlighting or resizing of quantitative tracks), and the
<italic>Help menu</italic>
. More detail on Combination Tracks is given below.
<fig id="Fig1">
<label>Fig. 1</label>
<caption>
<p>JBrowse screenshot showing (for Volvox test dataset) the hierarchical track selector (
<italic>left-hand pane</italic>
) and (from
<italic>top</italic>
to
<italic>bottom</italic>
in the
<italic>right-hand pane</italic>
) menu bar, location bar, navigation bar, CanvasFeatures track (with NeatCanvasFeatures plugin), HTMLFeatures track (mRNAs; with NeatHTMLFeatures plugin), Reference Sequence track, Wiggle/XYPlot track, and Wiggle/Density track</p>
</caption>
<graphic xlink:href="13059_2016_924_Fig1_HTML" id="MO1"></graphic>
</fig>
<fig id="Fig2">
<label>Fig. 2</label>
<caption>
<p>JBrowse screenshot captured with PhantomJS and showing (for Volvox test dataset) the hierarchical track selector (
<italic>left-hand pane</italic>
) and (from
<italic>top</italic>
to
<italic>bottom</italic>
in the
<italic>right-hand pane</italic>
) Reference Sequence track, SNPCoverage track, Alignments2 track, and HTMLVariants tracks (with NeatHTMLFeatures plugin)</p>
</caption>
<graphic xlink:href="13059_2016_924_Fig2_HTML" id="MO2"></graphic>
</fig>
</p>
<p>Beneath the menu bar is the
<italic>navigation bar</italic>
, which includes the panning and zooming buttons (and other buttons such as the
<italic>highlight button</italic>
), the
<italic>reference sequence selector</italic>
(a dropdown menu which may be configured to sort reference sequences by ascending alphabetical order, descending alphabetical order, or length), the
<italic>text navigation box</italic>
(enabling navigation to features by name), and an
<italic>overview bar</italic>
showing the global location of the zoomed-in region.</p>
<p>The tracks themselves are on display in the
<italic>genome view</italic>
, beneath the navigation bar. Each track also has its own
<italic>track menu</italic>
, available as a dropdown from the track label. The track menu offers several operations: the user can display track metadata (the “
<italic>About this track</italic>
” option), pin the track to the top, edit the track configuration directly, export the track data in BED, GFF3 or Wiggle format, delete the track, or set track-specific options (such as changing to a log scale or modifying the height of quantitative tracks or toggling forward/reverse strand display for feature tracks).</p>
<p>Right-clicking on a feature in a track brings up a
<italic>context menu</italic>
which, by default, has two options: “
<italic>View details</italic>
” and “
<italic>Highlight feature</italic>
”. These context menus may be customized to add further options. Left-clicking on the feature goes directly to the “View details” pop-up box, which lists attributes of the feature (and may be further customized).</p>
<p>The full set of tracks available for potential display is listed in the
<italic>track selector</italic>
pane, to the left of the genome view. The track selector can be configured to be a simple drag-and-drop list, a hierarchical tree (Figs. 
<xref rid="Fig1" ref-type="fig">1</xref>
and
<xref rid="Fig2" ref-type="fig">2</xref>
), or a “faceted” navigation tool whereby large sets of tracks can be dynamically queried, allowing the user to home in on the track of choice by successively applying filters to the track metadata (Fig. 
<xref rid="Fig3" ref-type="fig">3</xref>
). The track selector pane can be resized, or minimized, to allow more space for the genome view.
<fig id="Fig3">
<label>Fig. 3</label>
<caption>
<p>JBrowse screenshot showing large track-set faceted track selector from modENCODE test dataset</p>
</caption>
<graphic xlink:href="13059_2016_924_Fig3_HTML" id="MO3"></graphic>
</fig>
</p>
<p>The
<italic>text navigation box</italic>
allows the user to navigate directly to particular coordinates or named features of interest. The name index is configurable; multiple aliases for features can be set up. The text navigation box includes an auto-complete feature. In the event that the name search matches multiple features in different locations or on different tracks, a pop-up window allows the user to select the relevant feature.</p>
<p>The
<italic>highlight button</italic>
allows users to select a region of interest. An internal event is triggered whenever the user highlights a region and this event can be latched onto by plugin extensions; for example, to trigger a sequence homology search of the highlighted region against a database on the server.</p>
<p>The
<italic>sequence search track</italic>
, created via the Track menu, is an example of a track created by the JBrowse plugin RegexSequenceSearch, which is included with the JBrowse installation by default. This plugin allows the user to search the reference sequence for matches to a query sequence or regular expression, showing the results as a new track.</p>
<p>
<italic>Combination tracks</italic>
, also created via the Track menu, allow the user to dynamically perform set operations (intersection, union, difference, or exclusive-or) on feature tracks, or arithmetic operations on quantitative tracks. This offers a powerful way to query the track database that parallels the faceted track selector in providing orthogonal filters (Fig. 
<xref rid="Fig4" ref-type="fig">4</xref>
). For example, the user could create a sequence search track to find putative TATA boxes and intersect this with a ChIP-Seq track to narrow the search to protein-bound sites.
<fig id="Fig4">
<label>Fig. 4</label>
<caption>
<p>JBrowse “combination track” workflow. Combination tracks are created via the Track menu (
<bold>a</bold>
), presenting an empty track as a drop target (
<bold>b</bold>
). Tracks can then be dragged onto the combination track (
<bold>c</bold>
). The second and subsequent tracks bring up a combination dialog (
<bold>d</bold>
), with options for set union, intersection, and difference. The results of the set operation are shown in the combination track (
<bold>e</bold>
)</p>
</caption>
<graphic xlink:href="13059_2016_924_Fig4_HTML" id="MO4"></graphic>
</fig>
</p>
<p>In addition to the configuration file and the JavaScript API (documented below and in [
<xref ref-type="bibr" rid="CR36">36</xref>
]), JBrowse can be controlled in a number of different ways via parameters encoded in the URL string. The most common use of URL parameters is to point JBrowse at a data directory or at a specific feature or region when instantiating the browser, but it also enables several additional features. For example, the track selector, navigation bar, and overview bar can all be disabled in this way, at which point the JBrowse display becomes extremely compact: this is called
<italic>embedded mode</italic>
. Similarly, the currently visible (and highlighted) regions, and the list of currently visible tracks, can be encoded in the URL string. JBrowse uses this mechanism to implement the
<italic>Share</italic>
button at the top right of the screen, pressing which generates a “permalink” bookmark for the currently visible location (the same mechanism is also used by the similarly placed
<italic>Full-screen view</italic>
link in embedded mode to open a new web-browser tab including track selector pane, navigation bar, and overview bar, i.e., to break out of embedded mode). Other extensions available via URL parameters include the import or inline declaration of new features, tracks, or data stores.</p>
<p>The URL-based configuration mechanism also offers an indirect way to generate high-quality figures for publication from the command line using JBrowse. Permalink URLs can be passed to PhantomJS (
<ext-link ext-link-type="uri" xlink:href="http://phantomjs.org">http://phantomjs.org</ext-link>
), a headless client for WebKit (the HTML5 engine underpinning the Chrome and Safari browsers), which can then be used to generate high-resolution PNG, JPEG, or PDF outputs. Fig. 
<xref rid="Fig2" ref-type="fig">2</xref>
in this paper was generated using PhantomJS.</p>
</sec>
<sec id="Sec5">
<title>JBrowse configuration system</title>
<p>When a web browser loads a page containing JBrowse and creates a Browser object (the main controlling object for a JBrowse instance), the first thing the Browser does is to read the configuration information, which can be split across several locations: (1) parameters encoded in the query URL, (2) the configuration JSON object that is passed to the Browser object by the code that creates it, (3) the top-level configuration file(s) in the JBrowse directory, (4) the configuration file(s) in the data directory of the genome being viewed, (5) other configuration files which may be recursively “included” by the above. The JBrowse client merges all the information contained in these configuration files and uses this to decide on (a) the set of available
<italic>reference sequences</italic>
providing the coordinate system and sequence data for a given dataset (conceptually equivalent to a multiple-sequence FASTA file) and (b) the set of available
<italic>annotation tracks</italic>
which may be rendered alongside these reference sequences (equivalent, at the data level, to a set of GFF, BED, BAM, Wiggle, and other such annotation files).</p>
<p>Two configuration formats are supported: the first is JSON-based (with file suffix “.json”), the second is a textual format (with file suffix “.conf”). The latter is closely based on the GBrowse configuration format and is easier to edit and maintain by hand than JSON, in particular when specifying JavaScript callback functions in the configuration file. Sites can use either format or a mixture of both. The default shipped configuration of JBrowse uses both: one jbrowse.conf file in the main JBrowse directory for global settings and two files (trackList.json and tracks.conf) in each data directory for dataset-specific configuration.</p>
<p>The capabilities exposed by the configuration file are further discussed in the “JBrowse Configuration Guide” [
<xref ref-type="bibr" rid="CR36">36</xref>
].</p>
</sec>
<sec id="Sec6">
<title>Data sources</title>
<p>As noted above (in the “Usage patterns” section), the JBrowse client can obtain its genome annotations from a variety of sources. Data can be loaded directly from GFF3, BAM + BAI, or VCF + TBI flatfiles, which can be hosted on the local filesystem, the web server the client originated from, or an entirely different server. Tracks can also be loaded more efficiently from pre-processed JSON index files (which are hosted on the server and may be generated either on-the-fly or in advance) which support efficient querying of name and coordinate space by employing various data structures, including radix trees and nested containment lists. Annotations can also be loaded via a documented REST API, via SPARQL queries to an RDF data store, or by developing a plugin to implement custom adapters to existing web services.</p>
<p>Using the server-hosted JSON index files (or directly loading server-hosted BAM, VCF, or GFF3 files) is a particularly fast and scalable approach for many applications, requiring very little server compute power beyond the initial pre-processing step. There are several options for pre-generating these indices from data. A suite of scripts is provided to create the JSON files directly from several different sources (including GFF3/BED/GenBank/BAM/FASTA flatfiles, a Chado database, or the UCSC genome database). These scripts are not CGI scripts but pre-indexing tools; they only need to be run once (or every time a new track is added). Used in this way, the JBrowse software can be considered a “static site generator”. As noted in the preceding paragraph, in many cases (for example, BAM files) it is not necessary to use JBrowse’s JSON indices; standard tools such as SAMTools and Tabix can be used to generate index files. Alternatively, developers can readily write code in other languages to generate the indices dynamically at runtime, using the documented REST API and the associated JSON schema.</p>
<p>The JSON-based file format (along with the other, more standard file formats used by JBrowse, such as GFF3, VCF, and BAM) is stable and consistent between JBrowse sites, so that it is straightforward for other JBrowse instances (or indeed third-party browsers) to access the same data via the REST API. There are also various options via which a JBrowse instance can combine data from multiple sites, assuming that the site’s Cross Origin Resource Sharing (CORS) policy is appropriately configured. These options can include fetching BAM, VCF, or GFF3 files from other sites; accessing external REST APIs such as myvariant.info; or integration with platforms like CoGe or Araport, as implemented by iPlant [
<xref ref-type="bibr" rid="CR21">21</xref>
].</p>
<p>To allow for large sets of annotation tracks which may be subdivided according to multiple, quasi-orthogonal classification schemes—for example, in genome projects such as modENCODE [
<xref ref-type="bibr" rid="CR37">37</xref>
,
<xref ref-type="bibr" rid="CR38">38</xref>
] or ENCODE [
<xref ref-type="bibr" rid="CR39">39</xref>
] where a large number of experiments have been performed by various laboratories, on various cell lines, using various protocols—JBrowse supports
<italic>faceted navigation</italic>
of track lists, whereby the relevant tracks can be selected by dynamically applying a series of intersecting filters within the track selector. In order to support this, track metadata (including the “facets”, i.e., searchable fields) can be specified directly in the configuration file, in a separate CSV-format file (comma-separated value) whose location is specified in the main configuration file, or in a custom metadata store.</p>
<p>The collection of a set of reference sequences, plus all tracks using those reference sequences as a coordinate system, is referred to as a
<italic>dataset</italic>
. A dataset must be initialized either by indexing the reference sequences on the server (e.g., using the supplied script prepare-refseqs, which breaks the reference sequences into chunks of manageable size) or by loading a FASTA file directly into the browser client. Multiple datasets can be specified in the configuration file; they are then presented within a single JBrowse instance via the Genome menu.</p>
<p>A particular challenge to scalability is presented by genomes in “draft” form, which may be fragmented into thousands or tens of thousands of contigs, each of which is a reference sequence. The drop-down menu of reference sequences can be sorted by length or by another custom sort order, but in this scenario must typically be augmented by other discovery mechanisms. It is recommended that the administrator also configure the name index (to which reference sequence names are in any case automatically added) and potentially the category mechanism for the faceted track browser. Since it is also straightforward to craft URLs that link directly to features, the administrator can additionally configure a BLAST server or other such tool to allow users to discover features by sequence homology search.</p>
</sec>
<sec id="Sec7">
<title>Track types</title>
<p>The core visual elements of a JBrowse track are sequence data, feature glyphs, and quantitative data. Although most tracks predominantly feature one of these elements, the elements are often also combined, composed, or staged together to visually highlight aspects of the data. For example, the SNPCoverage track, visualizing next-generation sequence reads aligned to the reference sequence, condenses reads into a histogram of coverage density and highlights potential single-nucleotide variants as colored characters.</p>
<sec id="Sec8">
<title>Sequence (FASTA) tracks</title>
<p>The Sequence track displays forward and reverse strands of the reference sequences and six conceptual translation frames (a non-standard codon translation table can be specified at configuration). JBrowse can load sequence data from FASTA files, indexed FASTA files, and pre-processed sequence data converted into JSON files. It can also display data from a file simply containing chromosome names and sizes and with no sequence data, in which case no actual sequence track is used.</p>
</sec>
<sec id="Sec9">
<title>Feature (GFF, BED, GenBank) tracks</title>
<p>The two types of tracks currently available for displaying annotations from GFF or BED files are HTMLFeatures and CanvasFeatures, each of which has relative advantages in various situations. (An experimental third type of feature track, NeatCanvasFeatures, which extends CanvasFeatures with specialized intron cartoons, is described in the section "
<xref rid="Sec25" ref-type="sec">Writing plugins</xref>
"). These tracks can display features with optional structured subfeatures (as, for example, in a GFF3 file) and so are ideal for displaying gene models (with component exons, introns, UTRs), transcript alignments, single-nucleotide polymorphisms (SNPs), transposons, repeats, and so on.</p>
<p>The HTMLFeatures track uses elements of the HTML Domain Object Model (DOM), such as DIV elements, to build up the displayed features. Configuration options allow the customization of many aspects of the track, including the layout parameters, density, height, text description, and Cascading Style Sheets (CSS) classes for various components. Around 22 CSS feature glyphs are included with JBrowse by default. The inbuilt documentation describes how to configure an HTMLFeatures track to use these CSS glyphs with various types of feature, including “two-level” features where a parent feature uses one CSS glyph and the child features use a different glyph.</p>
<p>The CanvasFeatures track paints features directly onto an HTML Canvas element. Early versions of JBrowse were designed not to rely on this element, but the Canvas element has been supported by all major web browsers since 2009 and is now available to 97 % of web users (according to
<ext-link ext-link-type="uri" xlink:href="https://www.w3counter.com/">https://www.w3counter.com/</ext-link>
), 99 % of jbrowse.org visitors, and 99.9 % of JBrowse users.</p>
<p>As with HTMLFeatures, CanvasFeatures comes with a number of pre-built “glyphs” with which different features can be associated, and these glyph–feature associations can be specified (along with various other layout, rendering, and general visualization options) in the configuration file. Unlike HTMLFeatures, however, the CanvasFeatures glyphs are not restricted to being based on HTML elements and so a more expressive visual language is available. It is also straightforward to extend the glyphs by writing new glyph classes. Like GBrowse glyphs [
<xref ref-type="bibr" rid="CR9">9</xref>
], CanvasFeatures glyphs are modular and can comprise subfeatures. To create an entirely new glyph visualization requires only a small amount of JavaScript.</p>
<p>As noted above, each track has relative advantages. CanvasFeatures tracks are generally easier to configure and faster to render than HTMLFeatures tracks; and, as described above, it is easier to develop custom CanvasFeatures glyphs. On the other hand, HTMLFeatures makes certain UI customizations and extensions easier, since it provides a series of ready-made DOM objects with callback hooks for events like “click” and “drag” that the developer can latch onto. The Apollo annotation plugin for JBrowse uses HTMLFeatures tracks to enable drag-and-drop functionality. The NeatHTMLFeatures and NeatCanvasFeatures plugins, described in the “Customization” section, illustrates implementations of a custom intron rendering using both types of track.</p>
</sec>
<sec id="Sec10">
<title>Quantitative (Wiggle, BigWig) tracks</title>
<p>Numerical data associated with intervals or individual nucleotides, as stored in Wiggle and BigWig files, can be plotted using histograms (the Wiggle/XYPlot track) or heat maps (the Wiggle/Density track). Mousing over either kind of track brings up a cursor and popup text displaying (as a numeric value) the data point currently under the mouse pointer.</p>
<p>JBrowse can load quantitative data directly from BigWig files stored on the server, with no need for preprocessing. Both kinds of Wiggle track can be extensively configured to customize coloring, thresholding, scaling, cutoff behavior, global error bars, and other styling.</p>
</sec>
<sec id="Sec12">
<title>Alignment (BAM) tracks</title>
<p>Three types of track are available for rendering the data in BAM files (reference-aligned reads): Alignments (a highly configurable track with customizable click behavior which renders reads as individual HTML elements), Alignments2 (a faster track, optimized for deep-coverage datasets, which renders reads directly onto an HTML Canvas element), and SNPCoverage (a track which dynamically calculates and visually highlights SNPs from BAM data, including nucleotide frequencies).</p>
<p>For deep-coverage BAM files, Alignments2 is recommended for performance reasons (due to Alignments having a longer rendering time and SNPCoverage performing a large number of calculations in order to compute SNPs on-the-fly). It is possible to convey the same information as an SNPCoverage track by pre-computing a BigWig file of the coverage and a VCF file of putative SNPs, both of which can then be displayed with other track types (e.g., Wiggle/XYPlot and VCF tracks, respectively).</p>
<p>BAM files used with JBrowse must be compressed and coordinate-sorted. A wide array of options are offered for customizing details of BAM track operations, including handling of duplicate, multiply mapped and paired-end reads, calculation of coverage histograms, visualization of mismatches and SNPs, and track size, coloring, and styling.</p>
</sec>
<sec id="Sec30">
<title>Variant (VCF) tracks</title>
<p>The HTMLVariants and CanvasVariants track classes are derivatives of HTMLFeatures and CanvasFeatures that are optimized for displaying the potential large amounts of detailed data that go along with each variant. JBrowse can serve these tracks directly from VCF files; however, the VCF files must be compressed with bgzip and indexed with tabix, both of which are available as part of the SAMtools package [
<xref ref-type="bibr" rid="CR40">40</xref>
] and/or the related HTSlib package.</p>
</sec>
<sec id="Sec13">
<title>Image tracks</title>
<p>JBrowse can load images directly from the server and display them aligned to the genome, using the FixedImage track. Earlier versions of JBrowse used pre-rendered images to display features and histograms. This is no longer the case (JBrowse now includes code to render these directly from the client), but JBrowse has retained the image track API to support track images rendered on the server.</p>
</sec>
<sec id="Sec14">
<title>Miscellaneous derived tracks</title>
<p>NeatCanvasFeatures is a specialized track which extends CanvasFeatures with “hat” cartoons for introns. It is described in the "
<xref rid="Sec25" ref-type="sec">Writing plugins</xref>
" section.</p>
<p>The FeatureCoverage track is a special subclass of Wiggle/XYPlot that dynamically computes and displays coverage for a feature file (e.g., a BAM file).</p>
<p>The base-pair track is an example FixedImage track wherein base-pairing arcs (indicating secondary structure of the reference sequence) are pre-rendered, on the server, using the GD library.</p>
</sec>
</sec>
<sec id="Sec15">
<title>Customization</title>
<p>JBrowse is designed to be straightforward to embed, customize, and extend. Relevant design features include the event framework, the plugin mechanism, and many callback hooks which can be overridden to change or augment the default behavior of various UI elements.</p>
<p>The majority of JBrowse code is contained in the JavaScript part of the software repository and is organized according to the MVCS (Model-View-Controller-Store) pattern [
<xref ref-type="bibr" rid="CR41">41</xref>
]. The client-side framework used is Dojo [
<xref ref-type="bibr" rid="CR42">42</xref>
]: view components make use of Dojo’s Dijit widgets, while modules are defined using Dojo’s AMD (Asynchronous Module Definition) format. The code base can be extended by placing new source files directly into the directory tree, by adding plugin extensions, or by defining new functions in the configuration files.</p>
<p>As a general code convention, the names of abstract classes, abstract mixins, private variables, and private methods are preceded with a leading underscore.</p>
<sec id="Sec16">
<title>Initialization milestones</title>
<p>The phases of startup are synchronized using named promises called
<italic>milestones</italic>
(implemented as dojo/Deferred events), which can be hooked onto by plugins and other JavaScript code using the “afterMilestone” method.</p>
<p>Milestone events are shown in Table 
<xref rid="Tab1" ref-type="table">1</xref>
. Each milestone may be attached to callback functions that will be executed when the corresponding milestone completes.
<table-wrap id="Tab1">
<label>Table 1</label>
<caption>
<p>JBrowse initialization milestones</p>
</caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th>Milestone name</th>
<th>Milestone is reached when…</th>
</tr>
</thead>
<tbody>
<tr>
<td>initPlugins </td>
<td>…all plugins (but not feature tracks and stores) have been initialized</td>
</tr>
<tr>
<td>loadRefSeqs </td>
<td>…all reference sequences have been loaded</td>
</tr>
<tr>
<td>loadUserCSS </td>
<td>…the user-defined style sheet has been loaded</td>
</tr>
<tr>
<td>loadNames </td>
<td>…the feature search names, used by the text navigation box and autocomplete, have been loaded</td>
</tr>
<tr>
<td>initView </td>
<td>…the GenomeView object and menus have been created</td>
</tr>
<tr>
<td>initTrackMetadata </td>
<td>…the track metadata has been loaded</td>
</tr>
<tr>
<td>loadConfig </td>
<td>…the configuration file(s) have been successfully parsed</td>
</tr>
<tr>
<td>createTrack </td>
<td>…the track selector has been initialized</td>
</tr>
<tr>
<td>completely initialized (note the space)</td>
<td>…all major services have completed initialization</td>
</tr>
</tbody>
</table>
</table-wrap>
</p>
</sec>
<sec id="Sec17">
<title>Sequence feature models and stores</title>
<p>Classes modeling individual sequence features conform to the
<italic>Feature API</italic>
(exemplified by and documented in the source for the class JBrowse/Model/SimpleFeature) by providing accessor methods for various feature attributes (start and endpoint, ID field, tags, score, parent and child relationships for modeling super- and sub-features), some of which are mandatory for the various different types of track.</p>
<p>By contrast, classes modeling
<italic>sources</italic>
of sequences and sequence features generally inherit from JBrowse/Store/SeqFeature and implement the
<italic>Feature Store API</italic>
, including methods for retrieval of global and local statistics, sequence, and feature data.</p>
<p>Typically, different Feature Stores will provide their own custom implementations of the Feature API. More information on the Feature API and Feature Store API, and other useful classes, can be found in the “JBrowse Configuration Guide” at GMOD [
<xref ref-type="bibr" rid="CR36">36</xref>
].</p>
</sec>
<sec id="Sec18">
<title>Callback hooks</title>
<p>JBrowse feature tracks, and individual JBrowse features, can be customized using JavaScript functions added by the developer. These functions are called every time a feature in a track is drawn, allowing customization of virtually anything about the feature's display. Since all of the feature's data and attributes are accessible to the customization function, an individual feature’s appearance can be customized based on these data.</p>
<sec id="Sec19">
<title>Custom creation and post-processing of features in HTMLFeatures tracks</title>
<p>The HTMLFeatures track offers two callback functions that can be overridden (via the config file) to control the way that individual features are rendered:
<list list-type="bullet">
<list-item>
<p>The 'hooks->create' callback can be used to control what DOM object is created to represent an individual feature. It is called with track and feature objects as arguments. The default just creates a DIV element.</p>
</list-item>
<list-item>
<p>The 'hooks->modify' callback can be used to modify the DOM object for a feature,
<italic>after</italic>
it is created. The function is called with track, feature, and DOM element objects as arguments.</p>
</list-item>
</list>
</p>
</sec>
<sec id="Sec20">
<title>Custom rendering and styling of glyphs in CanvasFeatures</title>
<p>Unlike HTMLFeatures tracks, canvas-based feature tracks don't use modify and create hooks. Instead, any of the style attributes (controlling color, labels, dimensions, and other aspects of the appearance and behavior of the glyph) can be specified as dynamic functions in the configuration file rather than static values. As an example of how this can be applied, the “JBrowse Configuration Guide” gives a config file snippet that can be used to color homozygous and heterozygous variants differently in a CanvasVariants track (which inherits from CanvasFeatures; see the “
<xref rid="Sec30" ref-type="sec">Variant (VCF) tracks</xref>
” section).</p>
</sec>
<sec id="Sec22">
<title>Custom “View details” pop-ups</title>
<p>By default, the “View details” pop-up box (which can be selected by either left-clicking on a feature or right-clicking then selecting “View details” from the context menu that appears) displays a simple report about the genome feature that was clicked, including primary data (name, location, reference sequence), sub-feature structure, and additional miscellaneous attributes from the source annotation file in a tabular name-value format. Callbacks can be added to dynamically change the names, values, and mouseover behavior of these extra miscellaneous attributes or to remove them from the “View details” pop-up altogether.</p>
</sec>
<sec id="Sec23">
<title>Custom mouseover and click behavior, context menu options, and “About this track” pop-ups</title>
<p>Most of the interactive behavior of a feature track can be customized by attaching functions to various callback hooks. This process is described in detail in the configuration guide, illustrated by numerous code snippets. The customizations can include the behavior when a feature is moused-over or left-clicked, the options in the context menu that appear when it is right-clicked, or the “About this track” popup (which displays track metadata analogously to the “View details” popup’s display of feature attributes and can be customized in similar ways).</p>
</sec>
</sec>
<sec id="Sec24">
<title>Publishing and subscribing to client events</title>
<p>JBrowse client events are implemented using the dojo/topic message bus from the Dojo library. Extensions can subscribe to particular events in order to be notified when certain UI changes happen (for example, highlighting a region generates an event, which can be latched onto with a callback that triggers a request for the server to BLAST that region against a database). In select cases, extensions can also publish events as a way of forcing the UI into certain states or transitions (for example, events can be used in this way to force the browser to load a new track in response to some other circumstance or notification).</p>
<p>Events are documented in the “JBrowse Configuration Guide”. The DebugEvents plugin logs events to the console, and can be used to monitor events as they are triggered by user interactions with the browser.</p>
</sec>
<sec id="Sec25">
<title>Writing plugins</title>
<p>An extension to JBrowse is typically composed of several parts: JavaScript classes for initialization, View and Store code, CSS files for styling UI components, image files for buttons, and other visual components. The JBrowse plugin mechanism allows these files to be collected in one central place and to be automatically loaded when JBrowse is launched. Each plugin is given its own namespace so that any track types, feature glyphs, track selector, or parser/store classes can be easily specified in config files by just referencing their path (for example, MyPlugin/View/Track/CustomTrack can be specified in the track configuration file to refer to a new custom track type).</p>
<p>Each plugin is placed in its own subdirectory of the top-level ‘plugins’ directory of the JBrowse installation (for example, plugins/MyPlugin) and should have subdirectories named ‘js’, ‘img’, and ‘css’ for, respectively, code, images, and stylesheets. The plugin must also be declared in the configuration (typically in the top-level JBrowse configuration file). JBrowse loads the plugin using the Dojo AMD mechanism: an AMD module definition file is required (‘plugins/MyPlugin/js/main.js’). A stylesheet will also be automatically loaded if it is present (‘plugins/MyPlugin/css/main.css’). A script is provided with JBrowse to create this skeletal file and directory structure, automating the first step of developing a new plugin.</p>
<p>Several plugins are provided with JBrowse and are listed in Table 
<xref rid="Tab2" ref-type="table">2</xref>
. The source code for these plugins has been commented to assist developers of new plugins.
<table-wrap id="Tab2">
<label>Table 2</label>
<caption>
<p>JBrowse plugins</p>
</caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th>Plugin name</th>
<th>Plugin description</th>
</tr>
</thead>
<tbody>
<tr>
<td>RegexSequenceSearch</td>
<td>Allows the user to enter a simple sequence motif of regular expression, then creates a new feature track showing matches to this motif. Illustrates implementation of JBrowse menu extensions and popups (with CSS), creation of a new track, access of the reference sequence, and dynamic creation of features based on client-side computation</td>
</tr>
<tr>
<td>NeatHTMLFeatures</td>
<td>Extends HTMLFeatures tracks to render introns using the standard cartoon representation of a “hat”-shaped elbow line and features with gradient “tube” effect. Illustrates the implementation of custom glyphs. Draws the intron using Scalable Vector Graphics (SVG)</td>
</tr>
<tr>
<td>NeatCanvasFeatures</td>
<td>The analog of NeatHTMLFeatures for CanvasFeatures tracks</td>
</tr>
<tr>
<td>HideTrackLabels</td>
<td>Extends the toolbar to implement a new button that hides track labels. Illustrates the implementation of toolbar buttons</td>
</tr>
<tr>
<td>DebugEvents</td>
<td>Logs all milestone and globally published events to the browser’s JavaScript console. Illustrates the use of plugins for debugging and subscription to dojo/topic events</td>
</tr>
<tr>
<td>CategoryUrl</td>
<td>Adds a new ‘category’ URL parameter that displays all tracks in a particular category. Illustrates the implementation of new URL parameters</td>
</tr>
<tr>
<td>PubAnnotation</td>
<td>Allows JBrowse to display text annotations from PubAnnotation. Illustrates the creation of a new feature store that queries an external repository</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p>The plugins in this table are included in the JBrowse source distribution, in many cases for expository purposes. Other plugins may readily be developed and added to any given JBrowse installation</p>
</table-wrap-foot>
</table-wrap>
</p>
</sec>
<sec id="Sec26">
<title>Writing new back-end data services: REST and JSON APIs</title>
<p>The current version of JBrowse does not require a dynamic server back-end (only run-once scripts that optionally can be used to generate the JSON index files) but it is designed to be easy to integrate with other server-based services. In particular, the JBrowse data interface includes REST adaptors that can readily connect to web-facing stores of features (GFF-, BED-, or BAM-style) and quantitative scores (Wiggle-style). The back-end store needs to implement a simple RESTful API that serves statistics on the number and density of features (and/or the range of scores) on a reference sequence and, optionally, on a sub-interval of that sequence or a sub-division into bins. The store also needs to implement a local query method. The text search database (searching and autocompleting feature names) and the reference sequence store can also be connected via RESTful interfaces. Finally, the JSON and text formats for configuration, track lists, track metadata, and the tracks themselves can be dynamically generated by server code (as opposed to being pre-generated by the indexing scripts).</p>
</sec>
<sec id="Sec27">
<title>Future plans</title>
<p>We are currently developing a registry of JBrowse plugins (including third-party extensions) and another registry of publicly accessible data instances, both of which will be hosted on
<ext-link ext-link-type="uri" xlink:href="http://jbrowse.org">http://jbrowse.org</ext-link>
. Announcements and discussion of planned developments for JBrowse will be available on the project blog on
<ext-link ext-link-type="uri" xlink:href="http://jbrowse.org">http://jbrowse.org</ext-link>
. The project mailing lists, which often include announcements, are also linked from
<ext-link ext-link-type="uri" xlink:href="http://jbrowse.org">http://jbrowse.org</ext-link>
.</p>
</sec>
</sec>
<sec id="Sec29">
<title>Conclusions</title>
<p>JBrowse is a fully-featured genome browser that is capable of visualizing diverse types of genome-located data, located in a variety of different data stores, and of interfacing to other client and server applications.</p>
<sec id="Sec28">
<title>Availability of data and materials</title>
<p>All source code is available from the git repository, linked to from
<ext-link ext-link-type="uri" xlink:href="http://jbrowse.org/">http://jbrowse.org</ext-link>
, under a choice of Open Source Initiative-compatible licenses, including the GNU Lesser General Public License and the Artistic License. A Docker image that can be used to launch JBrowse containers is also available from
<ext-link ext-link-type="uri" xlink:href="http://jbrowse.org">http://jbrowse.org</ext-link>
.</p>
</sec>
</sec>
</body>
<back>
<fn-group>
<fn>
<p>
<bold>Competing interests</bold>
</p>
<p>The authors declare that they have no competing interests.</p>
</fn>
<fn>
<p>
<bold>Authors’ contributions</bold>
</p>
<p>RB was lead developer of the JBrowse project for most of the work reported here and wrote the documentation from which the first draft of this manuscript was derived. EY and CD also led JBrowse development and were major code contributors. RH and GH contributed code. MMT, DG, CE, and SL supervised software development and suggested new directions. MMT and SL further developed and led JBrowse training workshops and hackathons. LS co-supervised the project, managed interns, and wrote a significant part of the Perl code base on which JBrowse initially relied. IH conceived of and led the JBrowse project, contributed code, and drafted and supervised the writing of this paper. All authors contributed to the writing of this paper. All authors read and approved the final manuscript.</p>
</fn>
</fn-group>
<ack>
<title>Acknowledgements</title>
<p>The project includes open-source code from Thomas Down, Justin Reese, other GitHub contributors too numerous to name individually, and students from the University of Waterloo Co-Operative Program, including Natalie Fox, Adam Wright, Juan Aguilar, Daniel Kasenberg, Kevin Mohammed, Erik Derohanian, Julie Moon, Adrian Duong, and Julien Smith-Roberge. We thank in particular Eric Rasche for developing a JBrowse Docker image and for other contributions.</p>
<sec id="FPar1">
<title>Funding</title>
<p>RB, EY, LS, and IH were supported by NIH grant HG004483 (JBrowse). CD, MMT, GH, CE, and SL were supported by NIH grant GM080203 (WebApollo).</p>
</sec>
</ack>
<ref-list id="Bib1">
<title>References</title>
<ref id="CR1">
<label>1.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Skinner</surname>
<given-names>ME</given-names>
</name>
<name>
<surname>Uzilov</surname>
<given-names>AV</given-names>
</name>
<name>
<surname>Stein</surname>
<given-names>LD</given-names>
</name>
<name>
<surname>Mungall</surname>
<given-names>CJ</given-names>
</name>
<name>
<surname>Holmes</surname>
<given-names>IH</given-names>
</name>
</person-group>
<article-title>JBrowse: a next-generation genome browser</article-title>
<source>Genome Res.</source>
<year>2009</year>
<volume>19</volume>
<fpage>1630</fpage>
<lpage>8</lpage>
<pub-id pub-id-type="doi">10.1101/gr.094607.109</pub-id>
</element-citation>
</ref>
<ref id="CR2">
<label>2.</label>
<mixed-citation publication-type="other">Skinner ME, Holmes IH. Setting up the JBrowse genome browser. Curr Protoc Bioinformatics. 2010;Chapter 9:Unit 9.13.</mixed-citation>
</ref>
<ref id="CR3">
<label>3.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Westesson</surname>
<given-names>O</given-names>
</name>
<name>
<surname>Skinner</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Holmes</surname>
<given-names>I</given-names>
</name>
</person-group>
<article-title>Visualizing next-generation sequencing data with JBrowse</article-title>
<source>Brief Bioinform.</source>
<year>2013</year>
<volume>14</volume>
<fpage>172</fpage>
<lpage>7</lpage>
<pub-id pub-id-type="doi">10.1093/bib/bbr078</pub-id>
<pub-id pub-id-type="pmid">22411711</pub-id>
</element-citation>
</ref>
<ref id="CR4">
<label>4.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Down</surname>
<given-names>TA</given-names>
</name>
<name>
<surname>Piipari</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Hubbard</surname>
<given-names>TJP</given-names>
</name>
</person-group>
<article-title>Dalliance: interactive genome viewing on the web</article-title>
<source>Bioinformatics.</source>
<year>2011</year>
<volume>27</volume>
<fpage>889</fpage>
<lpage>90</lpage>
<pub-id pub-id-type="doi">10.1093/bioinformatics/btr020</pub-id>
<pub-id pub-id-type="pmid">21252075</pub-id>
</element-citation>
</ref>
<ref id="CR5">
<label>5.</label>
<mixed-citation publication-type="other">Hammerbacher lab, Pileup.js.
<ext-link ext-link-type="uri" xlink:href="https://github.com/hammerlab/pileup.js">https://github.com/hammerlab/pileup.js</ext-link>
. Accessed 28 Mar 2016.</mixed-citation>
</ref>
<ref id="CR6">
<label>6.</label>
<mixed-citation publication-type="other">Goecks J, Eberhard C, Too T, the Galaxy Team, Nekrutenko A, and Taylor J. Web-based visual analysis for high-throughput genomics. BMC Genomics. 2013;14:397.</mixed-citation>
</ref>
<ref id="CR7">
<label>7.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kent</surname>
<given-names>WJ</given-names>
</name>
<name>
<surname>Sugnet</surname>
<given-names>CW</given-names>
</name>
<name>
<surname>Furey</surname>
<given-names>TS</given-names>
</name>
<name>
<surname>Roskin</surname>
<given-names>KM</given-names>
</name>
<name>
<surname>Pringle</surname>
<given-names>TH</given-names>
</name>
<name>
<surname>Zahler</surname>
<given-names>AM</given-names>
</name>
<etal></etal>
</person-group>
<article-title>The Human Genome Browser at UCSC</article-title>
<source>Genome Res.</source>
<year>2002</year>
<volume>12</volume>
<fpage>996</fpage>
<lpage>1006</lpage>
<pub-id pub-id-type="doi">10.1101/gr.229102.ArticlepublishedonlinebeforeprintinMay2002</pub-id>
</element-citation>
</ref>
<ref id="CR8">
<label>8.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Stalker</surname>
<given-names>J</given-names>
</name>
</person-group>
<article-title>The ensembl web site: mechanics of a genome browser</article-title>
<source>Genome Res.</source>
<year>2004</year>
<volume>14</volume>
<fpage>951</fpage>
<lpage>5</lpage>
<pub-id pub-id-type="doi">10.1101/gr.1863004</pub-id>
</element-citation>
</ref>
<ref id="CR9">
<label>9.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Stein</surname>
<given-names>LD</given-names>
</name>
<name>
<surname>Mungall</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Shu</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Caudy</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Mangone</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Day</surname>
<given-names>A</given-names>
</name>
<etal></etal>
</person-group>
<article-title>The generic genome browser: a building block for a model organism system database</article-title>
<source>Genome Res.</source>
<year>2002</year>
<volume>12</volume>
<fpage>1599</fpage>
<lpage>610</lpage>
<pub-id pub-id-type="doi">10.1101/gr.403602</pub-id>
</element-citation>
</ref>
<ref id="CR10">
<label>10.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Robinson</surname>
<given-names>JT</given-names>
</name>
<name>
<surname>Thorvaldsdóttir</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Winckler</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Guttman</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Lander</surname>
<given-names>ES</given-names>
</name>
<name>
<surname>Getz</surname>
<given-names>G</given-names>
</name>
<etal></etal>
</person-group>
<article-title>Integrative genomics viewer</article-title>
<source>Nat Biotechnol.</source>
<year>2011</year>
<volume>29</volume>
<fpage>24</fpage>
<lpage>6</lpage>
<pub-id pub-id-type="doi">10.1038/nbt.1754</pub-id>
</element-citation>
</ref>
<ref id="CR11">
<label>11.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nicol</surname>
<given-names>JW</given-names>
</name>
<name>
<surname>Helt</surname>
<given-names>GA</given-names>
</name>
<name>
<surname>Blanchard</surname>
<given-names>SG</given-names>
</name>
<name>
<surname>Raja</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Loraine</surname>
<given-names>AE</given-names>
</name>
</person-group>
<article-title>The Integrated Genome Browser: free software for distribution and exploration of genome-scale datasets</article-title>
<source>Bioinformatics.</source>
<year>2009</year>
<volume>25</volume>
<fpage>2730</fpage>
<lpage>1</lpage>
<pub-id pub-id-type="doi">10.1093/bioinformatics/btp472</pub-id>
</element-citation>
</ref>
<ref id="CR12">
<label>12.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lee</surname>
<given-names>E</given-names>
</name>
<name>
<surname>Helt</surname>
<given-names>GA</given-names>
</name>
<name>
<surname>Reese</surname>
<given-names>JT</given-names>
</name>
<name>
<surname>Munoz-Torres</surname>
<given-names>MC</given-names>
</name>
<name>
<surname>Childers</surname>
<given-names>CP</given-names>
</name>
<name>
<surname>Buels</surname>
<given-names>RM</given-names>
</name>
<etal></etal>
</person-group>
<article-title>Web Apollo: a web-based genomic annotation editing platform</article-title>
<source>Genome Biol.</source>
<year>2013</year>
<volume>14</volume>
<fpage>R93</fpage>
<pub-id pub-id-type="doi">10.1186/gb-2013-14-8-r93</pub-id>
</element-citation>
</ref>
<ref id="CR13">
<label>13.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>O’Connor</surname>
<given-names>BD</given-names>
</name>
<name>
<surname>Merriman</surname>
<given-names>B</given-names>
</name>
<name>
<surname>Nelson</surname>
<given-names>SF</given-names>
</name>
</person-group>
<article-title>SeqWare Query Engine: storing and searching sequence data in the cloud</article-title>
<source>BMC Bioinformatics</source>
<year>2010</year>
<volume>11</volume>
<issue>Suppl 12</issue>
<fpage>S2</fpage>
<pub-id pub-id-type="doi">10.1186/1471-2105-11-S12-S2</pub-id>
</element-citation>
</ref>
<ref id="CR14">
<label>14.</label>
<element-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Hilgert</surname>
<given-names>U</given-names>
</name>
<name>
<surname>Uwe</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Sheldon</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Mohammed</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Jason</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Cornel</surname>
<given-names>G</given-names>
</name>
<name>
<surname>David</surname>
<given-names>M</given-names>
</name>
</person-group>
<source>DNA Subway: making genome analysis egalitarian</source>
<year>2014</year>
<publisher-loc>New York, NY, USA</publisher-loc>
<publisher-name>ACM</publisher-name>
</element-citation>
</ref>
<ref id="CR15">
<label>15.</label>
<mixed-citation publication-type="other">GenSAS.
<ext-link ext-link-type="uri" xlink:href="http://gensas2.bioinfo.wsu.edu/">http://gensas2.bioinfo.wsu.edu/</ext-link>
. Accessed 28 Mar 2016.</mixed-citation>
</ref>
<ref id="CR16">
<label>16.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Campbell</surname>
<given-names>MS</given-names>
</name>
<name>
<surname>Holt</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Moore</surname>
<given-names>B</given-names>
</name>
<name>
<surname>Yandell</surname>
<given-names>M</given-names>
</name>
</person-group>
<article-title>Genome annotation and curation using MAKER and MAKER-P</article-title>
<source>Curr Protoc Bioinformatics.</source>
<year>2014</year>
<volume>48</volume>
<fpage>4</fpage>
<lpage>11</lpage>
</element-citation>
</ref>
<ref id="CR17">
<label>17.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Holt</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Yandell</surname>
<given-names>M</given-names>
</name>
</person-group>
<article-title>MAKER2: an annotation pipeline and genome-database management tool for second-generation genome projects</article-title>
<source>BMC Bioinformatics.</source>
<year>2011</year>
<volume>12</volume>
<fpage>491</fpage>
<pub-id pub-id-type="doi">10.1186/1471-2105-12-491</pub-id>
</element-citation>
</ref>
<ref id="CR18">
<label>18.</label>
<mixed-citation publication-type="other">Wurm lab, Afra.
<ext-link ext-link-type="uri" xlink:href="https://github.com/wurmlab/afra">https://github.com/wurmlab/afra</ext-link>
. Accessed 28 Mar 2016.</mixed-citation>
</ref>
<ref id="CR19">
<label>19.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Goodstein</surname>
<given-names>DM</given-names>
</name>
<name>
<surname>Shu</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Howson</surname>
<given-names>R</given-names>
</name>
<name>
<surname>Neupane</surname>
<given-names>R</given-names>
</name>
<name>
<surname>Hayes</surname>
<given-names>RD</given-names>
</name>
<name>
<surname>Fazo</surname>
<given-names>J</given-names>
</name>
<etal></etal>
</person-group>
<article-title>Phytozome: a comparative platform for green plant genomics</article-title>
<source>Nucleic Acids Res</source>
<year>2012</year>
<volume>40</volume>
<issue>Database issue</issue>
<fpage>D1178</fpage>
<lpage>86</lpage>
<pub-id pub-id-type="doi">10.1093/nar/gkr944</pub-id>
</element-citation>
</ref>
<ref id="CR20">
<label>20.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Krishnakumar</surname>
<given-names>V</given-names>
</name>
<name>
<surname>Hanlon</surname>
<given-names>MR</given-names>
</name>
<name>
<surname>Contrino</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Ferlanti</surname>
<given-names>ES</given-names>
</name>
<name>
<surname>Karamycheva</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Kim</surname>
<given-names>M</given-names>
</name>
<etal></etal>
</person-group>
<article-title>Araport: the Arabidopsis information portal</article-title>
<source>Nucleic Acids Res</source>
<year>2015</year>
<volume>43</volume>
<issue>Database issue</issue>
<fpage>D1003</fpage>
<lpage>9</lpage>
<pub-id pub-id-type="doi">10.1093/nar/gku1200</pub-id>
</element-citation>
</ref>
<ref id="CR21">
<label>21.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Goff</surname>
<given-names>SA</given-names>
</name>
<name>
<surname>Vaughn</surname>
<given-names>M</given-names>
</name>
<name>
<surname>McKay</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Lyons</surname>
<given-names>E</given-names>
</name>
<name>
<surname>Stapleton</surname>
<given-names>AE</given-names>
</name>
<name>
<surname>Gessler</surname>
<given-names>D</given-names>
</name>
<etal></etal>
</person-group>
<article-title>The iPlant Collaborative: cyberinfrastructure for plant biology</article-title>
<source>Front Plant Sci.</source>
<year>2011</year>
<volume>2</volume>
<fpage>34</fpage>
<pub-id pub-id-type="doi">10.3389/fpls.2011.00034</pub-id>
</element-citation>
</ref>
<ref id="CR22">
<label>22.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fernandez-Pozo</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Menda</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Edwards</surname>
<given-names>JD</given-names>
</name>
<name>
<surname>Saha</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Tecle</surname>
<given-names>IY</given-names>
</name>
<name>
<surname>Strickler</surname>
<given-names>SR</given-names>
</name>
<etal></etal>
</person-group>
<article-title>The Sol Genomics Network (SGN)--from genotype to phenotype to breeding</article-title>
<source>Nucleic Acids Res</source>
<year>2015</year>
<volume>43</volume>
<issue>Database issue</issue>
<fpage>D1036</fpage>
<lpage>41</lpage>
<pub-id pub-id-type="doi">10.1093/nar/gku1195</pub-id>
</element-citation>
</ref>
<ref id="CR23">
<label>23.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jung</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Ficklin</surname>
<given-names>SP</given-names>
</name>
<name>
<surname>Lee</surname>
<given-names>T</given-names>
</name>
<name>
<surname>Cheng</surname>
<given-names>C-H</given-names>
</name>
<name>
<surname>Blenda</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>P</given-names>
</name>
<etal></etal>
</person-group>
<article-title>The Genome Database for Rosaceae (GDR): year 10 update</article-title>
<source>Nucleic Acids Res</source>
<year>2014</year>
<volume>42</volume>
<issue>Database issue</issue>
<fpage>D1237</fpage>
<lpage>44</lpage>
<pub-id pub-id-type="doi">10.1093/nar/gkt1012</pub-id>
</element-citation>
</ref>
<ref id="CR24">
<label>24.</label>
<mixed-citation publication-type="other">The Triticeae Toolbox.
<ext-link ext-link-type="uri" xlink:href="https://triticeaetoolbox.org/">https://triticeaetoolbox.org/</ext-link>
. Accessed 28 Mar 2016.</mixed-citation>
</ref>
<ref id="CR25">
<label>25.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Alexandrov</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Tai</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Mansueto</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Palis</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Fuentes</surname>
<given-names>RR</given-names>
</name>
<etal></etal>
</person-group>
<article-title>SNP-Seek database of SNPs derived from 3000 rice genomes</article-title>
<source>Nucleic Acids Res</source>
<year>2015</year>
<volume>43</volume>
<issue>Database issue</issue>
<fpage>D1023</fpage>
<lpage>7</lpage>
<pub-id pub-id-type="doi">10.1093/nar/gku1039</pub-id>
</element-citation>
</ref>
<ref id="CR26">
<label>26.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Harris</surname>
<given-names>TW</given-names>
</name>
<name>
<surname>Baran</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Bieri</surname>
<given-names>T</given-names>
</name>
<name>
<surname>Cabunoc</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Chan</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>WJ</given-names>
</name>
<etal></etal>
</person-group>
<article-title>WormBase 2014: new views of curated biology</article-title>
<source>Nucleic Acids Res</source>
<year>2014</year>
<volume>42</volume>
<issue>Database issue</issue>
<fpage>D789</fpage>
<lpage>93</lpage>
<pub-id pub-id-type="doi">10.1093/nar/gkt1063</pub-id>
</element-citation>
</ref>
<ref id="CR27">
<label>27.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shimoyama</surname>
<given-names>M</given-names>
</name>
<name>
<surname>De Pons</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Hayman</surname>
<given-names>GT</given-names>
</name>
<name>
<surname>Laulederkind</surname>
<given-names>SJF</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Nigam</surname>
<given-names>R</given-names>
</name>
<etal></etal>
</person-group>
<article-title>The Rat Genome Database 2015: genomic, phenotypic and environmental variations and disease</article-title>
<source>Nucleic Acids Res.</source>
<year>2014</year>
<volume>43</volume>
<fpage>D743</fpage>
<lpage>50</lpage>
<pub-id pub-id-type="doi">10.1093/nar/gku1026</pub-id>
</element-citation>
</ref>
<ref id="CR28">
<label>28.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hammond</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Kaplarevic</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Borth</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Betenbaugh</surname>
<given-names>MJ</given-names>
</name>
<name>
<surname>Lee</surname>
<given-names>KH</given-names>
</name>
</person-group>
<article-title>Chinese hamster genome database: an online resource for the CHO community at www.CHOgenome.org</article-title>
<source>Biotechnol Bioeng</source>
<year>2012</year>
<volume>109</volume>
<fpage>1353</fpage>
<lpage>6</lpage>
<pub-id pub-id-type="doi">10.1002/bit.24374</pub-id>
</element-citation>
</ref>
<ref id="CR29">
<label>29.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Poelchau</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Childers</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Moore</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Tsavatapalli</surname>
<given-names>V</given-names>
</name>
<name>
<surname>Evans</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Lee</surname>
<given-names>C-Y</given-names>
</name>
<etal></etal>
</person-group>
<article-title>The i5k Workspace@NAL--enabling genomic data access, visualization and curation of arthropod genomes</article-title>
<source>Nucleic Acids Res</source>
<year>2015</year>
<volume>43</volume>
<issue>Database issue</issue>
<fpage>D714</fpage>
<lpage>9</lpage>
<pub-id pub-id-type="doi">10.1093/nar/gku983</pub-id>
</element-citation>
</ref>
<ref id="CR30">
<label>30.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Forbes</surname>
<given-names>SA</given-names>
</name>
<name>
<surname>Beare</surname>
<given-names>D</given-names>
</name>
<name>
<surname>Gunasekaran</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Leung</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Bindal</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Boutselakis</surname>
<given-names>H</given-names>
</name>
<etal></etal>
</person-group>
<article-title>COSMIC: exploring the world’s knowledge of somatic mutations in human cancer</article-title>
<source>Nucleic Acids Res</source>
<year>2015</year>
<volume>43</volume>
<issue>Database issue</issue>
<fpage>D805</fpage>
<lpage>11</lpage>
<pub-id pub-id-type="doi">10.1093/nar/gku1075</pub-id>
</element-citation>
</ref>
<ref id="CR31">
<label>31.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>L-S</given-names>
</name>
<name>
<surname>Li-San</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Li-San</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Otto</surname>
<given-names>V</given-names>
</name>
<name>
<surname>Childress</surname>
<given-names>DM</given-names>
</name>
<name>
<surname>Amanda</surname>
<given-names>P</given-names>
</name>
<etal></etal>
</person-group>
<article-title>NIA Genetics of Alzheimer’s Disease Data Storage Site (NIAGADS): 2014 update</article-title>
<source>Alzheimers Dement.</source>
<year>2014</year>
<volume>10</volume>
<fpage>P634</fpage>
<lpage>5</lpage>
<pub-id pub-id-type="doi">10.1016/j.jalz.2014.05.1107</pub-id>
</element-citation>
</ref>
<ref id="CR32">
<label>32.</label>
<mixed-citation publication-type="other">Foley BT, Leitner TK, Cristian A, Beatrice H, Ilene M, James M, Andrew R, Steven W, Korber BTM. HIV Sequence Compendium 2015. 2015.
<ext-link ext-link-type="uri" xlink:href="http://www.hiv.lanl.gov/content/sequence/HIV/COMPENDIUM/2015/sequence2015.pdf">http://www.hiv.lanl.gov/content/sequence/HIV/COMPENDIUM/2015/sequence2015.pdf</ext-link>
. Accessed 28 Mar 2016.</mixed-citation>
</ref>
<ref id="CR33">
<label>33.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wattam</surname>
<given-names>AR</given-names>
</name>
<name>
<surname>Abraham</surname>
<given-names>D</given-names>
</name>
<name>
<surname>Dalay</surname>
<given-names>O</given-names>
</name>
<name>
<surname>Disz</surname>
<given-names>TL</given-names>
</name>
<name>
<surname>Driscoll</surname>
<given-names>T</given-names>
</name>
<name>
<surname>Gabbard</surname>
<given-names>JL</given-names>
</name>
<etal></etal>
</person-group>
<article-title>PATRIC, the bacterial bioinformatics database and analysis resource</article-title>
<source>Nucleic Acids Res</source>
<year>2014</year>
<volume>42</volume>
<issue>Database issue</issue>
<fpage>D581</fpage>
<lpage>91</lpage>
<pub-id pub-id-type="doi">10.1093/nar/gkt1099</pub-id>
</element-citation>
</ref>
<ref id="CR34">
<label>34.</label>
<mixed-citation publication-type="other">PaVE: Papilloma virus genome database.
<ext-link ext-link-type="uri" xlink:href="http://pave.niaid.nih.gov/">http://pave.niaid.nih.gov/</ext-link>
. Accessed 28 Mar 2016.</mixed-citation>
</ref>
<ref id="CR35">
<label>35.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mungall</surname>
<given-names>CJ</given-names>
</name>
<name>
<surname>Emmert</surname>
<given-names>DB</given-names>
</name>
<collab>FlyBase Consortium</collab>
</person-group>
<article-title>A Chado case study: an ontology-based modular schema for representing genome-associated biological information</article-title>
<source>Bioinformatics.</source>
<year>2007</year>
<volume>23</volume>
<fpage>i337</fpage>
<lpage>46</lpage>
<pub-id pub-id-type="doi">10.1093/bioinformatics/btm189</pub-id>
</element-citation>
</ref>
<ref id="CR36">
<label>36.</label>
<mixed-citation publication-type="other">GMOD: JBrowse Configuration Guide.
<ext-link ext-link-type="uri" xlink:href="http://gmod.org/wiki/JBrowse_Configuration_Guide">http://gmod.org/wiki/JBrowse_Configuration_Guide</ext-link>
. Accessed 28 Mar 2016.</mixed-citation>
</ref>
<ref id="CR37">
<label>37.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<collab>modENCODE Consortium</collab>
<name>
<surname>Roy</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Ernst</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Kharchenko</surname>
<given-names>PV</given-names>
</name>
<name>
<surname>Kheradpour</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Negre</surname>
<given-names>N</given-names>
</name>
<etal></etal>
</person-group>
<article-title>Identification of functional elements and regulatory circuits by Drosophila modENCODE</article-title>
<source>Science</source>
<year>2010</year>
<volume>330</volume>
<fpage>1787</fpage>
<lpage>97</lpage>
<pub-id pub-id-type="doi">10.1126/science.1198374</pub-id>
</element-citation>
</ref>
<ref id="CR38">
<label>38.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gerstein</surname>
<given-names>MB</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>ZJ</given-names>
</name>
<name>
<surname>Van Nostrand</surname>
<given-names>EL</given-names>
</name>
<name>
<surname>Cheng</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Arshinoff</surname>
<given-names>BI</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>T</given-names>
</name>
<etal></etal>
</person-group>
<article-title>Integrative analysis of the Caenorhabditis elegans genome by the modENCODE project</article-title>
<source>Science.</source>
<year>2010</year>
<volume>330</volume>
<fpage>1775</fpage>
<lpage>87</lpage>
<pub-id pub-id-type="doi">10.1126/science.1196914</pub-id>
</element-citation>
</ref>
<ref id="CR39">
<label>39.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<collab>The ENCODE Project Consortium</collab>
</person-group>
<article-title>A user’s guide to the Encyclopedia of DNA Elements (ENCODE)</article-title>
<source>PLoS Biol</source>
<year>2011</year>
<volume>9</volume>
<fpage>e1001046</fpage>
<pub-id pub-id-type="doi">10.1371/journal.pbio.1001046</pub-id>
</element-citation>
</ref>
<ref id="CR40">
<label>40.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Handsaker</surname>
<given-names>B</given-names>
</name>
<name>
<surname>Wysoker</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Fennell</surname>
<given-names>T</given-names>
</name>
<name>
<surname>Ruan</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Homer</surname>
<given-names>N</given-names>
</name>
<etal></etal>
</person-group>
<article-title>The Sequence Alignment/Map format and SAMtools</article-title>
<source>Bioinformatics.</source>
<year>2009</year>
<volume>25</volume>
<fpage>2078</fpage>
<lpage>9</lpage>
<pub-id pub-id-type="doi">10.1093/bioinformatics/btp352</pub-id>
</element-citation>
</ref>
<ref id="CR41">
<label>41.</label>
<mixed-citation publication-type="other">Williams G. JavaScript: models, views, and controllers. In: Williams G, editor. Learn HTML5 and JavaScript for Android. 2012. p. 219–316.</mixed-citation>
</ref>
<ref id="CR42">
<label>42.</label>
<mixed-citation publication-type="other">Dojo Toolkit Reference Guide.
<ext-link ext-link-type="uri" xlink:href="https://dojotoolkit.org/reference-guide/1.10/">https://dojotoolkit.org/reference-guide/1.10/</ext-link>
. Accessed 28 Mar 2016.</mixed-citation>
</ref>
</ref-list>
</back>
</pmc>
</record>

Pour manipuler ce document sous Unix (Dilib)

EXPLOR_STEP=$WICRI_ROOT/Ticri/CIDE/explor/CyberinfraV1/Data/Pmc/Corpus
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 000181  | SxmlIndent | more

Ou

HfdSelect -h $EXPLOR_AREA/Data/Pmc/Corpus/biblio.hfd -nk 000181  | SxmlIndent | more

Pour mettre un lien sur cette page dans le réseau Wicri

{{Explor lien
   |wiki=    Ticri/CIDE
   |area=    CyberinfraV1
   |flux=    Pmc
   |étape=   Corpus
   |type=    RBID
   |clé=     
   |texte=   
}}

Wicri

This area was generated with Dilib version V0.6.25.
Data generation: Thu Oct 27 09:30:58 2016. Site generation: Sun Mar 10 23:08:40 2024