Skip to content

Commit

Permalink
Rebrand template placeholders w/ CHAMPAGNE name
Browse files Browse the repository at this point in the history
  • Loading branch information
kelly-sovacool committed Aug 15, 2023
1 parent 61c480a commit 3ba2e7b
Show file tree
Hide file tree
Showing 22 changed files with 65 additions and 157 deletions.
55 changes: 14 additions & 41 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,12 @@
# Nextflow Template
# CHAMPAGNE 🍾

CCBR template for creating Nextflow pipelines
CHromAtin iMmuno PrecipitAtion sequencinG aNalysis pipEline

This template takes inspiration from nektool[^1] and the nf-core template. If you plan to contribute your pipeline to nf-core, don't use this template -- instead follow their instructions[^2].

[^1]: nektool https://github.com/beardymcjohnface/nektool
[^2]: instructions for nf-core pipelines https://nf-co.re/docs/contributing/tutorials/creating_with_nf_core
🚧**This project is under active development. It is not yet ready for production use.** 🚧

## Getting started

1. Create a new repository from this template using either of these options:
- [**The GitHub web interface**](https://github.com/CCBR/CCBR_NextflowTemplate):
Click "Use this template" and "Create a new repository", then choose an owner (CCBR) and the repository name as the new tool's name.
- [**The GitHub command line interface**](https://cli.github.com/):
```sh
gh repo create CCBR/TOOL_NAME \
--description "One-line description of your tool" \
--public \
--template CCBR/CCBR_NextflowTemplate \
--confirm
```
1. Change all instances of `TOOL_NAME` throughout the repo with the actual tool name. Places include:
- `docs/CHANGELOG.md`
- `mkdocs.yml`
- `README.md`
- `pyproject.toml`
- `src/TOOL_NAME`
- `src/TOOL_NAME/CITATION`
- `src/TOOL_NAME/__main__.py`
1. Edit `pyproject.toml` with correct information for your tool. You will likely need to change:
- author names and emails
- dependencies
- project URLs
1. Write your nextflow workflow in `src/TOOL_NAME/workflow`.
1. Write your documentation in `docs/` and enable GitHub Pages.
- In settings, go to General > Pages and select the `gh-pages` branch.
mkdocs will build your site under the `gh-pages` branch, and GitHub Pages will make it available at `https://ccbr.github.io/TOOL_NAME`.

You can look for instances of `TOOL_NAME` in case you missed any with grep:

```sh
grep -r "TOOL_NAME" *
```
TODO

## Usage

Expand All @@ -57,7 +22,7 @@ Run the example
TOOL_NAME run --input "Hello world"
```

## Maintaining your tool
## Developer notes

### Use pre-commit hooks

Expand All @@ -69,10 +34,18 @@ Pre-commit will run the hooks every time you commit.

### Versions

Increment the version number following semantic versioning[^3] in `src/TOOL_NAME/VERSION`
Increment the version number following semantic versioning[^3] in `src/CHAMPAGNE/VERSION`

[^3]: semantic versioning guidelines https://semver.org/

### Changelog

Keep the changelog up to date with any user-facing changes in `docs/CHANGELOG.md`

## References

This repo was originally generated from the [CCBR Nextflow Template](https://github.com/CCBR/CCBR_NextflowTemplate).
The template takes inspiration from nektool[^1] and the nf-core template. If you plan to contribute your pipeline to nf-core, don't use this template -- instead follow their instructions[^2].

[^1]: nektool https://github.com/beardymcjohnface/nektool
[^2]: instructions for nf-core pipelines https://nf-co.re/docs/contributing/tutorials/creating_with_nf_core
19 changes: 3 additions & 16 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,5 @@
## TOOL_NAME v0.1.0.apha

### API-breaking changes
## CHAMPAGNE development version

- change 1
- example 2

### New features

- new feat 1

### Bug fixes

- description of bug fixed

## TOOL_NAME v0.1.0

This is the first release of TOOL_NAME 🎉
_This project is under active development_
<!--This is the first release of CHAMPAGNE 🎉-->
4 changes: 3 additions & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
Information on who the pipeline was developed for, and a statement if it's only been tested on Biowulf. For example:
TODO Information on who the pipeline was developed for, and a statement if it's only been tested on Biowulf. For example:

It has been developed and tested solely on NIH [HPC Biowulf](https://hpc.nih.gov/).

Also include a workflow image to summarize the pipeline.

TODO: programmatically add readme contents here? similar to pkgdown.
12 changes: 7 additions & 5 deletions docs/user-guide/contributions.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
Should include a list of all contributors, including GitHub handles when appropriate. In addition, a statement of who contributed to the source code specifically, identified by initials. An example is included below.
TODO Should include a list of all contributors, including GitHub handles when appropriate. In addition, a statement of who contributed to the source code specifically, identified by initials. An example is included below.

# Contributions
# Contributors

The following members contributed to the development of the CARLISLE pipeline:
The following members contributed to the development of CHAMPAGNE:

- [Samantha Sevilla](https://github.com/slsevilla)
- [Kelly Sovacool](https://github.com/kelly-sovacool)
- [Vishal Koparde](https://github.com/kopardev)

SS contributed to the generating the source code and all members contributed to the main concepts and analysis.
KLS developed the source code.
All members contributed to the main concepts and analysis.
18 changes: 7 additions & 11 deletions docs/user-guide/getting-started.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
This should set the stage for all of the pipeline requirements. Examples are listed below.

# Overview

The CARLISLE github repository is stored locally, and will be used for project deployment. Multiple projects can be deployed from this one point simultaneously, without concern.
TODO

## 1. Getting Started

## 1.1 Introduction

The CARLISLE Pipelie beings with raw FASTQ files and performs trimming followed by alignment using [BOWTIE2](https://bowtie-bio.sourceforge.net/bowtie2/index.shtml). Data is then normalized through either the use of an user-species species (IE E.Coli) spike-in control or through the determined library size. Peaks are then called using [MACS2](https://hbctraining.github.io/Intro-to-ChIPseq/lessons/05_peak_calling_macs.html), [SEACR](https://github.com/FredHutch/SEACR), and [GoPEAKS](https://genomebiology.biomedcentral.com/articles/10.1186/s13059-022-02707-w) with various options selected by the user. Peaks are then annotated, and summarized into reports. If designated, differential analysis is performed using [DESEQ2](https://bioconductor.org/packages/release/bioc/html/DESeq2.html). QC reports are also generated with each project using [FASTQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/) and [MULTIQC](https://multiqc.info/). Annotations are added using [HOMER](http://homer.ucsd.edu/homer/ngs/annotation.html) and [ROSE](https://github.com/stjude/ROSE). GSEA Enrichment analysis predictions are added using [CHIPENRICH](https://bioconductor.org/packages/devel/bioc/vignettes/chipenrich/inst/doc/chipenrich-vignette.html).
TODO

The following are sub-commands used within CARLISLE:
The following are sub-commands available:

- initialize: initialize the pipeline
- dryrun: predict the binding of peptides to any MHC molecule
Expand All @@ -22,16 +21,13 @@ The following are sub-commands used within CARLISLE:
- report: create SNAKEMAKE report
- testrun: copies test manifests and files to WORKDIR

## 1.2 Setup Dependencies
## 1.2 Install Dependencies

CARLISLE has several dependencies listed below. These dependencies can be installed by a sysadmin. All dependencies will be automatically loaded if running from Biowulf.

- bedtools: "bedtools/2.30.0"
- bedops: "bedops/2.4.40"
TODO

## 1.3 Login to the cluster

CARLISLE has been exclusively tested on Biowulf HPC. Login to the cluster's head node and move into the pipeline location.
TODO biowulf, frce, other cloud options?

```
# ssh into cluster's head node
Expand All @@ -43,6 +39,6 @@ ssh -Y [email protected]
An interactive session should be started before performing any of the pipeline sub-commands, even if the pipeline is to be executed on the cluster.

```
# Grab an interactive node
# Start an interactive node
sinteractive --time=12:00:00 --mem=8gb --cpus-per-task=4 --pty bash
```
59 changes: 2 additions & 57 deletions docs/user-guide/output.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
This should include all pertitant information about output files, including extensions that differentiate files. An example is provided below.

# 4. Expected Outputs

The following directories are created under the WORKDIR/results directory:
TODO The following directories are created under the WORKDIR/results directory:

- alignment_stats: this directory include information on the alignment of each sample
- peaks: this directory contains a sub-directory that relates to the quality threshold used.
Expand All @@ -15,59 +14,5 @@ The following directories are created under the WORKDIR/results directory:
- rose: this directory includes the annotation output from ROSE

```
├── alignment_stats
├── bam
├── peaks
│   ├── 0.05
│   │   ├── contrasts
│   │   │   ├── contrast_id1.dedup_status
│   │   │   └── contrast_id2.dedup_status
│   │   ├── gopeaks
│   │   │   ├── annotation
│   │   │   │   ├── go_enrichment
│   │   │   │   │   ├── contrast_id1.dedup_status.go_enrichment_tables
│   │   │   │   │   └── contrast_id2.dedup_status.go_enrichment_html_report
│   │   │   │   ├── homer
│   │   │   │   │   ├── replicate_id1_vs_control_id.dedup_status.gopeaks_broad.motifs
│   │   │   │   │   │   ├── homerResults
│   │   │   │   │   │   └── knownResults
│   │   │   │   │   ├── replicate_id1_vs_control_id.dedup_status.gopeaks_narrow.motifs
│   │   │   │   │   │   ├── homerResults
│   │   │   │   │   │   └── knownResults
│   │   │   │   │   ├── replicate_id2_vs_control_id.dedup_status.gopeaks_broad.motifs
│   │   │   │   │   │   ├── homerResults
│   │   │   │   │   │   └── knownResults
│   │   │   │   │   ├── replicate_id2_vs_control_id.dedup_status.gopeaks_narrow.motifs
│   │   │   │   │   │   ├── homerResults
│   │   │   │   │   │   └── knownResults
│   │   │   │   └── rose
│   │   │   │   ├── replicate_id1_vs_control_id.dedup_status.gopeaks_broad.12500
│   │   │   │   ├── replicate_id1_vs_control_id.dedup_status.gopeaks_narrow.12500
│   │   │   │   ├── replicate_id2_vs_control_id.dedup_status.dedup.gopeaks_broad.12500
│   │   │   │   ├── replicate_id2_vs_control_id.dedup_status.dedup.gopeaks_narrow.12500
│   │   │   └── peak_output
│   │   ├── macs2
│   │   │   ├── annotation
│   │   │   │   ├── go_enrichment
│   │   │   │   │   ├── contrast_id1.dedup_status.go_enrichment_tables
│   │   │   │   │   └── contrast_id2.dedup_status.go_enrichment_html_report
│   │   │   │   ├── homer
│   │   │   │   │   ├── replicate_id1_vs_control_id.dedup_status.macs2_narrow.motifs
│   │   │   │   │   │   ├── homerResults
│   │   │   │   │   │   └── knownResults
│   │   │   │   │   ├── replicate_id1_vs_control_id.dedup_status.macs2_broad.motifs
│   │   │   │   │   │   ├── homerResults
│   │   │   │   │   │   └── knownResults
│   │   │   │   │   ├── replicate_id2_vs_control_id.dedup_status.macs2_narrow.motifs
│   │   │   │   │   │   ├── homerResults
│   │   │   │   │   │   └── knownResults
│   │   │   │   │   ├── replicate_id2_vs_control_id.dedup_status.macs2_broad.motifs
│   │   │   │   │   │   ├── homerResults
│   │   │   │   │   │   └── knownResults
│   │   │   │   └── rose
│   │   │   │   ├── replicate_id1_vs_control_id.dedup_status.macs2_broad.12500
│   │   │   │   ├── replicate_id1_vs_control_id.dedup_status.macs2_narrow.12500
│   │   │   │   ├── replicate_id2_vs_control_id.dedup_status.macs2_broad.12500
│   │   │   │   ├── replicate_id2_vs_control_id.dedup_status.macs2_narrow.12500
│   │   │   └── peak_output
# TODO use tree command to show working directory structure
```
2 changes: 1 addition & 1 deletion docs/user-guide/preparing-files.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
This should describe any input files needed, including config files, manifest files, and sample files. An example is provided below.
TODO his should describe any input files needed, including config files, manifest files, and sample files. An example is provided below.

# 2. Preparing Files

Expand Down
4 changes: 3 additions & 1 deletion docs/user-guide/run.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
This should include all information about the various run commands provided within the pipeline.
TODO This should include all information about the various run commands provided within the pipeline.

# 3. Running the Pipeline

## 3.1 Pipeline Overview

The Snakemake workflow has a multiple options:

TODO using quarto would allow us to generate this dynamically.

```
Usage: bash ./data/CCBR_Pipeliner/Pipelines/CARLISLE/carlisle -m/--runmode=<RUNMODE> -w/--workdir=<WORKDIR>
1. RUNMODE: [Type: String] Valid options:
Expand Down
2 changes: 1 addition & 1 deletion docs/user-guide/test-info.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
This should walk the user through the steps of running the pipeline using test data
TODO This should walk the user through the steps of running the pipeline using test data

# 5. Pipeline Tutorial

Expand Down
2 changes: 1 addition & 1 deletion docs/user-guide/troubleshooting.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
This should include basic information on how to troubleshoot the pipeline. It should also include the main pipeliner developers contact information for users to utilize, as needed.
TODO This should include basic information on how to troubleshoot the pipeline. It should also include the main pipeliner developers contact information for users to utilize, as needed.

# Troubleshooting

Expand Down
12 changes: 6 additions & 6 deletions mkdocs.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Project Information
site_name: TOOL_NAME Pipeline
site_author: Samantha Sevilla, Ph.D.
site_name: CHAMPAGNE
site_author: CCR Collaborative Bioinformatics Resource
site_description: >-
TOOL_NAME Pipeline
CHAMPAGNE
# Repository
repo_name: CCBR/TOOL_NAME
repo_url: https://github.com/CCBR/TOOL_NAME
edit_uri: https://github.com/CCBR/TOOL_NAME/edit/main/docs/
repo_name: CCBR/CHAMPAGNE
repo_url: https://github.com/CCBR/CHAMPAGNE
edit_uri: https://github.com/CCBR/CHAMPAGNE/edit/main/docs/

# Copyright
copyright: Copyright &copy; 2023 CCBR
Expand Down
17 changes: 9 additions & 8 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,13 @@ requires = [
build-backend = 'setuptools.build_meta'

[project]
name = 'TOOL_NAME'
name = 'CHAMPAGNE'
dynamic = ['version','readme']
description = "One-line description of your tool."
keywords = ["bioinformatics", "nextflow"]
authors = [
{name = "Firstname Lastname", email = "[email protected]"},
{name = "Kelly Sovacool", email = "[email protected]"},
{name = "Vishal Koparde", email = "[email protected]"},
]
maintainers = [
{name = "CCR Collaborative Bioinformatics Resource", email = "[email protected]"},
Expand Down Expand Up @@ -46,16 +47,16 @@ test = [
]

[project.scripts]
TOOL_NAME = "TOOL_NAME.__main__:main"
CHAMPAGNE = "CHAMPAGNE.__main__:main"

[project.urls]
Homepage = "https://ccbr.github.io/TOOL_NAME"
Documentation = "https://ccbr.github.io/TOOL_NAME"
Repository = "https://github.com/CCBR/TOOL_NAME"
Changelog = "https://github.com/CCBR/TOOL_NAME/blob/main/docs/CHANGELOG.md"
Homepage = "https://ccbr.github.io/CHAMPAGNE"
Documentation = "https://ccbr.github.io/CHAMPAGNE"
Repository = "https://github.com/CCBR/CHAMPAGNE"
Changelog = "https://github.com/CCBR/CHAMPAGNE/blob/main/docs/CHANGELOG.md"

[tools.setuptools]
packages = ["TOOL_NAME"]
packages = ["CHAMPAGNE"]

[tool.setuptools.dynamic]
version = {file = "src/VERSION"}
Expand Down
File renamed without changes.
1 change: 1 addition & 0 deletions src/CHAMPAGNE/VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.1.0
File renamed without changes.
14 changes: 7 additions & 7 deletions src/TOOL_NAME/__main__.py → src/CHAMPAGNE/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,22 +70,22 @@ def cli():
"""NextFlow-powered commandline tool to do a thing.
\b
For more options, run:
TOOL_NAME command --help"""
CHAMPAGNE command --help"""
pass


help_msg_extra = """
\b
CLUSTER EXECUTION:
TOOL_NAME run ... -profile [profile],[profile],...
CHAMPAGNE run ... -profile [profile],[profile],...
For information on Nextflow config and profiles see:
https://www.nextflow.io/docs/latest/config.html#config-profiles
\b
RUN EXAMPLES:
Required: TOOL_NAME run --input [file]
Specify threads: TOOL_NAME run ... --threads [threads]
Enable conda: TOOL_NAME run ... --use-conda
Add NextFlow args: TOOL_NAME run ... -work-dir workDir -with-docker
Required: CHAMPAGNE run --input [file]
Specify threads: CHAMPAGNE run ... --threads [threads]
Enable conda: CHAMPAGNE run ... --use-conda
Add NextFlow args: CHAMPAGNE run ... -work-dir workDir -with-docker
"""


Expand Down Expand Up @@ -144,7 +144,7 @@ def citation(**kwargs):

cli.add_command(run)
cli.add_command(config)
# cli.add_command(citation) # uncomment if TOOL_NAME is published in a journal or Zenodo
# cli.add_command(citation) # uncomment if CHAMPAGNE is published in a journal or Zenodo


def main():
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
1 change: 0 additions & 1 deletion src/TOOL_NAME/VERSION

This file was deleted.

0 comments on commit 3ba2e7b

Please sign in to comment.