Programmatic modeling for biological systems

2021 ◽  
Author(s):  
Alexander L.R. Lubbock ◽  
Carlos F. Lopez

AbstractComputational modeling has become an established technique to encode mathematical representations of cellular processes and gain mechanistic insights that drive testable predictions. These models are often constructed using graphical user interfaces or domain-specific languages, with SBML used for interchange. Models are typically simulated, calibrated, and analyzed either within a single application, or using import and export from various tools. Here, we describe a programmatic modeling paradigm, in which modeling is augmented with best practices from software engineering. We focus on Python - a popular, user-friendly programming language with a large scientific package ecosystem. Models themselves can be encoded as programs, adding benefits such as modularity, testing, and automated documentation generators while still being exportable to SBML. Automated version control and testing ensures models and their modules have expected properties and behavior. Programmatic modeling is a key technology to enable collaborative model development and enhance dissemination, transparency, and reproducibility.HighlightsProgrammatic modeling combines computational modeling with software engineering best practices.An executable model enables users to leverage all available resources from the language.Community benefits include improved collaboration, reusability, and reproducibility.Python has multiple modeling frameworks with a broad, active scientific ecosystem.

Author(s):  
Sanjay Singh ◽  
Karthik Mahadevan

Over the past few years, the IT landscape has changed dramatically to facilitate new entrants from emerging economies in the global market. Some nations such as India and China are poised to emerge as IT superpowers in the years to come. In this paper, we attempt analyze some of the critical success factors (CSF) that facilitate the development of IT leaders. Taking India as an example, we explore CSFs like educational system, governmental policies, infrastructure and entrepreneurial activities that are necessary for creating and fostering IT leaders. We conclude by describing the best practices for implementing software engineering projects in an offshore environment.


Author(s):  
G. Bruce Berriman ◽  
John Good ◽  
Ewa Deelman ◽  
Anastasia Alexov

This paper presents a case study of an approach to sustainable software architecture that has been successfully applied over a period of 10 years to astronomy software services at the NASA Infrared Processing and Analysis Center (IPAC), Caltech ( http://www.ipac.caltech.edu ). The approach was developed in response to the need to build and maintain the NASA Infrared Science Archive ( http://irsa.ipac.caltech.edu ), NASA's archive node for infrared astronomy datasets. When the archive opened for business in 1999 serving only two datasets, it was understood that the holdings would grow rapidly in size and diversity, and consequently in the number of queries and volume of data download. It was also understood that platforms and browsers would be modernized, that user interfaces would need to be replaced and that new functionality outside of the scope of the original specifications would be needed. The changes in scientific functionality over time are largely driven by the archive user community, whose interests are represented by a formal user panel. The approach has been extended to support four more major astronomy archives, which today host data from more than 40 missions and projects, to support a complete modernization of a powerful and unique legacy astronomy application for co-adding survey data, and to support deployment of M ontage , a powerful image mosaic engine for astronomy. The approach involves using a component-based architecture, designed from the outset to support sustainability, extensibility and portability. Although successful, the approach demands careful assessment of new and emerging technologies before adopting them, and attention to a disciplined approach to software engineering and maintenance. The paper concludes with a list of best practices for software sustainability that are based on 10 years of experience at IPAC.


2021 ◽  
Author(s):  
Rastko Ciric ◽  
Romy Lorenz ◽  
William Thompson ◽  
Mathias Goncalves ◽  
Eilidh MacNicol ◽  
...  

Abstract Neuroimaging templates and corresponding atlases play a central role in experimental workflows and are the foundation for reporting standardised results. The proliferation of templates and atlases is one relevant source of methodological variability across studies, which has been recently brought to attention as an important challenge to reproducibility in neuroscience. Unclear nomenclature, an overabundance of template variants and options, inadequate provenance tracking and maintenance, and poor concordance between atlases introduce further unreliability into reported results. We introduce TemplateFlow, a cloud-based repository of human and nonhuman imaging templates paired with a client application for programmatically accessing resources. TemplateFlow is designed to be extensible, providing a transparent pathway for researchers to contribute and vet templates and their associated atlases. Following software engineering best practices, TemplateFlow leverages technologies for unambiguous resource identification, data management, versioning and synchronisation, programmatic extensibility, and continuous integration. By equipping researchers with a robust resource for using and evaluating templates, TemplateFlow will contribute to increasing the reliability of neuroimaging results.


Sign in / Sign up

Export Citation Format

Share Document