February 16, 2019

Darwin meets Category Theory in the Tangential Space

For this Darwin Day (February 12), I would like to highlight the relationship between evolution by natural selection and something called category theory. While this post will be rather tangential to Darwin's work itself, it should be good food for thought with respect to evolutionary research. As we will see, category theory also has relevance to many types of functional and temporal systems (including those shaped by natural selection) [1], which is key to understanding how natural selection shapes individual phenotypes and populations more generally.

This isn't the last you'll hear from me in this post!

Category Theory originated in the applied mathematics community, particularly the "General Theory of Natural Equivalence" [2]. In many ways, category theory is familiar to those with conceptual knowledge of set theory. Uniquely, category theory deals with the classification of objects and their transformations between mappings. However, category theory is far more powerful than set theory, and serves as a bridge to formal logic, systems theory, and classification.

A category is defined by two basic components: objects and morphisms. An example of objects are a collection of interrelated variables or discrete states. Morphisms are things that link objects together, either structurally or functionally. This provides us with a network of paths between objects that can be analyzed using categorical logic. This allows us to define a composition (or path) by tracing through the set of objects and morphisms (so-called diagram chasing) to find a solution.

In this example, a pie recipe is represented as a category with objects (action steps) and morphisms (ingredients and results). This monoidal preorder can be added to as the recipe changes. From [3]. Click to enlarge.

Categories can also consist of classes: classes of objects might include all objects in the category, while classes of morphism include all relational information such as pathways and mappings. Groupoids are functional descriptions, and allow us to represent generalizations of group actions and equivalence relations. These modeling-friendly descriptions of a discrete dynamic system is quite similar to object-oriented programming (OOP) [4]. One biologically-oriented application of category theory can be found in the work of Robert Rosen, particularly topics such as relational biology and anticipatory systems.

Animal taxonomy according to category theory. This example focuses on exploring existing classifications, from species to kingdom. The formation of a tree from a single set of objects and morphisms is called a preorder. From [3]. Click to enlarge.

One potential application of this theory to evolution by natural selection is to establish an alternate view of phylogenetic relationships. By combining category theory with feature selection techniques, it may be possible to detect natural classes that correspond to common ancestry. Related to the discovery of evolutionary-salient features is the problem of phylogenetic scale [5], or hard-to-interpret changes occurring over multiple evolutionary timescales. Category theory might allow us to clarify these trends, particularly as they relate to evolving life embedded in ecosystems [6] or shaped by autopoiesis [7]. 

More relevant to physiological systems that are shaped by evolution are gene regulatory networks (GRNs). While GRNs can be characterized without the use of category theory, they also present an opportunity to produce an evolutionarily-relevant heteromorphic mapping [8]. While a single GRN structure can have multiple types of outputs, multiple GRN structures can also give rise to the same or similar output [8, 9]. As with previous examples, category theory might help us characterize these otherwise super-complex phenomena (and "wicked" problems) into well-composed systems-level representations.


NOTES:
[1] Spivak, D.I. (2014). Category theory for the sciences. MIT Press, Cambridge, MA.

[2] Eilenberg, S. and MacLane, S. (1945). General theory of natural equivalences. Transactions of the American Mathematical Society, 58, 231-294. doi:10.1090/S0002-9947-1945-0013131-6 

[3] Fong, B. and Spivak, D.I. (2018). Seven Sketches in Compositionality: an invitation to applied category theory. arXiv, 1803:05316.

[4] Stepanov, A. and McJones, P. (2009). Elements of Programming. Addison-Wesley Professional.

[5] Graham, C.H., Storch, D., and Machac, A. (2018). Phylogenetic scale in ecology and 
evolution. Global Ecology and Biogeography, doi:10.1111/geb.12686.

[6] Kalmykov, V.L. (2012). Generalized Theory of Life. Nature Precedings, 10101/npre.2012.7108.1.

[7] Letelier, J.C., Marin, G., and Mpodozis, J. (2003). Autopoietic and (M,R) systems. Journal of Theoretical Biology, 222(2), 261-272. doi:10.1016/S0022-5193(03)00034-1.

[8] Payne, J.L. and Wagner, A. (2013). Constraint and contingency in multifunctional gene regulatory circuits. PLoS Computational Biology, 9(6), e1003071. doi:10.1371/journal.pcbi.1003071.

[9] Ahnert, S.E. and Fink, T.M.A. (2016). Form and function in gene regulatory networks: the structure of network motifs determines fundamental properties of their dynamical state space. Journal of the Royal Society Interface, 13(120), 20160179. doi:10.1098/rsif.2016.0179.

February 6, 2019

Mozilla Open Leaders 7


I have been selected into the Mozilla Open Leaders program as a cohort member. This is the seventh edition of the program (hence the abbreviation OL7), and runs for 14 weeks. During this time, I will learn how to better leverage digital tools for building online communities. I am working within the OpenWorm Foundation to apply these principles to a specific context.




The hashtag #WOLO also serves as the guiding principle of Open Leaders: work open, lead open. Open Leaders come from all walks of life, and all sorts of digital organizations. I am in cohort A, which is part of the project track. Together, we will work to improve the "health" of the internet.

January 1, 2019

January is DevoWorm month!

Blossoms or fireworks to ring in the New Year?


Welcome to 2019! And welcome to OpenWorm Foundation's project of the month for January, featuring DevoWorm. Here I will briefly go over progress in the DevoWorm group over the last year and a half. If you would like to know more, we have a group Slack channel (#devoworm) in the OpenWorm team, a group website, and a Github repository.


For the uninitiated, the DevoWorm group has a multifaceted set of interests. We are interested in simulating and analyzing data related to worm development, but have an interest in the development of other model organisms as well. In terms of results, we have focused mostly on publications and open datasets, but as you will see from the website, we have also been involved in the creation of unique demos and software development.

The DevoWorm group is also interested in education. Our educational efforts have largely spread out over four types of pedagogy: digital badges, tutorials via interactive notebooks, public lectures, and one-on-one mentorship through the Google Summer of Code (GSoC) program. The OpenWorm Foundation has hosted a DevoWorm GSoC student for the past two years (2017 and 2018), and will be offering a third opportunity this year (2019). 

This is the 15th anniversary for the GSoC program, and it is always an excellent experience. The application process begins on February 25th. If you are interested in a mixture of computational biology, image processing, and machine learning, please contact us for more information.

COURTESY: Image from "One, Two, Three,....GSoC!" by Vipal Gupta

While GSoC is well-compensated opportunity to participate in DevoWorm, there are also less formal ways through which one can collaborate. One of these ways is through a conventional research pathway such as analyzing data, building a simulation, or curating a dataset. Another way to collaborate is to help create new types of educational content. We are particularly interested in creating virtual reality-based offerings in the near future. If you enjoy creating educational content, or simply enjoy learning, please get in touch!

Another new initiative is called DevoZoo. The DevoZoo site aggregates open datasets, methods, and techniques relevant to computational developmental biology and data science biology. We currently host open datasets for the following model organisms: C. elegans, Drosophila, Zebrafish, Ascidians, and Mouse. DevoZoo also hosts raw microscopy data in the form of movies for many of these model organisms as well as Spiders. As if this were not enough, we also try to engage learners and open scientists with artificial life models. The DevoZoo presents three: Morphozoans, developmental Braitenberg Vehicles, and Multicell Systems. The artificial life models in particular could use some further development. Check out the DevoZoo webpage or ask us if you would like to learn more.



Finally, you can participate by collaborating on a publication. The DevoWorm group has been featured in four publications in the past year. The OpenWorm article in the "Connectome to Behavior" special issue of Royal Society B provides a succinct description of the project and its current course. Some of our members served as editors and contributors to a special issue of BioSystems in honor of Dr. Lev Beloussov. This issue features 32 articles that provide a very broad and innovative look at the topic of morphogenesis. Our set of contributions (peer-reviewed papers) spanned from network models of the embryo to the developmental emergence of the connectome and quantitative approaches to organogenesis in the eye imaginal disc.

If you are interested in joining in on the discussion, we hold group meetings online every Monday at 9pm UTC. We are also starting to host hackathons on Fridays during the late morning/early afternoon North American time. Check out our scheduling page for more information. Hope to encounter you soon, and have a great month!

December 16, 2018

TVoT (Television of Things)

Here is a feature of television-related items, and unlike the Internet of Things (IoT), these things has little hype behind them.

A few weeks ago (Novermber 22nd) was the 30th Anniversary of the Max Headroom intrusion on two Chicago television stations. The first intrusion was on WGN (Channel 9). A second intrusion occurred later that evening on WTTW (Channel 11). The original pirate broadcaster was never identified, and subsequent intrusions did not occur.



Shortwave radio carries a television signal! The high-pitched bleeps and buzzes in the background of a short-wave broadcast are actually data streams. Some of these sub-channels carry a series of images rendered at a low frame-rate, which produces a television broadcast of sequentially-scanned still images. This protocol is called slow-scan television (or SSTV) [1], and has its roots in the ham radio community. Modern uses include sending images to earth from the International Space Station [2]. 


If you don't know about mechanical television technology, it's your time to learn. Precursor to the much better-known electronic television, a number of early technologies enabled the reproduction of images by producing horizontal lines within a given image at a certain rate. The higher the scan rate, the faster individual images could be rendered, and the faster new images could replace the complete ones already rendered. Obtaining a higher scan rate meant that the images were more recognizable as a "moving" sequence. 

By and large, m
echanical generation was not commercially successful. Scan rates that would enable high-resolution images were never achieved. The Nipkow disc (invented in 1884) enabled animations based on a sequence of images on a rotating disc visualized using a light source and a Selenium element. The Baird televisor (developed during the 1920s) improved upon the Nipkow disc by transmitting the sequential images using a carrier signal. Like SSTV, there are limited uses for these technologies in the 21rst century, which include Steampunk-themed maker projects, digital light processing, and laser lighting displays (the latter two applications have relied upon significant technical advancements).


Lastly, there was an excellent recent episode of the Function podcast (hosted by Anil Dash) on the history of animated gifs. While it is now a 30-year old technology, animated gif are still an efficient way to present sequential movement and simple animation on the web. While animated gifs have been discussed on this blog in the past, the podcast discussion did mention that the first gif was 1987. So here is an image of the first gif (a flying plane) created by Steve Wilhite [3].




NOTES:
[1] A collection of readings can be found at the National Association for Amateur Radio website.


[2] Trapp C. (2017). Space Technology and Audio Tape to Store Art. Hackaday, December 14. SSTV signals commonly relay images to earth from the space station.

[3] Buck, S. (2012). History of GIFs. Mashable blog, October 19.

October 31, 2018

October: Geppetto month

Here is a recap of Geppetto Month at the OpenWorm Foundation. This content has been cross-posted from the OpenWorm Foundation blog (h/t Giovanni Idili).

 

OpenWorm is made up of many sub-projects, “project of the month” is an effort to highlight a different OpenWom sub-project every month. This month is Geppetto’s turn!


What is Geppetto?
Geppetto is a visualisation and simulation web-based platform for building neuroscience applications. The first use case ever of Geppetto was OpenWorm itself (some lore: the virtual Worm being Pinocchio, a Geppetto was needed to “make it”), but since then many groups have adopted it as their platform of choice. It is basically a set of reusable components for simulation, visualisation and data aggregation that make it easier to develop your neuroscience application, be it a data portal or an entry point to external simulation engines.

Projects that currently make use of Geppetto as a platform:
OpenWorm uses Geppetto as an integration platform for the output of various of its subprojects, from connectome browsing to replaying of integrated electrophysiology and fluid dynamics simulations.


Open Source Brain uses Geppetto to share, visualize and simulate neuronal models, both for individual neurons and networks.

Virtual Fly Brain is an ontology and 3D/2D  morphology browser for drosophila resources built using Geppetto.

NetPyNE-ui is a user friendly UI to create and run neuronal models using the NetPyNE library.

Open Development
Geppetto development is entirely open source, like anything else that happens under the OpenWorm umbrella. There are open sprint meetings every two weeks that anybody can join, and we keep a public development board showing development activities and progress. You can browse the issues and see if there is anything you might wanna chance your hand on!

Resources
Here are some links if you want to learn more about Geppetto:

          Open access paper (Philosophical Transaction of the Royal Society B, 2018)

          Geppetto docs

          Geppetto live demo

          Development board

          Geppetto source code (Github)

          Geppetto Blog

          Geppetto on Twitter

Get involved!
Getting involved is easy, simply fill out the OpenWorm volunteer application form and we will invite you to the OpenWorm foundation slack, from there you can interact with the community and join the #geppetto channel if you are interested to learn more about Geppetto or get involved as a contributor.

Printfriendly