Better together: Elements of successful scientific software development in a distributed collaborative community

Julia Koehler Leman1,2, Brian D Weitzner3,4,5,6, P Douglas Renfrew1

  • 1Center for Computational Biology, Flatiron Institute, Simons Foundation, New York, NY, United States of America.

Summary

Scientific software development thrives through community collaboration. Practices in version control, testing, and community building, as seen with the Rosetta software suite, ensure sustainability and maintainability in computational research.

Related Concept Videos

Distribution Reliability and Automation01:25

Distribution Reliability and Automation

Distribution reliability in electrical power systems is critical for ensuring an uninterrupted power supply to consumers at minimal cost. According to IEEE Standard Terms, reliability is the probability that a device will function without failure over a specified time period or amount of usage. For electric power distribution, this translates to maintaining continuous power supply and addressing customer concerns over power outages. Several indices, as defined by IEEE Standard 1366-2012, are...
436
Distributed Loads: Problem Solving01:21

Distributed Loads: Problem Solving

Beams are structural elements commonly employed in engineering applications requiring different load-carrying capacities. The first step in analyzing a beam under a distributed load is to simplify the problem by dividing the load into smaller regions, which allows one to consider each region separately and calculate the magnitude of the equivalent resultant load acting on each portion of the beam. The magnitude of the equivalent resultant load for each region can be determined by calculating...
1.0K
Development of Analytical Methods01:21

Development of Analytical Methods

An analytical methodology can be divided into four sequential steps: technique, method, procedure, and protocol. A technique is a scientific principle that rationalizes a specific phenomenon through chemical measurements. Adapting a technique for analyzing a sample of interest is termed a method. The procedure outlines the directions for performing the analysis via an analytical method. The protocol is the detailed guidelines on the procedure, which should be strictly followed to obtain the...
1.5K
Principle of Virtual Work: Problem Solving01:13

Principle of Virtual Work: Problem Solving

The principle of virtual work is an essential concept in the field of mechanics and engineering. This is used to solve problems related to the equilibrium of a structure or system. It is based on the assumption that if a system is in equilibrium, the work done by all the forces during a virtual displacement is zero. This principle is applied by considering virtual displacements of the system and the corresponding work done by internal and external forces.
To apply the principle of virtual work,...
1.5K
The Scientific Method01:32

The Scientific Method

The scientific method is a detailed, empirical problem-solving process used by biologists and other scientists. This iterative approach involves formulating a question based on observation, developing a testable potential explanation for the observation (called a hypothesis), making and testing predictions based on the hypothesis, and using the findings to create new hypotheses and predictions.
Generally, predictions are tested using carefully-designed experiments. Based on the outcome of these...
255.0K
The Scientific Method02:40

The Scientific Method

Research is what makes the difference between facts and opinions. Facts are observable realities, and opinions are personal judgments, conclusions, or attitudes that may or may not be accurate. In the scientific community, facts can be established only using evidence collected through empirical research.
64.5K