Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 18 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ File Ingest Pipeline for Single Cell Portal
[![Build status](https://img.shields.io/circleci/build/github/broadinstitute/scp-ingest-pipeline.svg)](https://circleci.com/gh/broadinstitute/scp-ingest-pipeline)
[![Code coverage](https://codecov.io/gh/broadinstitute/scp-ingest-pipeline/branch/master/graph/badge.svg)](https://codecov.io/gh/broadinstitute/scp-ingest-pipeline)

The SCP Ingest Pipeline is an ETL pipeline for single-cell RNA-seq data.
The SCP Ingest Pipeline is an ETL pipeline for single-cell RNA-seq data.

# Prerequisites
* Python 3.6+
Expand Down Expand Up @@ -41,24 +41,30 @@ vault read secret/kdux/scp/development/$BROAD_USER/mongo/hostname
export DATABASE_HOST="<ip from Vault (omit brackets)>"
```

## Git hooks
After installing Ingest Pipeline, add Git hooks to help ensure code quality:
```
pre-commit install && pre-commit install -t pre-push
```
The hooks will expect that [git-secrets](https://github.com/awslabs/git-secrets) has been set up. If you are a Broad Institute employee who has not done this yet, please see: [broadinstitute/single_cell_portal_configs](https://github.com/broadinstitute/single_cell_portal_configs) for specific guidance.

### Bypass hooks
In rare cases, you might need to skip Git hooks, like so:

* Skip commit hooks: `git commit ... --no-verify`
* Skip pre-push hooks: `git push ... --no-verify`

# Test
After installing:
```
source env/bin/activate
cd tests; pytest
```

# Use
See [`ingest_pipeline.py`](https://github.com/broadinstitute/scp-ingest-pipeline/blob/ew-tests-hook/ingest/ingest_pipeline.py) for usage examples.

# Git hooks
After installing Ingest Pipeline, add Git hooks to help ensure code quality:
Run this every time you start a new terminal to work on this project:
```
pre-commit install && pre-commit install -t pre-push
source env/bin/activate
```

## Bypass hooks
In rare cases, you might need to skip Git hooks, like so:

* Skip commit hooks: `git commit ... --no-verify`

* Skip pre-push hooks: `git push ... --no-verify`
See [`ingest_pipeline.py`](https://github.com/broadinstitute/scp-ingest-pipeline/blob/ew-tests-hook/ingest/ingest_pipeline.py) for usage examples.