Some aligners such as minimap2 do not write the SEQ and QUAL fields to secondary alignments making it hard to analyze them. This program adds these back, referring to the primary alignment to get the SEQ and QUAL, and adding them to the secondaries. This is a two (or three for sorted output) pass program, one collects the secondaries and the other adds the tags to the secondaries.
First install rust, probably with rustup https://rustup.rs/
Then
cargo install secondary_rewriter
```
samtools view yourfile.bam | secondary_rewriter --pass1 > secondaries.txt
samtools view -h yourfile.bam | secondary_rewriter --pass2 --secondaries secondaries.txt | samtools view -o out.bam
samtools sort out.bam -o out.sorted.bam ```
The two-pass strategy works as follows
My second rust project!