Graphery: Interactive Tutorials for Biological Network Algorithms
Heyuan Zeng, Jinbiao Zhang, Gabriel A. Preising, Tobias Rubel, Pramesh Singh, Anna Ritz
GG RAPHERY : interactive tutorials for biological network algorithms
Heyuan Zeng *1 , Jinbiao Zhang , Gabriel A. Preising , Tobias Rubel , Pramesh Singh , and AnnaRitz †11 Department of Biology, Reed College, Portland, OR, USA Information and Communication Technology Department, Xiamen University Malaysia, SelangorDarul Ehsan, Malaysia
Abstract
Networks provide a meaningful way to represent and analyze complex biological information, but the methodolog-ical details of network-based tools are often described for a technical audience. G
RAPHERY is a hands-on tutorialwebserver designed to help biological researchers understand the fundamental concepts behind commonly-used graphalgorithms. Each tutorial describes a graph concept along with executable Python code that visualizes the conceptin a code view and a graph view. G
RAPHERY tutorials help researchers understand graph statistics (such as degreedistribution and network modularity) and classic graph algorithms (such as shortest paths and random walks). Usersnavigate each tutorial using their choice of real-world biological networks, ranging in scale from molecular interactiongraphs to ecological networks. G
RAPHERY also allows users to modify the code within each tutorial or write newprograms, which all can be executed without requiring an account. Discipline-focused tutorials will be essential tohelp researchers interpret their biological data. G
RAPHERY accepts ideas for new tutorials and datasets that will beshaped by both computational and biological researchers, growing into a community-contributed learning platform.
Keywords: networks; graph algorithms; tutorial
Availability: G RAPHERY is available at https://graphery.reedcompbio.org/.
Computational biology algorithms have long used networks, or graphs , to model complex relationships that range inscale from molecular interactions to population and community dynamics. The popularity of graphs for bioinformaticsand computational biology is marked by a wealth of review articles dedicated to the topic. For example, graphs havebeen extensively used to model molecular interactions such as protein interactions, metabolic signaling, and generegulatory relationships [1–5]. Networks have also emerged as a critical means to study the molecular systems biologyof complex diseases, including identifying disease genes and pathways and predicting potential drug targets [6–8]. Inneuroscience, connectomes describe the relationship among neurons in the brain, and have served as a rich avenuefor modeling the brain’s wiring diagram [9, 10]. Graphs have also been used extensively to model social dynamics inanimals [11–13] and energy flux in populations (e.g., food webs) [14, 15].As graphs have become a common way to model biological systems, we have also seen an explosion in networkdata that has been constructed from experiments or by carefully curating existing literature. Graph databases andrepositories have been developed to store, query, and visualize biological networks [11, 16–22], and biological networkvisualization is a subfield in its own right [23–25]. Web-based network visualization has enabled a lightweight andinteractive means for users to explore graphs without downloading a stand-alone application [26–28]. Many graphalgorithms that were designed for biological networks offer their own web-based tools, for example GeneMANIA [29]and SteinerNet [30], or have plugins for existing platforms such as Cytoscape [31].This is all to say that graphs are ubiquitous in computational and systems biology. Recent growth in biologicalnetwork data has inspired novel graph algorithms that, for example, uncover important members or identify higher-orderorganizations of networks. Many of these methods are extensions of classic and well-studied graph algorithms, such * [email protected] † [email protected] a r X i v : . [ q - b i o . M N ] F e b utorialsCodeGraphs ......... GraphDescription ...
Fig 1.
Overview of G
RAPHERY . (Top) Tutorials are Markdown-style documents, which may contain hyperlinks,figures, and references. Each tutorial has an associated piece of Python code, which the user can run using astep-through, debugger-style interface. (Bottom) Real-world networks are visualized using Cytoscape.js, and containinformation about that graph (typically some details about the type of graph and relevant references). Graphdescriptions are also Markdown-style documents. Tutorial authors determine which graphs are appropriate for thePython code; typically, all graphs in the database are linked to each tutorial, represented by the multi-way connectionsin the middle of the figure.as clustering and community detection, random walks and belief propagation, and finding paths and trees. With thewealth of online datasets, web-based tools, and network graph visualization platforms, researchers can run these graphalgorithms on their own data. However, when it comes to interpreting the outputs of these algorithms, biologicalresearchers often face a major obstacle.
How can you interpret the outputs of an algorithm if you do not know how thealgorithm works?
Within bioinformatics and computational biology, there has been growing recognition that it is important forbiological researchers to understand the concepts that underpin current computational methodologies [32–35]. Whilethe review articles listed earlier offer a broad view of an application or methodology, they tend to cite original workthat may be dense for a non-computational audience. Primers and workshops have been developed to give biologists adeeper understanding of mathematical concepts, including machine learning [36, 37], Bayesian network modeling [38],and deep learning [39]. There are also a few network-based primers [40, 41] and textbook chapters [42–44] that arededicated to giving biologists more insight into graph statistics and algorithms. While these are rich with examples andprinciples of graph algorithms, they do not tend to be interactive or designed for researchers who want a high-levelunderstanding of graphs.We present G
RAPHERY , a web-based platform that offers graph tutorials, example code, and interactive graphs, all inone place. G
RAPHERY is aimed at helping biological researchers understand the core concepts that many state-of-the-artgraph algorithms build upon. G
RAPHERY tutorials are presented alongside real world biological networks, allowingusers to work with networks that may be relevant to their field. The webserver also offers community-contributedsuggestions for tutorials and small biological networks. Further, our tutorials and networks are written in English,Chinese, and Spanish, with a goal to add more languages that reach a broader audience of network biology researchers.2he central idea behind G
RAPHERY is that users can read any tutorial and run the associated Python code on anyreal-world biological network (Figure 1). Tutorials are written in Markdown and have accompanying Python code,which is usually explained line-by-line within the tutorial. Real-world biological networks are uploaded in a standardJSON format, and Markdown-style graph abstracts summarize the networks and the data sources. Users can read anytutorial and interact with any graph independently (e.g. using the graph-only “playground” feature). However, thepower of G
RAPHERY is in the user’s ability to select a specific graph to use when working through the tutorials. ThePython code has a step-through debugger-style interface, which can run on any of the graphs available for the tutorial.Further, this code can be modified by the user and re-run in the cloud for users who wish to understand how codechanges affect the final output.The rest of this paper is organized as follows. We first describe G
RAPHERY tutorials and graphs in more detail,as a typical user may experience them (Section 2). We then illustrate how G
RAPHERY supports other user roles thatcontribute to tutorial and graph content (Section 3), and provide some details about G
RAPHERY ’s implementation(Section 4). We end with our planned work for G
RAPHERY and ways for the community to support this webserver(Section 5).
The majority of G
RAPHERY users are visitors who navigate the tutorials. Visitors can interact with graphs, read throughthe tutorials, run code, and even edit the code without logging in.
Tutorials are the heart of G
RAPHERY , as they are the view where all features come together (Figure 2). There are threeparts to the tutorial view: the tutorial content , the graph visualization , and the code editor . A BD E C
Fig 2.
Tutorial view. This page includes (A) a dropdown to visualize different graphs, (B) an interactive graphvisualization, (C) tutorial content (which can be switched to Spanish or Chinese translations), (D) a debugger-styleeditor, and (E) a list of traced variables.
The right-hand pane of the tutorial view contains the tutorial’s content, including text, images, and hyperlinks (Figure 2C).Tutorials are ordered in increasing complexity, beginning with tutorials that orient users, moving on to simple definitions3nd characteristics of graphs, and then delving into the main concepts behind graph algorithms (Table 1). Weintentionally made these tutorials short and brief, with the goal that they build upon each other. In some cases, latertutorials use code that is described in earlier tutorials. G
RAPHERY tutorials adopt a course-style numbering system,allowing tutorials to be ordered by complexity (e.g., , , ) and logical relevance (e.g., , ). Toincrease our user base, we provide translations of the tutorial content (along with G RAPHERY headings and buttons) inSpanish and Chinese (inset of Figure 2C).G
RAPHERY currently supports undirected, unweighted graphs. Tutorials cover a number of fundamental conceptsabout undirected graphs, including:•
Graph definitions such as nodes, edges, node degree, walks, paths, and trees.•
Graph statistics and properties such as the number nodes and edges, degree distribution, network modularity,and acyclicity.•
Simple graph algorithms such as shortest paths and random walks.These tutorials serve as a foundation for describing more complicated concepts, such as label propagation (e.g. used inGeneMania [29]), Steiner trees (e.g. used in SteinerNet [30]), and k -shortest paths (e.g., used in PathLinker [45]). Weare actively developing new G RAPHERY tutorials, and we welcome suggestions and contributions. G RAPHERY offers an interactive graph visualization panel (Figure 2B) that is built upon Cytoscape.js [26]. Visitors canmanually rearrange nodes in the graph and use the pan and zoom features. The drop-down in Figure 2A allows a visitorto select among a list of available biological networks for this tutorial; the networks themselves are described in moredetail in Section 2.2.
Number Name Description EN-US ES ZH-CN (cid:88) (cid:88) (cid:88) (cid:88) (cid:88) (cid:88) (cid:88) (cid:88) (cid:88) (cid:88) (cid:88) (cid:88) the network’s global structure102-2 Degree Distribution 2 Calculating the degree distribution, faster (cid:88) (cid:88) (cid:88) (cid:88) (cid:88) nodes in a network103-2 Shortest Paths 2 Calculating the average shortest path length for (cid:88) (cid:88) all pairs of nodes in the graph104-1 Trees & Acyclic Graphs Introduction to trees and how to determine (cid:88) whether a graph is acyclic104-1 Random Walks Introduction to random walks (cid:88) (cid:88) network modularity201-2 Modularity 2 Greedy algorithm for community detection (cid:88) by maximizing modularity
Table 1.
Tutorials available in G
RAPHERY . Visitors can click through the tutorial’s Python code in the editor, which employs a debugger-style format. Importantly,the code contains “traced” variables, which appear in a variable list (Figure 2E) and are also highlighted in the graphitself. Figure 3 shows the result after running the code in the
Get Started tutorial, which selects a random node and arandom edge in the graph. We are planning to expand the graph visualization and code API to support other types of graphs; see Section 5.
RAPHERY visitors with different programming experience levels can learn from each tutorial.
Fig 3.
Example of the code after execution (Panels D and E from Figure 2). The list of traced variables is nowpopulated and graph variables are highlighted in the interactive panel.
If tutorials are the heart of G
RAPHERY , biological networks are the cardiovascular system. The tutorials would not beuseful on their own without the ability for visitors to walk through the code using graphs. Further, these graphs arenot only examples, but come from real-world datasets and applications (Table 2). Each graph has a description of theunderlying dataset (see Figure 1 for examples). The graphs are internally prioritized, which determines which graphis loaded by default in the tutorial views. For example, most of the tutorials have the
Tutorial Network as the defaultgraph, which allows the tutorials to explain the effect of code on a specific graph. However, the drop-down allows users5o specify other graphs for the tutorial view (Figure 2A). G
RAPHERY also offers a “playground” feature where userscan open a biological network with a code editor and interact with the graph independent of any specific tutorial.Currently, the biological networks in G
RAPHERY are specific to research areas and/or course topics at Reed College.Signaling pathways such as Interleukin-9 have been used to assess pathway reconstruction algorithms (e.g. [45, 46]) andthe group has also used graph-based methods to identify candidate regulators of a non-muscle myosin in
Drosophila involved in cellular constriction (e.g. [47]). Further, food webs and other ecological networks are part of a
ComputationalSystems Biology class taught at Reed. Just like tutorials, we are continuing to expand the selection of biological networksto other domains and network topologies.
Name Network Type Refs
Badger Social Network social network/disease [48]Cancer Evolution Tree evolution/disease [49]Competition Graph ecology [50]Fog Signaling Pathway ( fly ) signaling pathway [47, 51]Food Web ecology [52]IL-9 Signaling Pathway ( human ) signaling pathway [53]Tutorial Network “base” network for tutorials
Table 2.
Biological networks available as G
RAPHERY graphs.
While visitors are the most common type of users, G
RAPHERY offers other roles that support the development andmaintenance of the webserver.
Authors are users who contribute new tutorials and/or graphs. Tutorial authors submitMarkdown-style tutorial content and Python code that links to the tutorial. Authors of graphs submit JSON-formattedgraphs and a Markdown-style description of the graph. Authors have control over which graphs are displayed for theirtutorial, tutorial/network graph categories, and whether their content is published (viewable by visitors).
Translators areusers who write translations of the existing tutorials, again in Markdown-style content. Translators have flexibility intheir translated content, for example by including references to additional or alternate sources that are more readilyaccessible in some countries. Both authors and translators receive attribution on the content they contribute, as seen bythe “author” tag in Figure 2.
Administrators have control over all content published on G
RAPHERY , including thosepublished by other authors and translators. These user roles require an account, which is maintained by an administrator.Authors, translators, and administrators add content to G
RAPHERY through a user-friendly control panel. Withinthe control panel, users develop tutorials by first creating an anchor, then adding Markdown content, and finally linkingPython code to the tutorial (Figure 4). Translators can add Markdown content to a tutorial once it exists in English.Users also contribute graphs through the control panel, first by uploading the graph itself as a JSON file and thenadding a description for the graph in Markdown. The control panel also indicates which tutorials and graphs have beenpublished, and are viewable by visitors (for example, there is one tutorial in Figure 4A that is not yet published). G RAPHERY ’s front end is primarily written in Javascript using Quasar, which is built upon Vue.js. The tutorial pageis powered by additional libraries such as Cytoscape.js [26] (https://js.cytoscape.org/) for network visualization, theMonaco Editor (https://microsoft.github.io/monaco-editor/) for code display, and Markdown It (https://github.com/markdown-it/markdown-it) for Markdown text display. The back end is written in Django and uses a PostgreSQL database for datastorage, following a GraphQL API specification. These libraries and others are listed on G
RAPHERY ’s About page.G
RAPHERY ’s code tracing features are based on a modified version of PySnooper (https://github.com/cool-RR/PySnooper). After each line in the Python editor is executed, a custom trace function receives the stack frame of thecurrent line. Our modified PySnooper records the changes made to traced variables and passes this information on tothe front end to highlight the appropriate nodes and edges in the graph. These changes are also displayed in the list oftraced variables (Figure 2E).Users may want to run their Python code locally instead of in the cloud. Running the code locally will give usersmore control over the execution process, for example working with local files and using external packages. To locally6
Tutorial AnchorsB Tutorial Editor C Uploads D CategoriesE Python Code
Fig 4.
Control panel for adding and modifying tutorial and graph content. Panels A–E show the components used fordeveloping a tutorial. (A) Each tutorial requires an anchor, which specifies its unique hyperlink, its ranking, andwhether it is published (viewable to visitors). (B) The editor for a single tutorial includes a Markdown editor with anautomatic preview. (C,D) Contributors can upload images and create new categories for the tutorial. (E) Finally, code islinked to the tutorial.start an execution server, there is a simple Python script that users can download from the G
RAPHERY
GitHub releasepage (https://github.com/FlickerSoul/Graphery/releases). G RAPHERY provides an interactive means to learn about concepts in graph algorithms that form the foundation ofmany state-of-the-art methods. The combination of tutorials, code, and real-world graphs encourages learning in a moreinteractive way than the tutorials alone. We believe that G
RAPHERY has the potential to become a mainstay learningtool for biological researchers at any career stage, from students to principal investigators.We have come across some limitations in implementing our first tutorials and graphs. First, G
RAPHERY visualizesundirected, unweighted graphs, which we acknowledge is only a small subset of the type of graphs used in biologicalapplications. We plan to extend G
RAPHERY to support directed graphs, weighted graphs, and multigraphs (all of whichCytoscape.js supports). Second, we have found that even classic graph algorithms require a fair amount of backgroundknowledge. While the tutorial content can describe this knowledge, the associated code must not incur an unreasonablenumber of steps for the code editor. For example, while graph clustering is intuitive to describe at a high level, thecode to cluster graphs (and trace the relevant variables) may end up taking hundreds of thousands of steps, even for thesmallest graphs. Our approach to this challenge is to ensure that the tutorials describe small, modular components ofalgorithms that can be combined for later tutorials. We also plan to implement additional useful step jumping tools tothe execution set to help navigate code with many steps. Finally, we believe that the real-world biological networks inG
RAPHERY are a fantastic way for biologists to better understand graph algorithms, but finding small and relevantgraphs that describe real biological datasets has been more difficult than we initially expected. Some of our networkshave been suggested by biological experts, which has proved to be a successful way to add graphs to G
RAPHERY .In addition to adding new graphs and tutorials, our team has plans for larger updates to help users better understandthe provided code. The current graph API was originally developed for G
RAPHERY tutorials, and users who wish tomodify or write code must have a fundamental understanding of object oriented programming and some knowledge ofthe underlying graph objects. While this information is described in the
Programming in Graphery tutorial, we planto swap our custom API with a graph package such as networkx [54]. This will help users already familiar with networkx to be able to modify code easily, and there will be a large amount of existing resources for programming7upport. While G
RAPHERY is not explicitly designed to teach users how to program in Python, this modification willhelp users understand the programs provided in the tutorials.Lastly, G
RAPHERY will become a better webserver with more involvement from the biological network community.In addition to suggesting new tutorials and graphs, future versions will provide citations for current papers that usethe concepts in each tutorial. We welcome anyone who wishes to contribute new content for the website; they will beacknowledged as an author on the networks and tutorials. We believe that G
RAPHERY has potential to reach a broadaudience through the translated pages, and we are actively seeking more translators to help us with this task (especiallyfor languages that are not yet in place). With these goals in mind, G
RAPHERY will help bridge the computational andbiological worlds of systems biology.
Acknowledgments
This work was supported by the National Science Foundation (BIO-ABI
References [1] Tero Aittokallio and Benno Schwikowski. Graph-based methods for analysing networks in cell biology.
Briefingsin bioinformatics , 7(3):243–255, 2006.[2] Lenore Cowen, Trey Ideker, Benjamin J Raphael, and Roded Sharan. Network propagation: a universal amplifierof genetic associations.
Nature Reviews Genetics , 18(9):551, 2017.[3] Wolfgang Huber, Vincent J Carey, Li Long, Seth Falcon, and Robert Gentleman. Graphs in molecular biology.
BMC bioinformatics , 8(6):1–14, 2007.[4] Patrick McGillivray, Declan Clarke, William Meyerson, Jing Zhang, Donghoon Lee, Mengting Gu, SushantKumar, Holly Zhou, and Mark Gerstein. Network analysis as a grand unifier in biomedical data science.
AnnualReview of Biomedical Data Science , 1:153–180, 2018.[5] Koyel Mitra, Anne-Ruxandra Carvunis, Sanath Kumar Ramesh, and Trey Ideker. Integrative approaches forfinding modular structure in biological networks.
Nature Reviews Genetics , 14(10):719–732, 2013.[6] Trey Ideker and Ruth Nussinov. Network approaches and applications in biology, 2017.[7] Dong-Yeon Cho, Yoo-Ah Kim, and Teresa M Przytycka. Network biology approach to complex diseases.
PLoSComput Biol , 8(12):e1002820, 2012.[8] Pau Creixell, Jüri Reimand, Syed Haider, Guanming Wu, Tatsuhiro Shibata, Miguel Vazquez, Ville Mustonen,Abel Gonzalez-Perez, John Pearson, Chris Sander, et al. Pathway and network analysis of cancer genomes.
Naturemethods , 12(7):615, 2015.[9] Danielle S Bassett and Olaf Sporns. Network neuroscience.
Nature neuroscience , 20(3):353–364, 2017.[10] Danielle S Bassett, Perry Zurn, and Joshua I Gold. On the nature and use of models in network neuroscience.
Nature Reviews Neuroscience , 19(9):566–578, 2018.[11] Pratha Sah, José David Méndez, and Shweta Bansal. A multi-species repository of social networks.
Scientificdata , 6(1):1–6, 2019.[12] Pratha Sah, Stephan T Leu, Paul C Cross, Peter J Hudson, and Shweta Bansal. Unraveling the disease consequencesand mechanisms of modular structure in animal social networks.
Proceedings of the National Academy of Sciences ,114(16):4165–4170, 2017.[13] Ivan Brugere, Brian Gallagher, and Tanya Y Berger-Wolf. Network structure inference, a survey: Motivations,methods, and applications.
ACM Computing Surveys (CSUR) , 51(2):1–39, 2018.[14] Michelle Girvan and Mark EJ Newman. Community structure in social and biological networks.
Proceedings ofthe national academy of sciences , 99(12):7821–7826, 2002.815] Jennifer A Dunne, Richard J Williams, and Neo D Martinez. Food-web structure and network theory: the role ofconnectance and size.
Proceedings of the National Academy of Sciences , 99(20):12917–12922, 2002.[16] Christian Theil Have and Lars Juhl Jensen. Are graph databases ready for bioinformatics?
Bioinformatics ,29(24):3107, 2013.[17] Adam Struck, Brian Walsh, Alexander Buchanan, Jordan A Lee, Ryan Spangler, Joshua M Stuart, and Kyle Ellrott.Exploring integrative analysis using the biomedical evidence graph.
JCO Clinical Cancer Informatics , 4:147–159,2020.[18] Antonio Fabregat, Florian Korninger, Guilherme Viteri, Konstantinos Sidiropoulos, Pablo Marin-Garcia, PeipeiPing, Guanming Wu, Lincoln Stein, Peter D?Eustachio, and Henning Hermjakob. Reactome graph database:Efficient access to complex pathway data.
PLoS computational biology , 14(1):e1005968, 2018.[19] Denise N Slenter, Martina Kutmon, Kristina Hanspers, Anders Riutta, Jacob Windsor, Nuno Nunes, JonathanMélius, Elisa Cirillo, Susan L Coort, Daniela Digles, et al. Wikipathways: a multifaceted pathway databasebridging metabolomics to other omics research.
Nucleic acids research , 46(D1):D661–D667, 2018.[20] Dexter Pratt, Jing Chen, David Welker, Ricardo Rivas, Rudolf Pillich, Vladimir Rynkov, Keiichiro Ono, CarolMiello, Lyndon Hicks, Sandor Szalma, et al. Ndex, the network data exchange.
Cell systems , 1(4):302–305, 2015.[21] Christian von Mering, Martijn Huynen, Daniel Jaeggi, Steffen Schmidt, Peer Bork, and Berend Snel. String: adatabase of predicted functional associations between proteins.
Nucleic acids research , 31(1):258–261, 2003.[22] Diego Alonso-Lopez, Miguel A Gutiérrez, Katia P Lopes, Carlos Prieto, Rodrigo Santamaría, and Javier De Las Ri-vas. Apid interactomes: providing proteome-based interactomes with controlled quality for multiple species andderived networks.
Nucleic acids research , 44(W1):W529–W535, 2016.[23] Nils Gehlenborg, Seán I O’donoghue, Nitin S Baliga, Alexander Goesmann, Matthew A Hibbs, Hiroaki Kitano,Oliver Kohlbacher, Heiko Neuweger, Reinhard Schneider, Dan Tenenbaum, et al. Visualization of omics data forsystems biology.
Nature methods , 7(3):S56–S68, 2010.[24] Zhenjun Hu, Joe Mellor, Jie Wu, Minoru Kanehisa, Joshua M Stuart, and Charles DeLisi. Towards zoomablemultidimensional maps of the cell.
Nature biotechnology , 25(5):547–554, 2007.[25] Mingrui Xia, Jinhui Wang, and Yong He. Brainnet viewer: a network visualization tool for human brainconnectomics.
PloS one , 8(7):e68910, 2013.[26] Max Franz, Christian T Lopes, Gerardo Huck, Yue Dong, Onur Sumer, and Gary D Bader. Cytoscape. js: a graphtheory library for visualisation and analysis.
Bioinformatics , 32(2):309–311, 2016.[27] Christian T Lopes, Max Franz, Farzana Kazi, Sylva L Donaldson, Quaid Morris, and Gary D Bader. Cytoscapeweb: an interactive web-based network browser.
Bioinformatics , 26(18):2347–2348, 2010.[28] Aditya Bharadwaj, Divit P Singh, Anna Ritz, Allison N Tegge, Christopher L Poirel, Pavel Kraikivski, NeilAdames, Kurt Luther, Shiv D Kale, Jean Peccoud, et al. Graphspace: stimulating interdisciplinary collaborationsin network biology.
Bioinformatics , 33(19):3134–3136, 2017.[29] Max Franz, Harold Rodriguez, Christian Lopes, Khalid Zuberi, Jason Montojo, Gary D Bader, and Quaid Morris.Genemania update 2018.
Nucleic acids research , 46(W1):W60–W64, 2018.[30] Nurcan Tuncbag, Scott McCallum, Shao-shan Carol Huang, and Ernest Fraenkel. Steinernet: a web serverfor integrating ‘omic’ data to discover hidden components of response pathways.
Nucleic acids research ,40(W1):W505–W509, 2012.[31] Samad Lotia, Jason Montojo, Yue Dong, Gary D Bader, and Alexander R Pico. Cytoscape app store.
Bioinformat-ics , 29(10):1350–1351, 2013.[32] Maureen A Carey and Jason A Papin. Ten simple rules for biologists learning to program, 2018.[33] Fran Lewitter. Welcome to plos computational biology “education”.
PLoS Comput Biol , 2(1):e7, 2006.934] Uri Wilensky, Corey E Brady, and Michael S Horn. Fostering computational literacy in science classrooms.
Communications of the ACM , 57(8):24–28, 2014.[35] Nicola Mulder, Russell Schwartz, Michelle D Brazas, Cath Brooksbank, Bruno Gaeta, Sarah L Morgan, Mark APauley, Anne Rosenwald, Gabriella Rustici, Michael Sierk, et al. The development and application of bioin-formatics core competencies to improve bioinformatics training and education.
PLoS computational biology ,14(2):e1005772, 2018.[36] F. Mu, C. Magnano, D. Treu, , and A. Gitter. The ml4bio workshop: Machine learning literacy for biologists.
GLBIO2019 Special Session on Bioinformatics Education , 2019.[37] Davide Chicco. Ten quick tips for machine learning in computational biology.
BioData mining , 10(1):1–17, 2017.[38] Chris J Needham, James R Bradford, Andrew J Bulpitt, and David R Westhead. A primer on learning in bayesiannetworks for computational biology.
PLoS Comput Biol , 3(8):e129, 2007.[39] Sarah Webb. Deep learning for biology.
Nature , 554(7693), 2018.[40] Xiaoxi Dong, Anatoly Yambartsev, Stephen A Ramsey, Lina D Thomas, Natalia Shulzhenko, and Andrey Morgun.Reverse engeneering of regulatory networks from big data: a roadmap for biologists.
Bioinformatics and biologyinsights , 9:BBI–S12467, 2015.[41] Daniel Hurley, Hiromitsu Araki, Yoshinori Tamada, Ben Dunmore, Deborah Sanders, Sally Humphreys, MunaAffara, Seiya Imoto, Kaori Yasuda, Yuki Tomiyasu, et al. Gene network inference and visualization tools forbiologists: application to new human transcriptome datasets.
Nucleic acids research , 40(6):2377–2398, 2012.[42] Pavel Pevzner and Ron Shamir.
Bioinformatics for biologists . Cambridge University Press, 2011.[43] Edda Klipp, Wolfram Liebermeister, Christoph Wierling, and Axel Kowald.
Systems biology: a textbook . JohnWiley & Sons, 2016.[44] Björn H Junker and Falk Schreiber.
Analysis of biological networks , volume 2. John Wiley & Sons, 2011.[45] Anna Ritz, Christopher L Poirel, Allison N Tegge, Nicholas Sharp, Kelsey Simmons, Allison Powell, Shiv D Kale,and TM Murali. Pathways on demand: automated reconstruction of human signaling networks.
NPJ systemsbiology and applications , 2(1):1–9, 2016.[46] Tobias Rubel and Anna Ritz. Augmenting signaling pathway reconstructions. In
Proceedings of the 11th ACMInternational Conference on Bioinformatics, Computational Biology and Health Informatics , pages 1–10, 2020.[47] Kimberly A Peters, Elizabeth Detmar, Liz Sepulveda, Corrina Del Valle, Ruth Valsquier, Anna Ritz, Stephen LRogers, and Derek A Applewhite. A cell-based assay to investigate non-muscle myosin ii contractility viathe folded-gastrulation signaling pathway in drosophila s2r+ cells.
JoVE (Journal of Visualized Experiments) ,(138):e58325, 2018.[48] Nicola Weber, Stephen P Carter, Sasha RX Dall, Richard J Delahay, Jennifer L McDonald, Stuart Bearhop,and Robbie A McDonald. Badger social networks correlate with tuberculosis infection.
Current Biology ,23(20):R915–R916, 2013.[49] Ha X Dang, Bradley A Krasnick, Brian S White, Julie G Grossman, Matthew S Strand, Jin Zhang, Christopher RCabanski, Christopher A Miller, Robert S Fulton, S Peter Goedegebuure, et al. The clonal evolution of metastaticcolorectal cancer.
Science Advances , 6(24):eaay9691, 2020.[50] Pratik Koirala et al. Food webs, competition graphs, and a 60-year old unsolved problem. In
Teaching andLearning Discrete Mathematics Worldwide: Curriculum and Research , pages 165–181. Springer, 2018.[51] Alyssa J Manning and Stephen L Rogers. The fog signaling pathway: insights into signaling in morphogenesis.
Developmental biology , 394(1):6–14, 2014.[52] Dafeng Hui. Food web: concept and applications.
Nature Education Knowledge , 3(12):6, 2012.1053] Kumaran Kandasamy, S Sujatha Mohan, Rajesh Raju, Shivakumar Keerthikumar, Ghantasala S Sameer Kumar,Abhilash K Venugopal, Deepthi Telikicherla, J Daniel Navarro, Suresh Mathivanan, Christian Pecquet, et al.Netpath: a public resource of curated signal transduction pathways.