Open Science is the practice of scientific research such that the methodologies and output (publications, data, software) are transparent, available, and broadly accessible. It aims to maximize reuse of available data and code and enable scientists to build on the work of their peers.
Open Science practices include:
- Open Methods: documenting and explaining all methods and workflows used in scientific research
- Open Data and Access: making data and publications accessible to the community
- Open Code: ensuring algorithms and code used in research are human-readable and available
- Open Infrastructure: establishing scientific infrastructures that facilitate collaboration
- Open Education: enabling access to teaching material
Researchers using MATLAB® and Simulink® can practice Open Science and increase the scientific impact of their work by making their research transparent, reusable, and reproducible.
Open Methods in Research
Well-documented and well-articulated methods and workflows make it possible for scientists to follow experimental logic and interpret results, enabling Open Science. Using MATLAB live scripts, researchers can tell a story with data, code, and in-line visuals to make their work process and results transparent and easy to grasp.
With this approach, researchers can:
- Incorporate images, text, equations, and hyperlinks with code in executable online notebooks
- Use interactive UI controls for fellow researchers to experiment with parameters and learn hands-on
- Publish in standard formats such as PDF, Word, HTML, and LaTeX
- Implement source control with Git and SVN to track changes and collaborate with others on projects
- Apply code and dependency analyzers to map out and organize large collaborative development projects
Open Data and Access
Providing access to data, models, and algorithms enables scientists to build on existing frameworks. Open Science requires interoperability between different data formats and programming languages, to ensure access across frameworks.
Open Access to Data
Because MATLAB supports standard data and model formats, it’s straightforward to import and work with inputs generated by other software applications, devices, and instruments. MATLAB can:
- Work with data in popular data formats, including general scientific data formats, as well as specialized data formats for robotics, neuroimaging, medical imaging, medical time series, biological sciences, meteorology, and geosciences
- Import deep learning models and ONNX model formats directly
- Exchange data with MySQL and NoSQL databases
- Use MATLAB RESTful web services to read in web application data in formats such as JSON, XML and TXT
- Import and process data from connected devices in IoT systems by combining ThingSpeak™ and MATLAB
- Connect to data acquisition devices including Arduino® and Raspberry Pi™
- Harness sensors on Android™ or iPhone devices in experiments
Open Access to Code and MATLAB Algorithms
To fully practice Open Science, open access to data must be accompanied by open access to code and the algorithms that generate meaningful results from the data. Such code can be written in many different languages, but should be comprehensible (human readable), available, and interoperable.
- MATLAB bi-directional integration with Python, C, and other languages enables users to call algorithms written in one language from the other.
- Creating MATLAB web apps enables sharing custom tools with non-MATLAB users and others who are not software-savvy.
- Using MATLAB Coder™, users can generate C and C++ code for a variety of hardware platforms including embedded systems.
- MATLAB Compiler™ enables sharing of MATLAB code via standalone applications so end-users can run them without a license.
Open source software is defined as code that is freely sharable and modifiable by parties who are not the original author. Sharing code and software helps colleagues build on each other’s work.
For toolbox users
Open Science recommends reuse of scientific artifacts and algorithms. Researchers can freely access, download, and use MATLAB code and algorithms shared by their peers on File Exchange. File Exchange toolboxes are also available via the Add-Ons button on the MATLAB toolbar.
For toolbox authors
Researchers can share their algorithms by linking to the GitHub repositories from File Exchange, thereby ensuring a single code source while enabling File Exchange visitors to find the repository and download the code. File Exchange repositories will automatically link to the latest GitHub version.
Open Science Infrastructure
Open Science requires infrastructure beyond the local workstation as researchers connect and collaborate remotely. Online access to their coding environment makes scientific resources portable and accessible from anywhere over the web. Science gateways and cloud infrastructure facilitate Open Science by making web-based platforms for using shared artifacts and resources available to researchers.
Runnable Code via the Web Browser
MATLAB Online™ and Simulink Online™ provide access in a web browser, without installations and downloads. Access to data on MATLAB Drive allows researchers to work remotely and effectively on shared projects and exchange artifacts. MATLAB code and standalone apps (5:23) enable porting and reusing content on browsers and local machines.
MATLAB Online can also be installed at locations with large datasets, minimizing the need for data transfer.
Science gateways are online collaboration portals where scientists and engineers access shared resources. To enable Open Science, MathWorks and many science gateways have collaborated to make MATLAB available for use with hosted artifacts and on shared compute facilities.
- CUAHSI/Hydroshare: Hosting user-contributed MATLAB scripts and curriculum resources to analyze hydrology data, using MATLAB Online
- Code Ocean: A site for publishing and downloading MATLAB code capsules associated with research papers on Code Ocean
- OpenAire: 70,000+ projects using MATLAB with citable DOIs and freely downloadable
- SGCI (Science Gateway Community Institute): Support for science gateways to enable their MATLAB user communities
- Flexible Licensing for More Coverage
Many universities and research institutes have adopted campus-wide and institute-wide MATLAB licensing models to provide MATLAB access to all their affiliated members. In keeping with Open Science principles, academic institutions can also provide MATLAB access to external collaborators working on a project.
Open Science in Education
Open Science is not limited to research. It includes making scientific output and methods available and accessible to students and educators. Examples of publicly accessible resources for educators and students:
- Resources for teaching computation in the sciences with MATLAB from SERC
- STEM support: Student competitions, partnerships, and curriculum development
- Open and Fun: Programming for children with Bytes and Beats