Good anwser, thanks a lot
Hi there,
I just wonder if I can combine two .sam files. I am not sure if the ‘cat’ command would work in this case. I would like the final file to be a .sam file as well.
Thank you so much.
2 answers
Your command is wrong. Samtools works like this:
## Option 1: use -o to write the output to a file
samtools view -b -o out.bam in.sam
## Option 2: write STDOUT to file:
samtools view -b in.sam > out.bam
You combined both commands, resulting in a corrupted file. I am not even sure if your input files are still OK. I would realign, completely avoiding SAM files using a pipeline:
alignment (...) | samtools view -b -o out.bam -
This will directly output a BAM file from your alignment. There is no need for SAM files. They only take up space. Alternatively, directly pipe the alignment into samtools sort:
alignment (...) | samtools sort -o sorted.bam -
From there, do the merge:
samtools merge out.bam file1.bam file2.bam
Make sure you have the current version of SAMtools installed.
Just cat will produce a corrupt sam file. You have two options wiht samtools:
samtools cat- work on for bam and cram files, and the sequence dictionary of the files being concatenated need to be identicalsamtools merge- work for sam, bam and cram, takes as input a sorted files, and outputs a sorted file
Log in to answer this question.
samtools mergeor picard https://broadinstitute.github.io/picard/command-line-overview.html#MergeSamFilesWhy work on sam files and not bam?
Or maybe even combine fastq files with
catif you have them?It can be more efficient to run alignments in parallel and merge afterwards.
I have converted SAM files into BAM files
Now I wan to combine these 2 files with this command:
But I got this error message
It's something wrong with my BAM files?
samtools view file1.sam -o file1.bamyour sam file are probably missing a sam header.... What is the output of