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.
$ 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```
Are you using the latest version of samtools and HTSlib? If not, please specify.
(run
samtools --version)samtools 1.21
Please describe your environment.
uname -sron Linux/Mac OS orwmic os get Caption, Versionon Windows)uname -mon Linux/Mac OS orwmic os get OSArchitectureon Windows)gcc --versionorclang --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