BraCeR

From Alliance Doc
Jump to navigation Jump to search
This site replaces the former Compute Canada documentation site, and is now being managed by the Digital Research Alliance of Canada.

Ce site remplace l'ancien site de documentation de Calcul Canada et est maintenant géré par l'Alliance de recherche numérique du Canada.


This article is a draft

This is not a complete article: This is a draft, a work in progress that is intended to be published into an article, which may or may not be ready for inclusion in the main wiki. It should not necessarily be considered factual or authoritative.



BraCeR - reconstruction of B cell receptor sequences from single-cell RNA-seq data.

Installation

The follwing will install parts of BraCeR in the following locations:

  • Content of the BraCeR Git-reposistory: $HOME/bracer
  • Virtual Python environment: $HOME/venv_bracer
  • Transcriptome databeses for Kallisto: /scratch/$USER/GRCh38 and /scratch/$USER/GRCm38

However it could also be structured differently. Please refer to our Storage and file management page for a comparism of the different storeage types available.

# BraCeR installation instructions as of August 2022.
# Get bracer
cd ~/
git clone https://github.com/Teichlab/bracer.git

# load modules
module load python/3.8
module load gcc/9.3.0 bowtie2/2.4.1 bowtie/1.3.0 trinity/2.14.0 samtools/1.15.1
module load igblast/1.17.0   blast+/2.12.0    kallisto/0.46.1
module load samtools/1.15.1  jellyfish/2.3.0
module load salmon/1.7.0     fastqc/0.11.9

# create a virtualenv for bracer and install dependencies
virtualenv --no-download  ~/venv_bracer
source ~/venv_bracer/bin/activate
pip install --no-index biopython==1.77
pip install --no-index -r ~/bracer/requirements.txt
pip install --no-index graphviz

# install bracer into venv
cd ~/bracer/
python setup.py install

# install Trim Galore
pusd $VIRTUAL_ENV/
## download and extract Trim Galore
wget https://github.com/FelixKrueger/TrimGalore/archive/refs/tags/0.6.7.tar.gz \
    -O TrimGalore-0.6.7.tar.gz
tar xzf TrimGalore-0.6.7.tar.gz
# tweak the Perl "hashbang":
sed -i 's&#!/usr/bin/perl&#!/usr/bin/env perl&'  TrimGalore-0.6.7/trim_galore
# copy  the trim_galore Perl-script into the virtualenv's "bin" directory:
cp  TrimGalore-0.6.7/trim_galore  $VIRTUAL_ENV/bin
popd

# Base transcriptomes for Kallisto
# adapted https://github.com/Teichlab/bracer#base-transcriptomes-for-kallisto
# to download from https://www.gencodegenes.org/
# This downloads the latest releases 41 (Human) and M30 (mouse) respectively
cd ~/scratch
mkdir GRCh38
cd GRCh38
wget https://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_41/gencode.v41.transcripts.fa.gz
gunzip gencode.v41.transcripts.fa.gz
python3 ~/bracer/docker_helper_files/gencode_parse.py gencode.v27.transcripts.fa
cd ..

mkdir GRCm38
cd GRCm38
wget https://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_mouse/release_M30/gencode.vM30.transcripts.fa.gz
gunzip gencode.vM30.transcripts.fa.gz
python3 ~/bracer/docker_helper_files/gencode_parse.py gencode.vM30.transcripts.fa
cd ~/

Running Bracer

Note: Make sure to replace USERNAME with your username in the bracer.conf:

Bracer.conf

File : bracer.conf

# Configuration file for BraCeR#

[tool_locations]
# paths to tools used by BraCeR for alignment, quantitation, etc
# As all tools are in the PATH this section can be empty

[trinity_options]
# line below specifies maximum memory for Trinity Jellyfish component. 
# Set it appropriately for your environment.
max_jellyfish_memory = 15G

# undocumented option
trinity_version = 2

[kallisto_transcriptomes]
Hsap = /scratch/USERNAME/GRCh38
Mmus = /scratch/USERNAME/GRCm38
 
[bracer_location]
#Path to where BraCeR was originally installed
bracer_path = /home/USERNAME/bracer/


Jobscript

File : bracer_job.sh

#!/bin/bash
#SBATCH --time=0-00:30  # 30 minutes  (D-hh:mm)
#SBATCH --cpus-per-task=4 
#SBATCH --mem-per-cpu=4000M

module load gcc/9.3.0 bowtie2/2.4.1 bowtie/1.3.0 trinity/2.14.0 samtools/1.15.1
module load igblast/1.17.0   blast+/2.12.0    kallisto/0.46.1
module load samtools/1.15.1  jellyfish/2.3.0
module load salmon/1.7.0     fastqc/0.11.9

echo "---------------------------------------------------------------------"
module -w 80 list
echo "---------------------------------------------------------------------"

source ~/venv_bracer/bin/activate

bracer assemble  --ncores ${SLURM_CPUS_PER_TASK:-1} --config_file bracer.conf  \
       my_cell_name   ./my_output_directory/   file_001.fastq   file_002.fastq \