SEARS (Shared Experiment Aggregation and Retrieval System) is an open-source, cloud-based platform developed to simplify and accelerate experimental data management in materials science. Originally created to facilitate research on doping in organic semiconductors, SEARS serves as a comprehensive digital infrastructure for data storage, retrieval, sharing, and analysis, promoting efficient collaboration among interdisciplinary teams. A video of the demo of the SEARS platform is placed here
Modern materials science is increasingly data-intensive, integrating robotic automation, machine learning (ML), and collaborative experiments. SEARS addresses the following critical needs:
-
Data Complexity Management: Handles diverse, multi-modal data types (metadata, numerical results, raw experimental files).
-
FAIR Compliance: Ensures data is Findable, Accessible, Interoperable, and Reusable through structured metadata and standard
jsonformat. You can download your experiments inFAIRformat by just 1-click and upload it to any platform that accepts FAIR data. -
Real-Time Collaboration: Supports seamless multi-laboratory collaboration powered via a very rich and intuitive interface, centralized storage and data security protocols that prevent data loss.
-
ML Integration: Facilitates adaptive experiment design and data-driven discovery using built-in ML compatibility powered via our python powered software development kit here.
-
Customizable Ontologies: Tailor data schemas to fit specific research requirements. Modify and extend ontologies to keep pace with evolving needs without impacting existing experiments.
-
Full Measurement Tracking: Log all experiment results for a particular sample in one place along with the metadata i.e. who, when and where.
-
Intuitive Web Interface: User-friendly and responsive front-end providing a centralized dashboard, quick experiment creation, QR-coded experiment retrieval, and advanced search functionality.
-
Secure, Scalable Backend: Built with
NoSQL (MongoDB)for efficient, schema-flexible data storage and vendor agnostic cloud-based deployment for fast and reliable performance. -
Dual-Redundant File Storage: Ensures data integrity and security with parallel cloud-based and in-house file storage solutions.
-
Comprehensive API Ecosystem: Modern
RESTAPI-driven architecture facilitating effortless integration with external analysis and visualization tools.
SEARS has demonstrated significant impact through various case studies:
-
Adaptive Design of Experiments (ADoE): Enabled iterative experimental design for optimizing doping processes in conjugated polymers.
-
Quantitative Structure-Property Relationship (QSPR) Modeling: Facilitated predictive modeling of material properties from processing conditions.
-
FAIR Data Sharing: Ensured research data was easily downloadable in standardized, FAIR-compliant formats.
-
Multi-Facility Data Integration: Centralized aggregation of experimental data from different labs and analytical instruments, enhancing reproducibility and transparency.
-
Installation: Detailed developer installation guidelines available here.
-
Modifications : Instructions to Modify SEARS i.e., adding or deleting new screens to fit your needs are here. Note : Making these changes automatically makes modifications in the MongoDB backend.
-
FAIR Documentation: Please refer to our FAIR portal here for a detailed list of field names used in SEARS.
-
Community and Contributions: Contributions to SEARS are welcome! Please reach out to us via the
Discussionssection in the top menu bar if you have any questions.
SEARS is released under the MIT license, promoting open science, reproducibility, and collaborative research advancement.
You can see a preview of the application in the screenshots below
Prerequisites:
- Sign up for MongoDB Atlas Service
- Create a new database under your account called "dope"
- Create a collection inside the "dope" database called "productData"
- Set up Authentication. Under Services [Left Menu] >> Triggers >> View All Apps [Top Right Corner] >> Create New App [Top Right Corner]. Give it a name. Then go into this App >> Under Data Access [Left menu] >> Authentication >> Users >> Add a new User (It will ask you for email and a password - later the user can reset the password). Also under Authentication Providers Enable "Email/Password".
- Create a AWS Bucket.
Steps:
- Inside the "App" that you created. In the Left hand menu under "BUILD", click on Functions.
- Reading from the files under the folder /mongodb in this folder, create identical functions in MongoDB atlas by clicking on "Add a Function" [Top Right Corner]
- The names of these functions should match the file names under ./mongodb and then copy paste all the content correspondingly.
Prerequisites
- On your server, install Python 3.10
- Copy the content of ./dope-backend to a server location.
- Add a .env file to your ./dope-backend directory (now on your server) with the following entries
ACCESS_KEY = <AWS ACCESS KEY> SECRET_KEY = <AWS SECRET KEY> BUCKET_NAME = <AWS BUCKET NAME> GROUP_ID = <MONGO DB ACCOUNT GROUP ID> APP_ID = <MONGO DB APP ID FROM PRE-REQ STEP 4> admin_username = <MONGO DB ADMIN USERNAME> admin_apiKey = <MONGOD DB Private API KEY>
Steps:
pip3 -r requirements.txtpython3 app.py
- On your server, install node.js (process varies by OS. Refer to node.js documentation)
- Copy the content of ./dope-frontend to a server location.
- Add a .env file to your ./dope-frontend directory (now on your server) with the following entries
REACT_APP_MONGO_APP_ID=<APP_ID FROM MONGODB ATLAS APP CREATED IN PRE-REQ 4> REACT_APP_DIGITAL_OCEAN_URL=DIGITAL_OCEAN_URL=<dope_backend_url>/upload_file/ REACT_APP_ADMIN_ACCOUNT="<admin's email account>" npm install
Steps
npm run start


