Google Summer of Code 2015 Idea Page

Welcome to GSoC 2015 in computational systems biology! We have been accepted as an organization, and we are excited to host students this summer to work with us on our projects!

Before applying, please review this application template, as well as the GSoC Student Guide.

Our group works at the interface of computer science, biology, and mathematics by applying computational approaches to the seas of data in biomedical research. One of the main interests of our group is the development of technologies to make large-scale computational approaches accessible and more collaborative to a wider scientific audience. Our recent web-based technology, the Cell Collective, enables scientists from across the globe to construct and simulate large-scale computational models of biological systems in a highly collaborative fashion. This software enables biomedical researchers to study the dynamics of biological systems (e.g., cells) under both healthy and diseased conditions. The Cell Collective provides a unique environment for real-time, interactive simulations to enable users to analyze and visualize the multitude of effects a disease-related mal-function can have on the rest of the cell.

Our group consists of computer scientists, biochemists, biologists, bioinformaticians, as well as mathematicians, creating an unique environment of diverse skills, integrated by a single interest point.

Please contact Dr. Helikar with any questions.

Below you can find our project ideas for GSoC 2015.

Idea 0: Your own idea!

Feel free to suggest your own idea. Our interests are within the general space of easy-to-use, interactive, data visualization in large-scale networks. Please be detailed about the specifics of your project, why it is important, and how you plan to achieve it.

Idea 1: Javascript component for interactive time-series data visualization.

Our real-time simulations enable users to interactively visualize and analyze the dynamics of their network models. This interactive visualization component is based on the open-source javascript-based Flot charts (www.flotcharts.org), and transformed into a javascript component.

Real-time simulations in the Cell Collective

We are looking to expand this feature as a stand-alone javascript component while exposing additional features of the Flot library such that they can be called within a React (or AngluarJS) page. These include:

Zooming, Interaction with data points, Chart annotations, Chart styling options, and Data thresholds

Required skills: Javascript, CSS3, HTML5

Potential Mentors: Bryan Kowal

Idea 2: Javascript component for interactive visualization of large-scale network graphs.

As a group interested in understanding of the dynamics of complex networks via collaborative efforts, we have developed a new web-based, large-scale network visualization component. One of the main obstacles associated with this project is the ability to visualize networks on the web that are very large (tens of thousands of nodes and edges) and provide interactive features (moving/adding/removing nodes, zooming/panning, etc), while making it usable from a performance perspective in most modern web-browsers.

This project will center around the development of additional optimization techniques to enable interactive visualization of very large networks, as well as new interactive graph features, including node/edge selection/addition/removal and node/edge styling.

Required skills: WebGL, Javascript, CSS3, HTML5

Potential Mentors: David Tichy, Dr. Tomas Helikar

Idea 3: Interactive, real-time dynamics visualization of complex network graphs.

As a group interested in understanding of the dynamics of complex networks via collaborative efforts, we have developed a new web-based, large-scale network visualization component.

The next step and the objective of this Idea Project is to put these massive network graphs (see an example below) into motion by expanding our visualization component and allowing for animation of the dynamics (based on generated time-series data) of each node in the graph. As illustrated in the figure below, the network view of the changing dynamics during a real-time simulation enables the color of each node to range from bright red (inactive components) to bright green (full activity).

Required skills: WebGL, Javascript, CSS3, HTML5

Potential Mentors: David Tichy, Dr. Tomas Helikar

Idea 4: Interactive data visualization: From R to Interactive Web.

Simulations of large biological networks generate massive amounts of information that require data analysis and visualization. R is a powerful tool for both analysis and visualization. However, the visual views of the data produced by R and via the web are limited to static images.

The goal of this project is to develop a javascript component that enables interactive interaction with R-based graphs in a web-application. (Similar to the interaction with some D3.js and InfoVis data visualization components.) The focus will be on dot, line, and bar graphs. Users will be able to directly interact with and see additional information about the individual parts of the graphs and visualized data.

Required skills: Javascript, CSS3, HTML5, R (preferred)

Potential Mentors: Dr. Akram Mohammed

Idea 5: From computational biological models to logical circuits.

The future of biomedical research is headed in the direction where cross-pollination among different disciplines is a necessity. Biology has become an information science and is beginning to rely on other fields including mathematics, computer science, engineering, etc. As biology figures out how to best plow through the mass of data, the other disciplines will be able to borrow new concepts from biology.

Boolean-based models have become a powerful tool for computational biology. However, these models of biological system share their roots -- Boolean logic -- with computer engineering and circuit design.

The goal of this project is to expose this connection and provide a tool that speaks the languages of both fields. Specifically, we are looking to build a javascript component that visualizes biological networks that is also capable to be transformed into a logic gate-based system. As an example, the image below illustrates a biological network graph view of a logical model (on the left) and its gated circuit representation (on the right). The expected output of this project is a JSF component that can visualize a given logical model as both, a network/graph and its gated circuit complement.

Required skills: Javascript, CSS3, HTML5

Potential Mentors: Dr. Tomas Helikar, Dr. Jim Rogers

Idea 6: Interactive Boolean network analysis platform.

Boolean networks have become a popular mathematical framework to study the dynamics of biological and biochemical systems. The framework was developed by Stuart Kauffman in 1969 and Rene Thomas in 1973. They as well as many other researchers have developed many analytical methods to analyze the dynamics of biological processes (such as gene regulation) described as Boolean networks. Unfortunately these powerful methods and tools implementing them are limited to those trained in computer science or mathematics.

The goal of this project is to transform the way analysis of Boolean networks is done by bringing it to the web and in a easy-to-use, data-driven, and graphical manner so that anyone, including biomedical researchers not trained in mathematics/CS, can utilize these powerful tools. Specifically, we are looking to build a javascript/Java component that implements algorithms for and visualizes the results of the following analytical tools:

State Transition Graphs, Attractor/Steady state analysis, Boolean Function Analysis (e.g., degree of canalization, sensitivity), Connectivity Matrix, Graph/network properties (e.g., connectivity, path length)

Required skills: Javascript, Java, CSS3, HTML5

Potential Mentors: Dr. Tomas Helikar, Dr. Jim Rogers

Idea 7: Interactive Platform for Statistical Computing.

Most statistical technologies require users to be familiar with the command line and/or some type of a higher level programming language, making statistics less accessible to those who are not familiar with these technologies.

The goal of this project is to develop the first version of a free web-based platform that enables anyone to perform various statistical computations in an easy-to-use, interactive, and graphical manner. Specifically, we are looking to build a platform that utilizes the R server to enable web-based AND interactive statistical analyses. Specifically, the following statistical tools will be implemented in this first phase:

Tabular data upload/export/visualization,t-tests (single-sample, independent sample, paired), graphing (2D/3D scatter plots, line charts, bar charts), one-/multi-way ANOVA, clustering (k-means, hierarchical), principal component analysis

Required skills: R, Java/PHP, Javascript (data visualization packages such as D3), CSS3, HTML5

Potential Mentors: Dr. Akram Mohammed

Idea 8: Mobile-based Blood-Sample Image Analysis.

The goal of this project is to develop a simple, portable, low-cost, and highly reliable screening test for detection of cancer biomarker(s) from a small drop of blood. This software component of this project aims to develop a mobile app to analyze the intensity of blood samples and quantify the presence or absence of various molecules. The core of this open source application will be modeled after and evaluated against well-established, open source image analysis software, ImageJ. While ImageJ is an application with a multitude of sophisticated and complex and customizable features, the focus of the mobile application will be primarily on user intuitiveness and simplicity while maintaining the rigor of precision in the implemented algorithms.

This application will take advantage of the high quality cameras that equip the majority of modern mobile devices, and support loss-less image compression. The main use case for the application consists of four seamlessly integrated steps: image capture, preprocessing, detection, and measurement.

Required skills: Android app development, image analysis experience preferred

Potential Mentors: Dr. Jiri Adamec/Tomas Helikar

Idea 9: Web-based Blood-Sample Image Analysis.

The goal of this project is to develop a simple, web-based, and highly reliable screening test for detection of cancer biomarker(s) from a small drop of blood. This software component of this project aims to develop an intuitive and easy-to-use web application to analyze the intensity of blood samples and quantify the presence or absence of various molecules. The core of this open source application will be modeled after and evaluated against well-established, open source image analysis software, ImageJ. While ImageJ is an application with a multitude of sophisticated and complex and customizable features, the focus of the web application will be primarily on user intuitiveness and simplicity while maintaining the rigor of precision in the implemented algorithms.

This application will take advantage of pictures uploaded from modern mobile devices, and support loss-less image compression. The main use case for the application consists of three seamlessly integrated steps: image preprocessing, detection, and measurement.

Required skills: Java/Php, image analysis experience preferred

Potential Mentors: Dr. Jiri Adamec/Tomas Helikar

Idea 10: Hive Plot visualization of large-scale biological networks.

Biological networks are typically visualized using traditional force-based or spectral layout algorithms. While these algorithms are usefule for small to medium-sized networks, they result in largely not-so-informative and irreproducible "hair-balls" when used for large-scale networks (left side of the figure below). To address these issues, hive plots were developed as a method to manage the visual complexity and generate informative, quantitative, and comparable network layouts. Hive plot is a linear network layout whereby nodes are organized along axes based on specified data attributes. In addition, the arrangment of nodes on each axis can also provide information about the type of the data (node), providing an informative network visualization tool.

The output of this project is a web-based tool that will enable users to import a network file (in a .gml and/or .sbml format), and generate an interactive hive plot representation of the network. This tool can build on a D3.js hive plot component developed by Mike Bostock.

Required skills: Java, JSF, Javascript (data visualization packages such as D3), CSS3, HTML5

Potential Mentors: Dr. Tomas Helikar