Skip to content
Snippets Groups Projects
Commit f10479d8 authored by Saskia Hiltemann's avatar Saskia Hiltemann
Browse files

add template ARC

parent 68f6270d
No related branches found
No related tags found
No related merge requests found
Showing
with 152 additions and 90 deletions
# MAdLand ARC
This ARC was created as part of the [MAdLand project](https://madland.science/)
## Project metadata
Most metadata can be found in the `studies/` folder, the `isa.study.xlsx` file contains multiple sheets with metadata, including:
- Sample Sheet
- Harvesting metadata
- Culturing Conditions
Information about the assays (e.g. RNASeq) can be found in the the respective `assays/` folder.
# madland-arc-erika
# MAdLand ARC Template
Thank you for creating an ARC for your MAdLand project! This document has some useful information to help you get started, including a checklist at the end.
## Quickstart: Useful links
- [DataPlant/ARC Documentation](https://www.nfdi4plants.de/nfdi4plants.knowledgebase/index.html)
- [DataHUB](https://git.nfdi4plants.org/) (GitLab for ARCs)
- [ARChive](https://archive.nfdi4plants.org/) (Published ARCs)
- [SWATE](https://www.nfdi4plants.de/nfdi4plants.knowledgebase/docs/SwateManual/Docs01-Installing-Swate.html) (Excel plugin for ARCs)
- ["Start your ARC"](https://www.nfdi4plants.de/nfdi4plants.knowledgebase/docs/teaching-materials/videos/StartYourARC.html) Workshop Video Series, please watch the first 4 videos (only 6 minutes each, I found them useful!
## What are ARCs?
- **A**nnotated **R**esearch **C**ontext
- **Goal:** share your research data with others (great to add to your paper!)
- **What goes in an ARC?**
- General information about the project (title, description, collaborators, papers)
- Metadata
- Sample sheet
- Cultivation conditions, harvesting, …,
- Metadata about the assays (e.g. sequencing)
- Raw data of assays (sequencing, MassSpec, anything else you did)
- Workflows (or code, scripts, commands used for analysis)
- Analysis results
- Basically, anything you mention that you did in your paper, should go in here :)
## Publishing ARCs
There are 3 places that ARCs are currently published (all still under development by NFDI4Plants).
1. [ARChive](https://archive.nfdi4plants.org/)
- More formal publishing process
- There is a review by DATAplant to check your ARC
- You get a citable DOI for your ARC (e.g. to use in your publication)
- Example published ARC here
2. [ARCSearch](https://arcregistry.nfdi4plants.org/arcsearch)
- Any public ARCs on GitLab that pass validation appear here
3. [ISASearch](https://arcregistry.nfdi4plants.org/isasearch)
- Any public ARCs on GitLab that pass validation appear here
`
## How to define an ARC
- Structure of an ARC
- **ISA structure**
- **I**nvestigation *(project context) (e.g. your overarching research interest)*
- **S**tudy *(unit of research) (e.g. one research question/paper)*
- **A**ssay *(measurement) (e.g. RNA-Seq, MS, metabolomics..)*
- Workflows *(code, analysis)*
- Runs *(outputs of code/analysis)*
- Each investigation can have multiple studies
- Each study can have multiple assays (e.g. RNA-Seq, MS, ..
- **Metadata**
- Must follow a very specific structure and use specific ontologies
- Templates exist (also MAdLand-specific templates)
- SWATE Excel plugin to help you fill them in using correct ontology, saves a lot of time!
## Creating your ARC
- Use SWATE plugin to fill the metadata spreadsheets
- [Instructions for SWATE in the browser](https://www.nfdi4plants.de/nfdi4plants.knowledgebase/docs/SwateManual/swate_installation_browser.html)
**Warning:** fill the spreadsheet using Excel. Editing them in e.g. OpenOffice on Linux corrupts them unfortunately :(
# Checklist for your ARC
To fill your ARC, please perform the following tasks.
**Example of a MAdLand ARC:** [Ppatens-light-signaling-2022](https://git.nfdi4plants.org/shiltemann/physcomitrium-patens-light-signaling-2022) (Public GitLab Repo)
1. Fill in the following metadata files using SWATE
- `MAdLand_sample_sheets.xlsx`
- `MAdLand_bioanalyzer.xlsx`
- `MAdLand_cultivation_conditions.xlsx`
- `MAdLand_harvesting.xlsx`
- `MAdLand_nanodrop.xlsx`
2. **Investigation** - `isa.investigation.xlsx` file
- Add Title and Description, etc
- Add all investigation contacts, one per column
- Roles are optional, but must be one of the roles in the ScoRo ontology (e.g. technician, PI) if used
- All must have an email address
- Add ORCIDs for everyone who has one
- Add any publications based on the data in this ARC.
- Publication status must be from PSO ontology (e.g. “open access”)
- Ignore the bottom half of this sheet for now (row 33+)
3. **Studies** - `studies/<study-id>/` information about your samples (do this for each study)
- Make as many copies of the study folder as you need
- change folder names to something informative (e.g. Ppatens)
- **Metadata:** Fill in `isa.study.xlsx` in each study folder
- Sheet 1 “Study”: Study Title, description, etc
- Sheet 2 “study-id”: your sample sheet from step 1 (use SWATE to fill this!)
- Sheet 3: Your Harvesting metadata file from step 1
- Sheet 4: Your Culturing Conditions file from step 1
- **Protocols:** in `studies/<study-id>/protocols/` folder
- Public MAdLand protocols are in there (remove any that are not relevant)
- Add any other protocol documents relevant to your study
- **Resources:** in `studies/<study-id>/resources`
- Copy in any other documents related to your samples, lab notes, ..
- Don’t have to follow a structure, just add anything that helps understand your samples and or lab work etc.
4. **Assays** - `assays/<assy-id>/` information about your measurements (do this for each assay)
- Make as many copies of the assay folder as you need,
give them informative names
- **Metadata:** Fill in `isa.assay.xlsx` (do this for each assay)
- Sheet 1 “Assay”: Fill in the main metadata sheet
- Remaining sheets: depend on the assay (Saskia can prepare them for you), fill these in as best you can!
- For RNASeq, Nanodrop and Bioanalyzer assays, see [example ARC](https://git.nfdi4plants.org/shiltemann/physcomitrium-patens-light-signaling-2022)
- **Protocols:** `assays/<assay-id>/protocols/` folder,
- Copy in anything related to how you performed the assay
- E.g. Lab notes, documentation from the sequencing center, etc
- Doesn’t have to follow any structure or ontology, just copy any files in
- **Datasets:** `assays/<assay-id>/protocols/` folder
- Raw outputs of your assays (e.g. sequencing fastq files)
- Make sure to use [Git LFS](https://git-lfs.com/) for this (or just tell Saskia where to find the raw data)
5. **Workflows** folder
- Add any code, commands and/or workflows used in analysis in this folder
- Preferably CWL workflows, but..
- The code doesn't have to be pretty! if you used it, just add it! Even if it's just calling a bunch of standard tools
6. **Runs** folder
- Add any results from your analysis here
- organize in folders as best you can)
- Can be text files, tables, sequences, plots, …, anything generated from your raw data
7. **Misc:** Do you have any other files or lab notes etc related to your work but not sure where to put them? Just put them in the root folder and Saskia will try to place them somewhere.
## Getting started
To make it easy for you to get started with GitLab, here's a list of recommended next steps.
Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)!
## Add your files
- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files
- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command:
```
cd existing_repo
git remote add origin https://git.nfdi4plants.org/shiltemann/madland-arc-erika.git
git branch -M main
git push -uf origin main
```
## Integrate with your tools
- [ ] [Set up project integrations](https://git.nfdi4plants.org/shiltemann/madland-arc-erika/-/settings/integrations)
## Collaborate with your team
- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/)
- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html)
- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically)
- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/)
- [ ] [Automatically merge when pipeline succeeds](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html)
## Test and Deploy
Use the built-in continuous integration in GitLab.
- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html)
- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing(SAST)](https://docs.gitlab.com/ee/user/application_security/sast/)
- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html)
- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/)
- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html)
***
# Editing this README
When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thank you to [makeareadme.com](https://www.makeareadme.com/) for this template.
## Suggestions for a good README
Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information.
## Name
Choose a self-explaining name for your project.
## Description
Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors.
## Badges
On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge.
## Visuals
Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method.
## Installation
Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection.
## Usage
Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README.
## Support
Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc.
## Roadmap
If you have ideas for releases in the future, it is a good idea to list them in the README.
## Contributing
State if you are open to contributions and what your requirements are for accepting them.
For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self.
You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.
## Authors and acknowledgment
Show your appreciation to those who have contributed to the project.
## License
For open source projects, say how it is licensed.
## Project status
If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.
File added
File added
File added
File added
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment