Skip to content

Commit 582923e

Browse files
Revise SOP for new project repository creation
Updated the SOP for creating and logging new project repositories, including detailed instructions on project naming, repository cloning, and updating project lists. Added author information and improved formatting for clarity.
1 parent 8f5b313 commit 582923e

File tree

1 file changed

+44
-21
lines changed

1 file changed

+44
-21
lines changed

SOP.md

Lines changed: 44 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,44 @@
11
# GDSC: Building a new project SOP
2+
**Author: Mike Martinez, November, 2025**
3+
4+
## Overview
5+
6+
This standard operating procedure (SOP) describes the standard procedure for core personnel when creating and logging a new project repository within the [Dartmouth Data Analytics Core Github Organization](https://github.com/Dartmouth-Data-Analytics-Core). Please follow these steps to ensure:
7+
8+
- Consistent project naming and structure
9+
- Proper tracking in the [GDSC-Projects repo](https://github.com/Dartmouth-Data-Analytics-Core/GDSC-Projects)
10+
- Accurate updates to statistics dashboard
211

312
## Initializing a project repo
13+
1. **Create the repository on github**
14+
- Create a new private github repository initialized with a README.md
15+
- Naming convention should be as follows: `YYMMDD-Client-Description`
16+
- Example: `260101-Smith-kidney-scRNASeq`
417

5-
1. Create a new private github repository initialized with a README.md
6-
2. Naming convention should be as follows: `YYMMDD-Client-Description`
7-
3. On Github Desktop or Git, clone the repository to the respective client folder on Discovery within GMBSR_bioinfo. For example, if the project is 260101-Smith-RNASeq, clone the repo to GMBSR_bioinfo/Labs/smith
18+
2. **Clone the repository**
19+
- On Github Desktop or command-line git clone the newly created repository to the appropriate client folder on Discovery `GMBSR_bioinfo/labs/<client_lastname>`
820

921
## Updating the project master list
1022

11-
For organization and a public-facing record of our work it is important to update the master list of project housed in the [GDSC-Projects Repo](tps://github.com/Dartmouth-Data-Analytics-Core/GDSC-Projects/). The README.md
12-
on that repository contains drop down lists of projects, split by client. Client names follow alphabetical order. Information included in each client table includes the repo name, a data-modality category, a link to the
13-
private repo (which only GDSC team members can access) and the date the repo was added. A Github action is set such that every time this README.md is modified, or a change is pushed to this repo, a tally of modalities
14-
will be updated. **You do not need to manually change this in the readme!** The script which completes the tallying is set to accept harmonized alises for each data modality, but new terms can be addedd in as well within the
15-
script [here](https://github.com/Dartmouth-Data-Analytics-Core/GDSC-Projects/blob/main/scripts/tallyModalities.py) under the `ALIASES` section. Any term not included in the alises will be counted as its own category.
23+
The [GDSC-Projects repo](https://github.com/Dartmouth-Data-Analytics-Core/GDSC-Projects) maintains a centralized list of **all active projects**.
24+
25+
Each project entry is used for:
26+
27+
- Core personell's ability to quickly locate a project directory of interest.
28+
- Public visibility of our analytical breadth
29+
- Automated modality tallying via Github Actions
1630

17-
**For new clients not already listed:**
31+
**Important notes**
1832

19-
1. Create a new header for this client by alphabetically placing their name within the list using this structure: *You can just copy and paste a block from the README.md and edit as necessary!*
33+
- The [tallying sript](https://github.com/Dartmouth-Data-Analytics-Core/GDSC-Projects/blob/main/scripts/tallyModalities.py) runs **automatically** after each push or modification to the README.md, **do not manually edit modality counts**
34+
35+
- Valid modality aliases are listed in the tallying script under the `ALIASES` section
36+
37+
- If you introduce a new modality name, add it a an alias in the script to keep the counts harmonized (i.e, RNA-Seq is the same as RNAseq, but if one is not listed in the aliases, they will be counted as separate categories.)
38+
39+
**Adding a new client**
40+
41+
If the client is not already listed, create a new expandable section using a (< details > block) in alphabetical order. If easier, you can also copy a pre-existing block, paste in the correct location, and modify the tabular information as needed
2042

2143
```
2244
<details>
@@ -30,24 +52,25 @@ script [here](https://github.com/Dartmouth-Data-Analytics-Core/GDSC-Projects/blo
3052
3153
```
3254

33-
**Formatting details**
34-
35-
- Repo name should be exactly as it appears on github
36-
- Modality should typically match one of the aliases in `scripts/tallyModalities.py`, or a new aslias should be added directly to the script (ex, try and avoid having RNA-Seq in some places and RNAseq in others)
37-
- Repo should be a clickable hyperlink called "Github". To create hyperlinks in markdown use this convention: [Github](htpps://github.com/link/to/repo/)
38-
- Date column should be in MM/DD/YYYY format
39-
40-
41-
**For clients already listed**
55+
**Adding new projects to existing clients**
4256

43-
1. Locate the client on the README.md and edit to add a new row to their table
57+
If the client already exists, simply add a new row to their project table.
4458

4559
```
4660
| Project | Modality | Repo | Date|
4761
|----------|-----------|------|----|
4862
|REPO NAME| DATA MODALITY| [Github](https://github.com/link/to/repo/)| MM/DD/YYYY |
4963
|NEW PROJECT| DATA MODALITY| [Github](https://github.com/link/to/new_repo/)| MM/DD/YYYY |
50-
5164
```
5265

66+
**Formatting Guidelines**
67+
68+
- `Repo name` should match exactly the Github repository name
69+
70+
- `Modality` should use consistent modality terminology that matches existing aliases, or add a new alias to the tallying script.
71+
72+
- `Repo` should be a hyperlink to the repository called "Github". Use markdown hyperlinks using this formula: ```[Github](link)```
73+
74+
- Date column should be in MM/DD/YYYY format
75+
5376

0 commit comments

Comments
 (0)