# How to grow an ARC - an example

[Andrea Schrader](https://orcid.org/0000-0002-3879-7057) (github: @andreaschrader)

Data Science and Management & Cluster of Excellence on Plant Sciences (CEPLAS), University of Cologne

*This work is supported by CEPLAS, funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) within Germany´s Excellence Strategy – EXC-2048/1 – project ID 390686111.*

This example uses the command line.  
It shows the process of growing an ARC to be used in demos and also while trying options and arguments of the [ARC Commander](https://github.com/nfdi4plants/arcCommander).  
Please note, this is work in progress and this "Grow-an-ARC" example ARC is not completed yet.  
Successively, it is planned to add and use more features. 

**Information on the requirements for using the HUB and ARC Commander** can be found in the manuals available in the [DataPLANT Knowledge Base](https://nfdi4plants.org/nfdi4plants.knowledgebase/index.html).

## Used OS and ARC Commander version  

Used for this example:  
> arc version: v0.5.0  
> macOS Ventura 13.5.1  

## Prepare the ARC  

- Decide on and prepare:  
> "NAME" and/or "ARC_NAME" of the investigation  
> Here, used for both: **Grow-an-ARC_Example**

- create an empty project in the HUB (no README), name: "ARC_NAME"  
- create an empty directory on the local device (Mac) with the same name, name: "ARC_NAME"  
- go into this directory  

### Initiate the ARC locally

```bash
arc init
```  

### Create the investigation

```bash
arc i create -i ARC_NAME   
``` 

## isa.investigation - general metadata  

- More information can be added later.
- Decide and prepare:  
> "TITLE" of the investigation  
> "DESCRIPTION" of the investigation  

```bash
arc investigation update --identifier "ARC_NAME" --title "TITEL" --description "DESCRIPTION"  
```

## isa.investigation contact person(s) metadata  

### Adding a contact person for the investigation - example

```bash
arc i person register -l Schrader -f Andrea --email andrea.schrader@uni-koeln.de --address "50674 Cologne, Germany" --affiliation "Data Science and Management & Cluster of Excellence on Plant Sciences (CEPLAS), University of Cologne" --roles "contact person; data-curator; leads investigation; designs experiments; supervisor; performs experiments" --rolestermsourceref "SCORO; SCORO; SCORO; SCORO; SCORO; SCORO" --orcid "0000-0002-3879-7057"  
```

### Adding a second contact person - with placeholders and example ontology entries  

I am using here my ORCID iD as e.g. "0000-0000-0000-0000" will cause an error in the validation.  
Of course, the ORCID iD of PERSON2 should be used here.

```bash
arc i person register -l LASTNAME_PERSON2 -f FIRSTNAME_PERSON2 -m MIDNAME_PERSON2 --email person2@uniX.de --address "XXXXX CITY, COUNTRY" --affiliation "AFFILIATION_PERSON2" --roles "principal investigator; leads investigation; designs experiments; supervisor" --rolestermsourceref "SCORO; SCORO; SCORO; SCORO" --orcid "0000-0002-3879-7057"  
```

## isa.investigation publication(s) metadata

### Adding a publication - Example with placeholders and example ontology entries

```bash
arc i publication register --doi "10.XXXX/pp.XXX.XXXXXX" -p "PUBMED_ID" --authorlist "Author1; Author2; Author3; Author4; Author5" --title "PUBLICATION_TITLE" --status "published" --statustermaccessionnumber "http://www.ebi.ac.uk/efo/EFO_0001796" --statustermsourceref "EFO"  
```

- switched manually statustermaccessionnumber and statustermsourceref in isa.investigation.xlsx which are interchanged due to a bug (already reported)  
- added manually the ontology source reference information as no option is available for this yet:  

Term Source Name |	EFO	| SCORO
---|---|---
Term Source File |	http://www.ebi.ac.uk/efo/efo.owl	| http://purl.org/spar/scoro
Term Source Version	| 3.49.0 | 1.9.1
Term Source Description	| Experimental Factor Ontology |	Scholarly Contributions and Roles Ontology

### Adding a second publication

Not done in this example.  
(As above but ontology reference information do not need to be entered in duplicates.)

## Connect the ARC with the HUB 

Connect the local ARC with the HUB "project" and sync changes

- prepare a TOKENSTRING (personal access token (e.g. like here: https://github.com/nfdi4plants/arcCommander/discussions/157))
- replace TOKENSTRING,YourGitLabNAME and ARC_NAME below

```bash
arc sync -r https://oauth2:TOKENSTRING@git.nfdi4plants.org/YourGitLabNAME/ARC_NAME -m "Initiated an ARC, added investigation metadata added manually the ontology source reference information as no option is available for this so far."
```

## Add a README, a LICENCE and a .gitignore file

Here: A template README has been added here as [TEMPLATE_README.md](./TEMPLATE_README.md).  
> When this is used, it needs to be named "README.md".  

Here: A [CC-BY 4.0 license](./LICENSE) has been added.  
Here: An initial [.gitignore file](./.gitignore) has been added with the entry ".DS_Store" for macOS.  

### Sync with the HUB

```bash
arc sync -m "Added a README template, .gitignore for macOS and a CC-BY 4.0 licence file."
```  

## Only for this Grow-an-ARC_Example - add the README.md which contains the procedure described here...

```bash
touch README.md
```  

... and, of course, synchronize again with a message explaining what has been changed.

```bash
arc sync -m "Added the README for this Grow-an-ARC_Example ARC including the process of growing this ARC."
```