September 10, 2018

OpenWorm: Royal Society B special issue now live!

Worm images courtesy of the OpenWorm browser (Drs. Christian Grove and Padraig Gleeson)

Regular readers of this blog might recall that the OpenWorm Foundation spearheaded a workshop (From Connectome to Behavior) at the Royal Society (London) in January 2018. This workshop generated a lot of social media content and internal (to OpenWorm Slack) discussion of the presented topics.

Since then, the participants have been hard at work putting together a special issue (now live in Royal Society B) that presents in more detail what was discussed at the meeting. Lots of great papers on interesting topics ranging from network theory to movement models, and from foraging behavior to quantitative phenotyping.

Many of these papers feature ongoing work related to the OpenWorm Foundation, including the Geppetto, c302, and Sibernetic projects. There is also an OpenWorm overview paper that provides a current state of the initiative. Enjoy!

September 4, 2018

September: Movement Validation Month @ OpenWorm

Welcome to Movement Validation month! This content has been cross-posted from the OpenWorm Foundation blog and Chee-Wai Lee's blog.

Movement Motivations
The behavior of C. Elegans is partially captured by their movement characteristics. We develop and work with a number of tools for recording, characterizing, storing, analyzing, and sharing worm movement data.

Our goal is to eventually be able to compare the movement behavior of worms generated via simulation, against real instances of C. Elegans objectively and quantitatively.

The month of September 2018 will see some focus on this activity. We hope you will participate and do stuff that’s interesting to you!

Our Tools
The Database - We work with many others who record the movement activities of real live specimens of C. Elegans. That extended community has generously shared their data via our movement database tool (Github Repo here.)

A Common Data Format - To facilitate the sharing and exchange of data, we have developed the WCON format and accompanying libraries for manipulating data. We are working to support as many languages as we can. Our code repository can be found here.

Tools for Movement Analysis - The code base for our collection of tools to analyze movement is found here.

Activities for the Month
Planning - We have a range of active tool development issues we would like to review, and create tasks for. We expect to discuss this over the course of the first and second weeks. This should happen in our OpenWorm Slack channel #Movement-Analysis. We expect to also discuss new ideas/projects people might like to do, and lay out goals (e.g. integration of production code in OpenWorm’s Docker image.) We will kick this off with an Office Hours presentation in the OpenWorm Slack channel #office-hours on Sep 5th 4pm UTC.

Doing Interesting Stuff - Over the rest of the month, we will break off to work on individual tasks, have discussions, get questions answered. Activities can take many forms over a wide range of skill sets, technical or creative:

1. Create Blog/Art content.
2. Improve code/tool design.
3. Develop new features.
4. Explore new science/analysis techniques.

This will culminate in one or more hackathons over the last week of the month to round off the work. We also expect to create a number of open badges (see for tasks/educational activities that can be built around our results for wider community engagement.

Participate and Share

We encourage both new and experienced volunteers to participate! For newcomers, the best way to do so is filling out our volunteer application form.

After we have had a chance to look at your application, an invite will sent for you to join us in Slack. From there we can work with you to find stuff that you may be interested to work with, and people in the community you can get in touch with.

We look forward to hearing from you!

August 27, 2018

Final Google Summer of Code presentations are live!

The final presentation for Google Summer of Code students in the Representational Brains and Phenotypes (Sam and Jim) and DevoWorm (Arnab) groups are now available! The summer went quite well: skills were taught, lessons were imparted, and computing projects were advanced. Here are the links to each project submission and summary video.

Sam's final talk (YouTube) and project repository (Github).

Arnab's final talk (YouTube) and project repository (Github).

Cheng-Hsun (Jim)'s final talk (YouTube) and project repo (Github).

Sam and Jim worked to advance the Contextual Geometric Structures framework (link 1, link 2) using different approaches. Both projects involved a mix of evolutionary algorithms, computational linguistics, hybrid modeling, and representational AI. The Google n-gram database was used to provide a source of training data.

Arnab worked on an XML framework for organizing embryo data at the cellular level. This not only provides the DevoWorm group with a link to more specific XML and simulation frameworks, but also moves us towards network-based representational models of the embryo.

August 20, 2018

Google Summer of Code Experience: Advice for Future Participants

As part of the Google Summer of Code program final project evaluations, I was asked to provide advice to future students and mentors in subsequent years. Here is the advice I gave:

Advice to Students:
I have three pieces of advice: do your research, reach outside of your comfort zone, and keep in communication with your mentor. Doing your research means that you continually reevaluate the big picture of your project. Start with a schematic of the workflow or project vision as outlined in your proposal. If you do not fully understand a set of issues (new algorithm, unfamiliar topical area), look them up or ask around.

Reaching outside of your comfort zone means you need to consider contingency plans for each step of your project in case something does not go as planned. If that requires a deep dive into a new method, then be willing to accommodate this into your project schedule. Do not spend too much time on learning new things, however, as the Summer moves pretty fast.

Finally, regular communication with your mentor on multiple channels helps with scheduling, project reevaluation, and keeping within expectations. I have used a combination of Slack, e-mail, and Google Meet with my mentees. Develop your own rhythm -- weekly Meet and e-mail updates can complement daily Slack communication. Don't be afraid to ask questions or take the initiative, but do be sure to coordinate this with your mentor's needs and expectations.

Advice to Mentors:
This year (2018), I mentored three students in two organizations. How did I do it? Weekly schedules, content management, and flexibility. Let's walk through this past summer to provide examples. The first thing I suggest is to mentor your students through the application process, so that their proposals align with your expectations and programmatic time constraints. During the community period, be sure to plan structured activities such as presentations to the broader community or access to background information on the organization and project.

As the coding period ramps up, be sure to set your weekly plan for communication. In my case, I scheduled a weekly meeting time (0.5 to 1 hour) for each student in Google Meet, set each student up in the appropriate Slack team, and prepared a weekly email newsletter (1-2 paragraphs) covering upcoming milestones. Also, be sure to utilize the link between Github issues and, as the latter serves to make outstanding tasks visually salient.

Our weekly meetings focused on four things:
1) what did you do this week/what will you do next week.
2) any outstanding issues/barriers to discuss in detail (or live demos).
3) upcoming milestones, planning for several weeks out.
4) review Waffle board issues, create new issues.
Finally, be flexible with respect to work style and meeting times. I had students from three different countries on two continents, and we often had to reschedule times. It is also important to let them adopt their own working rhythm (provided it is organized and within the bounds of the organization's needs). If they want to interact more or less on Slack, that is up to them. Just encourage them towards your community standards, and work from there. These things may seem like a lot to ask of a mentor, but I have found that it is worth it.

August 17, 2018

Google Summer of Code Experience: Afonso Pinto

The next Google Summer of Code project I want to highlight involves someone from one of my organizations (OpenWorm Foundation), but whom I did not mentor. Afonso Pinto (mentored by Giovanni Idili and Matteo Cantarelli) spent this summer working on the NWB (Neurodata without Borders): Explorer. Here is Afonso's final project presentation (YouTube) and work product (Github), in which he highlights GSoC-related contributions (a series of work sprints) to the project.