Skip to content

samtools merge will not merge CRAM files aligned to different references #2218

Description

@dozy

Are you using the latest version of samtools and HTSlib? If not, please specify.

(run samtools --version)
samtools 1.21

Please describe your environment.

  • OS (run uname -sr on Linux/Mac OS or wmic os get Caption, Version on Windows)
  • machine architecture (run uname -m on Linux/Mac OS or wmic os get OSArchitecture on Windows)
  • compiler (run gcc --version or clang --version)
    $ uname -sr
    Linux 5.15.0-135-generic
    $ uname -m
    x86_64

Please specify the steps taken to generate the issue, the command you are running and the relevant output.

samtools merge will not merge CRAM files aligned to different references. Merge of BAM files works as I expected.

Example data is from an Illumina run. Reads were split by alignment to target organism and phiX.

example_target_phix.tar.gz

$ samtools view -b -o 50176_1#4_phix.bam 50176_1#4_phix.sam 

$ samtools view -C -o 50176_1#4.cram 50176_1#4.sam 
$ samtools view -C -o 50176_1#4_phix.cram 50176_1#4_phix.sam 
 
$ samtools merge -o merged.bam 50176_1#4.bam 50176_1#4_phix.bam 
$ samtools view -H merged.bam | grep "^@SQ"
@SQ	SN:ENA|CU458896|CU458896.1	LN:5067172	UR:/lustre/scratch120/npg_repository/references/Mycobacterium_abscessus/CU458896.1/all/fasta/CU458896.fasta	AS:CU458896	M5:ffb37b1f4cfc02b01cc8f3cafebf1e8e	SP:Mycobacterium abscessus ATCC 19977
@SQ	SN:phix	LN:5386	M5:c3f78539481dde3e7fb732c446d42d93	UR:/lustre/scratch120/npg_repository/references/PhiX/Sanger-SNPs/all/fasta/phix_unsnipped_short_no_N.fa

$ samtools merge -o merged.cram 50176_1#4.cram 50176_1#4_phix.cram 
[E::cram_decode_slice] MD5 checksum reference mismatch at phix:1490-1811
[E::cram_decode_slice] CRAM  : 61daed23708bef6e28219b8a142433b6
[E::cram_decode_slice] Ref   : 2bbaebd6ab6c35f1a740fc83d1c0bf09
[E::cram_decode_slice] @SQ M5: c3f78539481dde3e7fb732c446d42d93
[E::cram_decode_slice] Please check the reference given is correct
[E::cram_next_slice] Failure to decode slice
samtools merge: failed to read first record from "50176_1#4_phix.cram"


$ cat 50176_1#4.sam 
@HD	VN:1.5	SO:coordinate
@SQ	SN:ENA|CU458896|CU458896.1	LN:5067172	UR:/lustre/scratch120/npg_repository/references/Mycobacterium_abscessus/CU458896.1/all/fasta/CU458896.fasta	AS:CU458896	M5:ffb37b1f4cfc02b01cc8f3cafebf1e8e	SP:Mycobacterium abscessus ATCC 19977
@RG	ID:50176_1#4	DT:2025-02-27T00:00:00+0000	PU:250227_A00948_0895_AH3J3WDSXF_1#4	LB:65825089	PG:SCS	SM:ERS16371091	CN:SC	PL:ILLUMINA	DS:ERP149661: My aim is to adapt existing spatial transcriptomic methods
@PG	ID:SCS	VN:1.8.1	PN:NovaSeq Control Software	DS:Controlling software on instrument
@PG	ID:basecalling	PP:SCS	VN:Unknown	PN:Unknown	DS:Basecalling Package
A00948:895:H3J3WDSXF:1:1551:28492:34867	1187	ENA|CU458896|CU458896.1	5066916	60	151M	=	5067101	257	CTGCGAATGCCGTTTCCACCGGGCGCATGCATCGGAACCATACAAACTGGCCTATGCCGATCGCGGTCGGACACCGACTAGCCGGTCCCCCGGAGCAGGTGATCCGACATGATCTCCTGGTATACGCACACTGACAACCATGGGGGTGGTC	F,::F,FF,F,FF,,,:FF,F:,F:F:F:FFF:F:FFF,FF,F,,FF:,,,F,F::FF:FFF,F:F:F:,F,FFF,F:F,:,,,:FF,,FF,,F:FF::,,F:FFFFFFF:F:F::FF,FF,:F,FF:FFFF:F:,FF,FF:,,,,F,,FF	AS:i:131	XS:i:0	MQ:i:60	ms:i:3857	mc:i:5067251	MC:Z:72M79S	MD:Z:41C2C7G82C15	NM:i:4	RG:Z:50176_1#4
A00948:895:H3J3WDSXF:1:1551:28492:34867	1107	ENA|CU458896|CU458896.1	5067101	60	72M79S	=	5066916	-257	GAAACCCACGACCGATCGTTCAAAAGGGGCTAGTGTCGACGTGTCCCCACCAGCTGAGAGAGATGCTCGCCGTTGACTTACGAACTGAATTCCCAGTTCACGGCGGTATGTAATACCTTCGTCTCAGAGCTCAACGGTGACGACAATCAAT	,:FFFFF,FFFF,F::,,FF,:F,,:FFFFF:FFFF:,FF,FFF:F:,,,FFF:FF,F:FFF,:F,F,::,,FFF,:F,F,:FF:FFFFFF,F,,:::FFF:F,:,FFFF,FFFFF:,F,FF,,FF:FF,FF,F:,FF,FF,F,:FF:FFF	AS:i:72	XS:i:0	SA:Z:ENA|CU458896|CU458896.1,1,-,72S79M,60,4;	BC:Z:CGTCGTCG-TTTCTGAG	QT:Z:F:FFF:FF :::,::,F	MQ:i:60	ms:i:3649	mc:i:5066916	MC:Z:151M	MD:Z:72	NM:i:0	RG:Z:50176_1#4

$ cat 50176_1#4_phix.sam 
@HD	VN:1.5	SO:coordinate
@SQ	SN:phix	LN:5386	M5:c3f78539481dde3e7fb732c446d42d93	UR:/lustre/scratch120/npg_repository/references/PhiX/Sanger-SNPs/all/fasta/phix_unsnipped_short_no_N.fa
@RG	ID:50176_1#4	DT:2025-02-27T00:00:00+0000	PU:250227_A00948_0895_AH3J3WDSXF_1#4	LB:65825089	PG:SCS	SM:ERS16371091	CN:SC	PL:ILLUMINA	DS:ERP149661: My aim is to adapt existing spatial transcriptomic methods
@PG	ID:SCS	VN:1.8.1	PN:NovaSeq Control Software	DS:Controlling software on instrument
@PG	ID:basecalling	PP:SCS	VN:Unknown	PN:Unknown	DS:Basecalling Package
A00948:895:H3J3WDSXF:1:2315:25319:10551	99	phix	1490	60	151M	=	1661	322	TGCCATCTCAAAAACATTTGGACTGCTCCGCTTCCTCCTGAGACTGAGCTTTCTCGCCAAATGACGACTTCTACCACAGCTCGTGACATTATGGGTCTGCACGCTGCTTATGCTCATTTGCATACTGCCCAAGAAGGTGATTGCTTCATGC	FFFF:FFFFFFFFFF:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFFFFFFFFF,F:,,FF,,F,FFFFFF::FFFF,:FFFFFF,FFF:,:::FF:,:,FFF,F,F,FF:,F,F,FF,FFFF,F:F	AS:i:222	nn:i:0	tp:A:P	cm:i:10	s1:i:156	s2:i:0BC:Z:CGTCGTCG-TTTCTGAG	QT:Z::F,,FF,F FFF:FFF,	MQ:i:60	MC:Z:151M	ms:i:3856	MD:Z:78T2A0T18A12A12A7C6A8	NM:i:8	RG:Z:50176_1#4
A00948:895:H3J3WDSXF:1:2315:25319:10551	147	phix	1661	60	151M	=	1490	-322	ACTTCCTTTGGCGGTAAAACCTCTTATGACGCTGACAACCGTCCTTTACATGTCATGCTCTCTTATCTCTGGGCATCTGGCTATGATGTTGATGGAACTGACCAAACGTCGTTAGGCCAGTTTTCTGGTCGTGTTCAACTGACCTATAAAA	,,,,F,:,,F,,,:F::FF,F:F,,FFF,FFFFFF,,,FFFF::F,F,,,,F,FFFFF,::,F,,F,FFFF:F:FFFFF,:F,FFFF,F:FFFFFFF,FFF:FFF,,:FF:FFFFFFF:F:FF:F:FFF:F:FFFF:FF,FFF,FFF,:,,	AS:i:238	nn:i:0	tp:A:P	cm:i:9	s1:i:156	s2:i:0MQ:i:60	MC:Z:151M	ms:i:4704	MD:Z:0T4A5A37T8G4A75A10C0	NM:i:8	RG:Z:50176_1#4```

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions