Showing posts with label cross-post. Show all posts
Showing posts with label cross-post. Show all posts

November 27, 2020

Open-source Community-building Discussions

As part of my role as Community Manager at the Rokwire Initiative, I have been maintaining content on a personal blog. I am highlighting some of the systems-oriented posts here on Synthetic Daises. The first re-post summarizes the functional aspects of open-source communities, while in the second re-post I propose that open-source communities are actually form of collective intelligence. The third re-post is of particular interest to this blog's audience, which is a revisitation of wicked problems.


Striving for Issue 0 (why do we have a community)

Why do we want to build a community in the first place? This question may seem self-obvious on its surface, even in the open-source context. But it is good to state the reasons why we might want to create a community. More importantly, it is good to think about communities as having explicitly stated benefits. Communities allow us to tap into a heterogeneous pool of expertise, build upon a network of contributors, recruit collaborators for future projects, and serve to facilitate education.

What direction does the action flow? A countdown to the essential issue, or enumeration of the issues?

The first benefit of an open-source community is to allow for a single contributor to interact quickly with many other contributors with a wide range of skills and expertise. For example, if you are a technical writer and have a question about a new programming language, you can post a message to the Slack channel with your inquiry and receive a helpful answer much more quickly than making a blanket inquiry or searching for the answer yourself. This actually sounds like the guiding principle of a University, but with a much more decentralized and informal structure.

Unlike a University, open-source communities are inherently interconnected [1], and as such serve to form a social network of contributors. Our hypothetical Slack channel is part of a Slack team (with many channels), and the Slack team is in turn a part of the entire community. As with a traditional workplace or school, this involves the interactions of many people, often with different roles and interests. A community allows for people who might not otherwise interact to cross paths, and mutually benefit from this serendipity [2].

Example of network structure in an open source community. Map of openrpg bug report interactions. From [3].

By their nature, open-source community networks are broad and loosely integrated. This is necessary by design; many open-source contributors have other commitments and contribute erratically to the project. But this is a good thing! One benefit of this structure is to enable people who would otherwise not make the time commitment. Related to this is the existence of a talent pool that is poised to build out an existing initiative, or engage in a new initiative. This alleviates the need to recruit and incentivize people using conventional hiring mechanisms.

But these relationships should not designed to be exploitative. In fact, one contributor to a healthy and stable open-source community is the feeling that contributors are able to benefit from their participation. Short of financial compensation, there are many other ways that contributors can benefit. One of these is becoming educated about the software platform itself. Educational incentives such as badging systems (microcredentials) serve as small-scale incentives. Being a contributor also allows one to learn about the latest features, and even have a hand in developing them. Another way open-source communities can reinforce education is through outreach, particularly in the form of an Ambassadors program [4]. A focus on learning opportunities centered on a specific software platform, in addition to learning and promoting associated skills, builds participation incentives into the community.

In these ways, we can take a step back from issues and builds and think about how we can leverage the community as a benefit of the platform. Then we can work towards addressing Issue 0: building and maintaining a community.

NOTES:

[1] Teixeira, J., Robles, G., and Gonzalez-Barahona, J.M. (2015). Lessons learned from applying social network analysis on an industrial Free/Libre/Open Source Software ecosystem. Journal of Internet Services and Applications, 6, 14.

[2] Achakulvisut, T., Ruangrong, T., Acuna, D.E., Wyble, B., Goodman, D., and Kording, K. (2020). neuromatch: Algorithms to match scientists. eLife Labs, May 18.

[3] Crowston, K. And Howison, J. (2005). The social structure of free and open source software development. First Monday, 10(2).

[4] Starke, L. (2016). Building an Online Community Ambassador Program. Higher Logic blog, July 28.

The Role of Collective Intelligence in Open-source

What do ants have to do with open-source?

Ants (and social insect more generally) are capable of building structures that feature great complexity and labor specialization. These complicated structures result from the small contribution of individual ants, each of which have a specialized job in their community [1]. In this sense, ant colonies exhibit parallels with open-source collaboration. Both types of organization (ant societies and open-source communities) rely upon collective intelligence, or the wisdom and power of crowds to create an artifact of great complexity shaped by design principles that emerge from these interactions.

Collective intelligence can be defined as intentional behaviors based on a coordinated set of goals among multiple individuals, and emerges from various forms of collaboration, competition, and group effort. For systems ranging from insect colonies to human societies [2], collective intelligence is a prime enabler of coordinated social behaviors and movements [3]. Being aware of how this process works is important for making the most of an open-source effort.

Traditional crowdsourcing can be understood as cooperation between two groups of people: requesters and contributors [4]. Requesters can be thought of as people who want a functional artifact, but may not be able to implement the solution. Contributors are people with technical know-how who realize the initial specification. I have discussed the open-source ethos and related contributor motivations in other posts on this blog. In this post, the focus will be on how requesters and contributors work together to produce a coherent outcome.

The find-fix-verify (FFV) workflow [5] has been identified as a facilitator or collective intelligence in open-source projects. FFV involved three steps: 1) finding room for improvement, such as a new feature or correcting an error, 2) proposing specific solutions to said improvements, and 3) verify that such changes are acceptable solutions. FFV allows for a division of labor in open-source communities based on expertise and technical skill. Yet each step is not executed by a dedicated employee reporting to a supervisor. Rather, each step is performed by groups of contributors who make their own contributions based on personal experiences and context.

In terms of organization, there are three ways in which open-source communities can be organized [4]. These are demonstrated graphically using Paul Baran’s networking diagram. The first is through direct leadership (centralized, A), which typically involves a single coordinator. This is most typically found in traditional corporate or academic organizations, and are often the least effective at harnessing the power of open-source.

Open-source communities can also be organized through collaboratives (decentralized, B), which involves the coming-together of people with a common interest. This form of organization is usually maintained over the long-term through expedient subgroups that form and dissolve given the immediate imperative. Finally, the passive mode of organization (distributed, C) is perhaps the most effective mode for facilitating open-source. In this type of organization, members of the crowd work independently, and in fact may never collaborate directly. This mode resembles so-called leaderless movements [6]. While collaborative and passive organizational modes have their advantages for facilitating open-source, there is no one-size-fits-all solution. The optimal organizational structure is often project- and goal-dependent.

Paul Baran’s Networking Diagram

A great majority of open-source contributors are transient [7]. Generally, these people contribute to a single project, and within that project only contribute to a small portion of the codebase. Most open-source projects have a few key leaders (occasionally not dissimilar to queen ants) who coordinate and facilitate project management [8]. But this is only a coordination tactic; across hundreds or event thousands of contributors, great things can happen.

NOTES:

[1] Bonabeau, E., Dorigo, M., and Theraulaz, G. (1999). Swarm Intelligence: From Natural to Artificial Systems. Oxford University Press, New York.

[2] O’Bryan, L., Beier, M., and Salas, E. (2020). How Approaches to Animal Swarm Intelligence Can Improve the Study of Collective Intelligence in Human Teams. Journal of Intelligence, 8(1), 9.

[3] Sasaki, T. And Biro, D. (2017). Cumulative culture can emerge from collective intelligence in animal groups. Nature Communications, 15049.

[4] Bigham, J.P., Bernstein, M.S., and Adar, E. (2014). Human-Computer Interaction and Collective Intelligence. Chapter 2, Collective Intelligence Handbook.

[5] Bernstein, M.S., Little, G., Miller, R.C., Hartmann, B., Ackerman, M.S., Karger, D.R., Crowell, D., and Panovich, K. (2015). Soylent: A Word Processor with a Crowd Inside. Communications of the ACM, 58(8), 85-94. doi:10.1145/ 2791285.

[6] Alicea, B. (2012). Leaderless control: understanding unguided order. Synthetic Daisies, April 9.

[7] Cui, X. And Stiles, E. (2010). Workings of Collective Intelligence within Open Source Communities. Third International Conference on Social Computing, Behavioral Modeling, and Prediction, Bethesda, MD.

[8] Alicea, B. (2020). Building a Distributed Virtual Laboratory Adjacent to Academia. MetaArXiv, doi:10.31222/osf.io/4k3z6. 


Infinite Issues (issue infinity): how to break down a wicked problem

In this blog post, I want to discuss how to break down a big problem into a set of smaller issues that are addressable in a short-term timescale. Previously, I discussed how to break a complex problem down into addressable action items. Now I want to do this in the context of wicked problems, or problems that are highly complex, hard to predict, and have multiple unintended or unforeseen outcomes.

Solving a basic problem requires you to take its most salient and/or interesting features, and then establish the outlines of a solution. This might involve breaking the problem up into  more easily solved parts, or asking additional questions about the nature and context of the problem. Next is a consideration of what resources you might need. In an open-source project, many of these projects revolve around the time constraints of contributors. Therefore, one key to creating issues is to break down the problem into small pieces that are both relatively easy to solve and require a low time commitment. Individually, these might seem too small to matter. Taken together, however, they allow you to build large-scale applications.

Of course, this procedure works well for normal complex problems, such as “let’s build a smart watch”! But suppose we want to work on a problem that interacts strongly with social systems, such as how to mitigate a pandemic. Then we have to think about the problem in terms of so-called wicked problems.

Wicked problems have a very high degree of computational complexity, which translates into a system with many more moving parts than cannot be analyzed in a way that provides an exact answer.

1) ill-defined problems reign supreme: it is hard to define the problem or even a set of issues at least initially.

2) all solutions to a given problem are at best a guess. This includes the ability to break down a problem into salient issues. Most issues in wicked problems will require the approximation of the salient issues, as well as forms of rapid prototyping to refine issues as the problem domain becomes more familiar.


Wicked Problems from a design perspective. Image is from Figure 1 in [1].

3) no natural end-point, where a system does not have a clearly defined stopping points.

4) so-called messes interactions between subdomains, problems of which cannot be easily broken up into discrete parts [for more, see 2]. This might be because your problem domain has porous boundaries/categories or that the problem itself is highly variable over time.

One example of a wicked problem is an institutional response to COVID. The University of Illinois has done this fairly effectively, but has involved innovations on multiple fronts. Part of this has involved Safer Illinois, which is a normal complex problem. But Safer is necessary but not sufficient to solving this problem. The real success has been seen through multiple institutional components such as testing regimens and building ambassadors. While an app designed to manage one part of the pandemic response is a basic problem, the response as a while is a wicked problem. This is something to consider when we think about how our contributions fit into larger issues.

NOTES:

[1] Jobst, B. And Meinel, C. (2013). How Prototyping Helps to Solve Wicked Problems. Design Thinking Research, 105-113.

[2] Yeh, R.T. (1991). System Development as a Wicked Problem. International Journal of Software Engineering and Knowledge Engineering, 1(2), 117-130.

October 30, 2019

Pre-trained Models for Developmental Biology

Authors: Bradly Alicea, Richard Gordon, Abraham Kohrmann, Jesse Parent, Vinay Varma
This content is cross-posted to The Node Developmental Biology blog. 


Our virtual discussion group (DevoWormML) has been exploring a number of topics related to the use of pre-trained models in machine learning (specifically deep learning). Pre-trained models such as GPT-2 [1], pix2pix [2], and OpenPose [3] are used for analyzing many specialized types of data (linguistics, image to image translation, and human body features, respectively) and have a number of potential uses for the analysis of biological data in particular. It may be challenging to find large, rich, and specific datasets for training a more general model. This is often the case in the fields of Bioinformatics or Medical Image analysis. Data acquisition in such fields is often restricted due to the following factors:

* privacy restrictions inhibit public access to personal information, and may impose limits on data use.

* a lack of labels and effective metadata for  describing cases, variables, and context.

* missing data points, which require a strategy to normalize and can make the input data useless.

We can use these pre-trained models to extract a general description of classes and features without requiring a prohibitive amount of training data. We estimate that the amount of required training data may be reduced by an order of magnitude. To get this advantage, pre-trained models must be suitable to the type of input data. There are a number of models specialized for language processing and general use, but options are fewer within the unique feature space of developmental biology, in particular. In this post, we will propose that developmental biology requires a specialized pre-trained model. 


This vision for a developmental biology-specific pre-trained model would be specialized for image data. Whereas molecular data might be better served with existing models specialized for linguistic- and physics-based models, we seek to address several features of developmental biology that might be underfit using current models:

* cell division and differentiation events.

* features demonstrating the relationship between growth and motion.

* mapping between spatial and temporal context.

Successful application of pre-trained models is contingent to our research problem. Most existing pre-trained models operate on two-dimensional data, while data types such as medical images are three-dimensional. A study by Raghu et.al [4] suggests techniques specified by pre-trained models (such as transfer learning by the ImageNet model) applied to a data set of medical images provides little benefit to performance. In this case, performance can be improved using  data augmentation techniques. Data Augmentation, such as  adding versions of the images that have undergone transformations such as magnification, translation, rotation, or shearing, can be used to add variability of our data and improve the generalizability of a given model.


One aspect of pre-trained models we would like to keep in mind is that models are not perfect representations of  the phenomenology we want to study. Models can be useful, but are often not completely accurate. A model of the embryo, for example, might be based on the mean behavior of the phenomenology. Transitional states [5], far-from-equilibrium behaviors [6], and rare events are not well-suited to such a model. By contrast, a generative model that considers many of these features might generally underfit the mean behavior. We will revisit this distinction in the context of “blobs” and “symbols”, but for now, it appears that models are expected to be both imperfect and incomplete.

The inherent imperfection of models is both good and bad news for our pursuit. On the one hand, specialized models cannot be too specific, lest they overfit some aspects of development but not others. Conversely, highly generalized models assume that there are universal features that transcend all types of systems, from physical to social, and from artificial to natural. One example of this is found in complex network models, widely used to represent everything from proteomes to brains to societies. In their general form, complex network models are not customized for specific problems, relying instead on the node and edge formalism to represent interactions between discrete units. But this also requires that the biological system be represented in a specific way to enforce the general rules of the model. For example, a neural network’s focus on connectivity requires representations of a nervous system to be simplified down to nodes and arcs. As opposed to universality, particularism is an approach that favors the particular features of a given system, and does not require an ill-suited representation of the data. Going back to the complex networks example, there are specialized models such as multi-level networks and hybrid models (dynamical systems and complex networks) that solves the problem of universal assumptions.

Another aspect of pre-trained models is in balancing the amount of training data needed to produce an improvement in performance. How much training data can we save by applying a pre-trained model to our data set? We can reformulate this question more specifically to match our specific phenomenon and research interests. To put this in concrete terms, let us consider a hypothetical set of biological images. These images can represent discrete points in developmental time, or a range of biological diversity. Now let us suppose a developmental phenotype for which we want to extract multiple features. What features might be of interest, and are those features immediately obvious? 

In the DevoWorm group (where we mostly deal with embryogenetic data), we have approached this in two ways. The first is to model the embryo as a mass of cells, so that the major features of interest are the shape, size, and position of cells in an expanding and shifting whole. Last summer, we worked on applying deep learning to

* Caenorhabditis elegans embryogenesis. Github: https://github.com/devoworm/GSOC-2019.

* colonies of the diatom Bacillaria paradoxa. Github: https://github.com/devoworm/Digital-Bacillaria.

While these models were effective for discovering discrete structural units (cells, filaments), they were not as effective at directly modeling movement, currents, or transformational processes. The second way we have approached this is to model the process of cell division and differentiation as a spatial and discrete temporal process. This includes the application of representational models such as game theory [7] and cellular automata [8]. This allows us to identify more subtle features that are not directly observable in the phenotype, but are less useful for predicting specific events or defining a distinct feature space. 

Our model must be capable of modeling multiple structural features concurrently, but also sensitive to scenarios where single sets of attributes might yield more information. Ideally, we desire a training dataset that perfectly balances “biologically-typical” motion and transformations with clearly masked shapes representing cells and other phenotypic structures. Generally speaking, the greater degree of natural variation in the training dataset, the more robust the pre-trained model will turn out to be. More robust models will generally be easier to use during the testing phase, and result in a reduction in the need for subsequent training. 


Finally, specialized pre-trained models bring up the issue of how to balance rival strategies for analyzing complex processes and data features. Conventional artificial intelligence techniques have relied on a representation which relies on the manipulation of symbols or a symbolic layer that results from the transformation of raw data to a mental framework. By contrast, modern machine learning methods rely on data to build a series of relationships that inform a classificatory system. While a combination of these two strategies might seem obvious, it is by no means a simple matter of implementation [9]. The notion of “blobs” (data) versus “symbols” (representations) draws on the current debate related to data-intensive representations versus formal (innate) representations [10-12], which demonstrates the timeliness of our efforts. Balancing these competing strategies in a pre-trained model allows us to more easily bring expert knowledge or complementary data (e.g. gene expression data in an analysis of embryonic phenotypes) to bear.

We will be exploring the details of pre-trained models in future discussions and meetings of the DevoWormML group. Please feel free to join us on Wednesdays at 1pm UTC at https://tiny.cc/DevoWorm or find us on Github (https://github.com/devoworm/DW-ML) if you are interested in discussing this further. You can also view our previous discussions on the DevoWorm YouTube channel, DevoWormML playlist (https://bit.ly/2Ni7Fs2).

References:
[1] Radford, A., Wu, J., Child, R., Luan, D., Amodei, D., and Sutskever, I. (2019). Language Models are Unsupervised Multitask Learners. OpenAI, https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf.

[2] Isola, P., Zhu, J-Y., Zhou, T., Efros, A.A. (2017). Image-to-Image Translation with Conditional Adversarial Nets. Proceedings of Conference on Computer Vision and Pattern Recognition (CVPR).

[3] Cao, Z., Hidalgo, G., Simon, T., Wei, S-E., and Sheikh, Y. (2018). OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields. arXiv, 1812.08008.

[4] Raghu, M., Zhang, C., Kleinberg, J.M., and Bengio, S. (2019). Transfusion: Understanding Transfer Learning for Medical Imaging. arXiv, 1902.07208.

[5] Antolovic, V., Lenn, T., Miermont, A., Chubb, J.R. (2019). Transition state dynamics during a stochastic fate choice. Development, 146, dev173740. doi:10.1242/dev.173740.

[6] Goldenfeld, N. and Woese, C. (2011). Life is Physics: Evolution as a Collective Phenomenon Far From Equilibrium. Annual Review of Condensed Matter Physics, 2, 375-399. doi:10.1146/annurev-conmatphys-062910-140509.

[7] Stone, R., Portegys, T., Mikhailovsky, G., and Alicea, B. (2018). Origins of the Embryo: Self-organization through cybernetic regulation. Biosystems, 173, 73-82. doi:10.1016/j.biosystems.2018.08.005.

[8] Portegys, T., Pascualy, G., Gordon, R., McGrew, S., and Alicea, B. (2016). Morphozoic: cellular automata with nested neighborhoods as a metamorphic representation of morphogenesis. In “Multi-Agent Based Simulations Applied to Biological and Environmental Systems“. Chapter 3 in "Multi-Agent-Based Simulations Applied to Biological and Environmental Systems", IGI Global.

[9] Garnelo, M. and Shanahan, M. (2019). Reconciling deep learning with symbolic artificial intelligence: representing objects and relations. Current Opinion in Behavioral Sciences, 29, 17–23.

[10] Zador, A.M. (2019). A critique of pure learning and what artificial neural networks can learn from animal brains. Nature Communications, 10, 3770.

[11] Brooks, R.A. (1991). Intelligence without representation. Artificial Intelligence, 47, 139–159.

[12] Marcus, G. (2018). Innateness, AlphaZero, and Artificial Intelligence. arXiv, 1801.05667.

Resources:
* Model Zoo: pre-trained models for various platforms: https://modelzoo.co/

* DevoZoo: developmental data for model training and analysis: https://devoworm.github.io/


* Popular papers on medical image segmentation along with code:  https://paperswithcode.com/area/medical/medical-image-segmentation




October 25, 2019

OAWeek: share your own case study!

This post is part of a series published over the course of OAWeek 2019.


Do you use, share, or have an opinion about open data? The Data Reuse Initiative would like to hear from you! In honor of OAWeek 2019, we are looking for personal and research group testimonials on how you share or otherwise practice open data. Submit at your leisure (there is no deadline), but we would like to hear from you!

RULES:
* submit a testimonial (under 200 words) by submitting a pull request to our Github repository or submit to this Google Form.

* if you choose to submit an image (screenshot, diagram, or cartoon), please issue a pull request on Github.

* if you cannot access either of the links, or need help with your submission, please [contact us](mailto:balicea@openworm.org).

October 24, 2019

OA Week: Digital Badges on Open Data

This post is part of a series published over the course of OAWeek 2019. Today's post will preview a series of digital badges related to Data Reuse. These badges were designed in conjunction with the new Data Reuse Initiative.


Overview of Data Reusability I. Click to enlarge.

The first digital badge (Data Reusability I) provides the learner with some practical skills in data sharing. The practical examples are mostly biology-oriented, but is useful for learners from a wide range of fields. Activities include work with a selected article from the journal Genome Biology, posting a sample data set to Figshare, and working with data sets published on the Dryad repository. While these activities provide just a taste of the work involved in sharing data, it nonetheless imparts some key skills in interacting with and publishing data in an open fashion. 


Overview of Data Reusability II. Click to enlarge.

The second digital badge (Data Reusability II) provides a tutorial that reviews public data sharing competencies in more depth. For this set of exercises, we have used the Mozilla Data Sharing Planning Template as a model for best practices community standards. Earners of this badge will develop competencies in metadata creation, data cleaning/processing, documenting data set provenance, assigning credit for the published work, and enabling easy and reproducible reuse of the data set. Check them out!

October 22, 2019

OA Week: History of Open Access

This post is part of a series published over the course of OAWeek 2019.

Timeline of scientific output from [1]. Click to enlarge.

This post will walk us through the History of Open Access (with a focus on Open Science) infographic mentioned in our inaugural blog post for this series. Randall Munroe [1] has previously summarized the progression of open science as a function of the scope of scientific output. The events and milestones for the featured historical overview were confirmed by internet search and synthesized from a survey of various tools and publications common in the field. This post characterizes the historical eras according to a developmental biology theme: from the embryo to developmental plasticity to an adult stage of life-history.

History of Open Access (1942-present), color-coded by historical era. Yellow: early, blue: transitional, green: contemporary. Click to enlarge. For a citable version and an alternate display type, please see [2].

1942-1999: Embryonic Ideas and Tools (early). Click to enlarge.


In the early period, there was an emergence of tools, ideas, and attempts to synthesize independent efforts. Early efforts such as the World Data System, MedLine, and Project Gutenberg served as inspiration for later efforts (particularly the development of MedLine into PubMed). Tools such as digital preprints (arXiv) and the internet (HTML, XML) served to provide the infrastructure of open science. Even tools such as Cyc (extraction of scientific rules from data) served to enable greater openness in the practice of science. The end of this era is marked by "Exploring the Development of the Independent, Electronic Scholarly Journal", a survey of open access journals in what coincides with the early internet era.


2000-2008: Institutional Plasticity (transitional). Click to enlarge.



The transitional period (or institutional plasticity) was a time for creating many of the institutions and established norms of the open science community. Many foundational ideas were either established (Creative Commons, digital object identifiers) or came to fruition (Human Genome Project) during this period. It is also of note that at least four declarations of practice were published during this period.


2009-present: A Juvenile No More! (contemporary). Click to enlarge.


The contemporary period has been defined by even more sophisticated tools (Altmetrics), quasi-historical summaries of past work for future development (Reinventing Discovery, The Future of OA), and the discussion of institutional standards at a greater level of specialization (FAIR Principles). This era is also marked by the use of open science to practice collaborative open science (Polymath Project), putting all of the pieces developed in previous eras into place.

NOTES:
[1] Munroe, R. (2013). The Rise of Open Access. Science, 342(6154), 58-59. doi:10.1126/science. 342.6154.58

[2] Alicea, B. (2019). History of Open Access Infographic. Figshare, doi:10.6084/m9.figshare. 9975713

October 21, 2019

Open Access Week 2019: Introduction

Welcome to OAWeek 2019! This year's features are being published in conjunction with the Orthogonal Research and Education Laboratory, the eLife Ambassadors program, and the associated Data Reuse Initiative.

The first feature for this year is an infographic called the History of Open Access [1]. Our history begins in 1943 with some Philosophy of Science [2], and proceeds through key innovations, publications, and institutions the span the late 20th and early 21st centuries. Below is a preview of the infographic, and will be discussed in more detail on Tuesday the 22nd.

History of Open Access infographic (Omega version).

The second feature is a series of digital badges (microcredentials) on Open Data practice [3]. The first badge in the series walks the learner through several lessons on how to identify, locate, and work with open datasets. The second badge walks the learner through preparing an open data set for publication. This lesson is based on the Mozilla Data Reuse Planning Template which help people adhere to best practices when making data public and shareable. These badges will be released on Thursday the 24th. Then, on Friday the 25th, we will give you the chance to make your own contributions (details to come). So join us for our week of celebrating Open Access!



NOTES:
[1] Figshare, doi:10.6084/m9.figshare.9975713

[2] Robert Merton, The Sociology of Science: theoretical and empirical investigations.

[3] Molloy, J.C. (2011). The Open Knowledge Foundation: Open Data Means Better Science. PLoS Biology, 9(12), e1001195.

April 4, 2019

April is Documentation Month!

This content is cross-posted from OpenWorm Foundation blog.
Based on popular demand, April will be “Docs Month” within the OpenWorm Foundation. The month will be filled with reevaluating our organizational docs, in addition to putting together a proposal (in conjunction with INCF) for the inaugural Google Season of Docs. 
If you have a technical writing background, we can work on a community contribution, which can include (but is not limited to) the following current organizational needs:
1) building an OpenWorm Wiki, which might reference special topics and within the subprojects. 
2) website redesign so as to make it easy to find key information (e.g. people, how to get to Slack, Github, Docker and Blender models). 
3) help refine a reference document started by Senior Contributor Gopal Sarma. 
4) an inventory of projects and docs that align with current organizational goals. 
5) a reorganization of all project docs, mainly merging DevoWorm, NeuroML, Geppetto, and other assorted docs into one location. 
6) help with the educational curriculum. 
7) find and write specs for “casual contributor-friendly” contributions.
Let's get working! 
UPDATE (4/26): We submitted an application by the deadline that incorporates many of these elements. If you are interested in learning more, please join our Slack team and join the #documentation channel, or contact me via e-mail.

March 6, 2019

March is PyOpenWorm month!

This content is cross-posted from OpenWorm Foundation blog.


PyOpenWorm is a data-access and data sharing library for the OpenWorm project. It is designed to provide the project with a coordinated means for generically describing data in a variety of formats, tracking the origins of said data, and describing various transformations between formats.
This month should see a release for PyOpenWorm and further integration with c302, the neural network model generation tool set. We’re always happy to welcome contributors in this effort! There are, however, a number of other areas where you can help on PyOpenWorm: see the beginner label on PyOpenWorm issue tracker for a listing of issues to start with or else get in touch with Mark Watts, (github:mwatts15) for suggestions.
Also this summer, OpenWorm is again participating in Google Summer of Code (GSoC) under the banner of the INCF. My personal favorite project idea focuses on file sharing (model files, experimental data, etc.) within PyOpenWorm. The file sharing component will have a major role in PyOpenworm going forward, so this is a great project to get involved with now. You can see the list of all OpenWorm projects for 2019 here. Although applications aren’t open until 25 March, you can get in touch with the GSoC mentors and learn more about the problems they’re trying to solve today – so don’t be shy! You can learn more about GSoC in general on their website.
This project of the month kicks off with an “office hours” session on the OpenWorm Slack chat this Wednesday, 6 March at 17:00 UTC where several senior contributors (including me) simultaneously make themselves available for Q&A, discussion, and to talk about current and upcoming activities in the project. You can join by filling out this (short) form.  This is also the best starting place if you’re interested in contributing to OpenWorm more broadly since it will let us know what you’re interested in and what skills you have now so we can help you find which area best fits your interests.
Thanks for reading! Looking forward to hearing from you :-)
Find us on Twitter: @OpenWorm
Link to the OW Contributor form is here

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.

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 https://www.badgelist.com/OpenWorm) 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!


Printfriendly