A Nextflow Pipeline for Characterizing B-cell Receptor Repertoires from Non-targeted Transcriptomic Data
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
-
The bcRflow pipeline (©️ 2023) was developed by the team at the Bioinformatics Core @ the UPMC Children's Hospital of Pittsburgh, with additional support from the University of Pittsburgh Center for Research Computing.
-
The use of MiXCR and IMGT in this pipeline are for strictly non-commerical, academic purposes. In order to obtain a non-commercial license to use MiXCR, please see: https://licensing.milaboratories.com/
-
For inquiries or technical assistance, please open a new Issue.
-
Any reproductions or publications utilizing this pipeline should attribute all proper credit for development to the Development team (see above).
- MiXCR (Version 4.6)
- Nextflow (Version 23.04.2, DSL2 enabled)
- R (Version 4.3.0)
- Docker / Docker Hub
bcRflow utilizes nf-core configurations for wide availability to run on multiple institutional computing resources and cloud-based utilities like AWS. For additional information on available configurations and how to use them, see: https://nf-co.re/configs. Users must install Nextflow, Docker or Singularity, and squashfs-tools (for building the Singularity container in a linux environment). All other software dependencies are handled behind the scenes with our precompiled Docker container. Users must generate a unique academic MiXCR license in order to run MiXCR, see https://mixcr.com/mixcr/getting-started/milm/ for details.
- Nextflow >= 23.04.2
- Docker or Singularity
- squashfs-tools (available on most systems)
- For HPC jobs, nodes require internet access for MiXCR license validation
- Offline use:
MiXCR requires internet access to periodically validate license key. For running MiXCR in the environment with restricted internet access, please add the following MiXCR IPs to the whitelist in the firewall settings:
IPv4: 75.2.96.100 99.83.215.63 IPv6: 2600:9000:a403:55e8:f9c1:f443:773b:4192 2600:9000:a51b:2483:639d:d5a9:270f:6439
- Offline use:
MiXCR requires internet access to periodically validate license key. For running MiXCR in the environment with restricted internet access, please add the following MiXCR IPs to the whitelist in the firewall settings:
- Get a free MiXCR Academic License at https://licensing.milaboratories.com/, and activate the license.
- Clone the repo
git clone https://github.com/Bioinformatics-Core-at-Childrens/bcRflow/tree/main/workflow.git
- Install Nextflow: https://www.nextflow.io/docs/latest/getstarted.html
- Enter your MiXCR License in
nextflow.configmixcr_license = 'ENTER YOUR LICENSE';
-
Set your sample metadata file according to the following structure (comma-separated):
| SampleID | R1 | R2 | Group | |---------- |------------------------------ |------------------------------ |-------- | | Sample1 | /path/to/fastq/Sample1_R1.fq | /path/to/fastq/Sample1_R2.fq | Group1 | | (...) | (...) | (...) | (...) | | SampleN | /path/to/fastq/SampleN_R1.fq | /path/to/fastq/SampleN_R2.fq | GroupN |
(see /db/sampleslist.csv for a template)
-
Edit the nextflow.config file:
input = "/path/to/samplesList.csv" // path to sample metadata file project_name = "project_name" // name your project species = 'hsa' // species should be one of 'hsa' or 'mmu' chain = "IGH" // chain of interest (default of IGH) indir = "/path/to/fastq" // path to FASTQ files outdir = '/path/to/outdir/bcRflow-out' // path to desired output directory is_sc = false // true if 10X 5' GEX samples, false if bulk downsample = false // whether or not to downsample the data to the size of the smallest repertoire threshold = 0.7 // sequence similarity threshold for clonal clustering (impacts downstream analyses) imgt = './db/imgt.202214-2.sv8.json' // don't change this mixcr_license = 'ENTER YOUR LICENSE' // paste your MiXCR license here (the string, not the file path) custom_config_base = '../configs' // path to folder containing nf-core institutional configs (typically don't need to change)
-
If using the Slurm workflow, adjust the script for your submission node accordingly, and submit:
cd ./bcRflow/workflow # enter the bcRflow directory nextflow run ./main.nf -profile slurm -resume -work-dir ./work #set the relative paths according to your directory
- Nextflow Configuration and Submission
- MiXCR Alignment and Assembly
- Alignment (bulk or 10X 5' GEX)
- Partial Assembly (2 rounds)
- Clonotype Assembly (by CDR3)
- Contig Assembly (by VDJ)
- Export IGH clones
- Downstream Analysis
- Repertoire Diversity (Immunarch and Vegan)
- Variable Gene Usage (IGH-V and IGH-V/J pairs)
- Somatic Hypermutation (MiXCR)
- Class-Switch Recombination (BrepPhylo and DNApars)
- Convergent Clustering and Clonal Networks (identify shared clonal sequencees)
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
- Development Lead: Brent T. Schlegel - BTS76@pitt.edu
- Corresponding Author: Dhivyaa Rajasundaram - DHR11@pitt.edu
- Project Link: https://github.com/Bioinformatics-Core-at-Childrens/bcRflow/tree/main/workflow
