#!/bin/bash # # Align reads against reference genome. PROJECT_DIRECTORY="/groups/umcg-griac/tmp01/rawdata/$(whoami)/rnaseq" # Store genome index in this location:. GENOME_INDEX="${PROJECT_DIRECTORY}/step3/genome_index" mkdir -p "${GENOME_INDEX}" # Store the generated `Aligned.sortedByCoord.out.bam` in this dir. ALIGNMENT_OUTPUT="${PROJECT_DIRECTORY}/step3/alignment/" mkdir -p "${ALIGNMENT_OUTPUT}" # 1) Generate genome index. # # N.B.: # - We're assuming a read size of 100 bp (--sjdbOverhang 100). An alternative # cut-off is 150, for low-input methods. In general, refer back to the # previous quality control steps if you are unsure about the size. In case of # reads of varying length, the ideal value is max(ReadLength)-1. # - We're using gzip compressed reference data (--readFilesCommand zcat), i.e., # .gtf.gz and fa.gz. If not, you can remove the `zcat` flag. # Storage location reference data (in this case on Gearshift). REFERENCE_DATA="/groups/umcg-griac/prm03/rawdata/reference/genome" GTF_FILE="${REFERENCE_DATA}/Homo_sapiens.GRCh38.100.gtf.gz" FASTA_FILE="${REFERENCE_DATA}/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz" STAR \ --runThreadN 8 \ --runMode genomeGenerate \ --readFilesCommand zcat \ --sjdbOverhang 100 \ --genomeFastaFiles ${FASTA_FILE} \ --sjdbGTFfile ${GTF_FILE} \ --genomeDir ${GENOME_INDEX} # 2) Do the actual alignment. # # N.B.: # - We are assuming paired-end, gzip compressed (--readFilesCommand zcat) FastQ # files. # The compressed, paired-end, FastQ's after trimming (step 2). R1="${PROJECT_DIRECTORY}/step2/sample1_R1_paired.fastq.gz" R2="${PROJECT_DIRECTORY}/step2/sample1_R2_paired.fastq.gz" STAR \ --runThreadN 8 \ --readFilesCommand zcat \ --readFilesIn "${R1}" "${R2}" \ --outSAMtype BAM SortedByCoordinate \ --genomeDir ${GENOME_INDEX} \ --outFileNamePrefix "${ALIGNMENT_OUTPUT}"