This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Bowtie2 and Hisat2 read mapping comparisons

I'm running alignment of ChiP-Seq reads using the two aligners. With Bowtie2, I get a higher alignment rate, but the challenge I come across is that the number of reads that align concordantly exactly 1 times is very low.

14538364 reads; of these:
14538364 (100.00%) were paired; of these:
  542575 (3.73%) aligned concordantly 0 times
  **4827617 (33.21%) aligned concordantly exactly 1 time**
  9168172 (63.06%) aligned concordantly >1 times
  ----
  542575 pairs aligned concordantly 0 times; of these:
    62911 (11.59%) aligned discordantly 1 time
  ----
  479664 pairs aligned 0 times concordantly or discordantly; of these:
    959328 mates make up the pairs; of these:
      368359 (38.40%) aligned 0 times
      163260 (17.02%) aligned exactly 1 time
      427709 (44.58%) aligned >1 times
 98.73% overall alignment rate

Using HISAT2, with the same reads, I get prity low overall alignment rate, but the number of reads that align exactly one times increases

14538364 reads; of these:
14538364 (100.00%) were paired; of these:
  3237765 (22.27%) aligned concordantly 0 times
  **10611831 (72.99%) aligned concordantly exactly 1 time**
  688768 (4.74%) aligned concordantly >1 times
  ----
  3237765 pairs aligned concordantly 0 times; of these:
    97017 (3.00%) aligned discordantly 1 time
  ----
  3140748 pairs aligned 0 times concordantly or discordantly; of these:
    6281496 mates make up the pairs; of these:
      4046882 (64.43%) aligned 0 times
      1751945 (27.89%) aligned exactly 1 time
      482669 (7.68%) aligned >1 times
 86.08% overall alignment rate

I am not sure which is the best approach to take, because most papers are using Bowtie2 alignment for ChIP-Seq read mapping, but for my case, it appears HISAT2 gives better mapping of reads.

hisat2 bowtie2

I am running Bowtie using the --local option, but the global mapping never yielded a better result either.

#!/bin/bash
set -x

# Path to Bowtie2 index
index="Csec_bowtie_index"

# Output folder
output_folder="mapped.fastp.bowtie2"

# Create the output folder if it doesn't exist
mkdir -p "$output_folder"

# Iterate over paired-end read files in the input folder
for file1 in *_R1.fastq.gz; do
    # Assuming that the naming convention for your paired-end files is _R1.fastq.gz and _R2.fastq.gz
    file2=${file1/_R1/_R2}

    # Extract sample name
    sample_name=$(basename "$file1" _R1.fastq.gz)

    # Bowtie2 command with mapping report
    bowtie2 --no-unal -p 32 -x "$index" --local --very-sensitive-local -1 "$file1" -2 "$file2" -S "$output_folder/$sample_name.sam" 2> "$output_folder/$sample_name.report"
done

For Hisat2 this is the command line I use.

#!/bin/bash
for i in *_R1.fastq.gz; do (hisat2 -p 4 -x Csec_GCF_index -1 $i -2 ${i%%_R1.fastq.gz}"_R2.fastq.gz" -S ${i%%_R1.fastq.gz}".sam" --known-splicesite-infile csec_GCF_splice_sites.txt -p 9 --summary-file ${i%%_R1.fastq.gz}".report"); done

Is there something wrong?

the matter at hand here is that when you have a read-pair and one aligner aligns it concordantly and the other aligns it discordantly who should we trust?

A more sensitive aligner will produce more alignments, and that may produce more discordant alignments.

You are running bowtie2 with a very-sensitive-local parameter, which will produce a lot many more alignments, and perhaps it is worth looking at what exactly is going on there.

0 answers

No answers yet.

Log in to answer this question.