[samtools reheader] Can't change chromosome name
1
0
Entering edit mode
9.9 years ago
madkitty ▴ 690

I have a BAM file (containing reads mapped to only one chromosome), that has a very long header. I need to replace the long header of the chromosome by "chrM" and did the following:

samtools view -H my.bam > header.sam
sed "s/longheader/chrM/" header.sam > header_corrected.sam # (longheader stands for the long header..)
samtools reheader header_corrected.sam my.bam

Both header.sam and header_corrected.sam have the appropriate header. This query doesn't work and only displays a bunch of unreadable characters just as is I didn't use samtools to read the bam file.. what's wrong with my query? Is there another way to substitute "longheader" with "chrM"?

samtools bam reheader • 4.0k views
ADD COMMENT
3
Entering edit mode
9.9 years ago
cts ★ 1.7k

My guess would be that samtools reheader outputs a bam file which is a binary representation of the text from a sam file. That is why you're getting all those unreadable characters on your screen. To test this out try to redirect the output to a file and then use samtools view to see the text representation.

$ samtools reheader header_corrected.sam my.bam >new.bam
$ samtools view new.bam
ADD COMMENT
1
Entering edit mode

Your guess is correct. Samtools will never modify a file in place, since that would almost certainly lead to a corrupted file.

ADD REPLY
0
Entering edit mode

It worked well, thanks :)

ADD REPLY

Login before adding your answer.

Traffic: 1719 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6