Seqanswers Leaderboard Ad

Collapse

Announcement

Collapse
No announcement yet.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • samtools invalid BAM binary header

    Hi all,

    I've already done some googling on this and I haven't been able to find an answer to this incredibly infuriating problem!

    So I have 12 sam files, which I need to convert to bam, then sort, index etc. All 12 were processed in the same way, but samtools is having difficulty with 3 of them, specifically it gives this error when I try to sort

    -bash-3.2$ samtools sort x.bam x.sorted
    [bam_header_read] invalid BAM binary header (this is not a BAM file).
    [bam_sort_core] truncated file. Continue anyway.
    Segmentation fault

    Samtools was used to generate the bam files so it's strange that it can't recognize a file that it's generated itself. I've tried remaking the sam file using samtools view, same problem. I've tried regenerating the sam file (bowtie2) same problem again.

    Anyone got any advice? this has been driving me a bit mad for the past 2 days.

  • #2
    Did you create the BAM file without a header? Presumably you did a "samtools view -Sbo x.bam x.sam" instead of "samtools view -hSbo x.bam x.sam" (or something like that). In that case, I would just reheader or recreate the BAM file. As a general rule, try "samtools view" on any file giving you errors like this.

    Comment


    • #3
      Code in Heng Li's samtools source file bam.c is this ...

      Code:
             magic_len = bam_read(fp, buf, 4);
              if (magic_len != 4 || strncmp(buf, "BAM\001", 4) != 0) {
                      fprintf(stderr, "[bam_header_read] invalid BAM binary header (this is not a BAM file).\n");
                      return 0;
              }
      This comes after checking for EOF to see if it is truncated. So file is not a valid BAM file. Since 'B','A','M',0x1 is not in the first 4 bytes, it must be compressed.

      Try this

      ls *.bam | awk '{print "echo "$1";od -c -N4 "$1}' | bash

      to see if the bams all have same first few bytes. You should see this ...

      0000000 037 213 \b 004

      Some other checking is find out what size the bam files are.

      Also run this little command to see what "file" program says :

      file *.bam

      You should something like this example ...
      [xxxx@biowulf]$ file *.bam
      98017.bam: gzip compressed data, extra field
      98018.bam: gzip compressed data, extra field
      98029.bam: gzip compressed data, extra field
      98031.bam: gzip compressed data, extra field
      ....

      Comment


      • #4
        bam file with no header upon conversion from sam

        Hi everyone
        I have a similar problem. I ran bowtie2 and filtered the sam file to get alignments with only certain fragment lenghts, I did this with awk:
        HTML Code:
        awk '($9>=74 || $9 <=-74) {print}' ctrl-new.sam > noovctrl.sam
        Then I converted the resulting sam file to bam:
        HTML Code:
        samtools view -bhS noovctrl.sam > ctrl-new.bam
        But this file has no header. When I try to look at its 'head' with:
        HTML Code:
        samtools view ctrl-new.bam | head
        I get the error:
        HTML Code:
        [bam_header_read] bgzf_check_EOF: Invalid argument
        [bam_header_read] invalid BAM binary header (this is not a BAM file).
        [main_samview] fail to read the header from "ctrl-new.bam"
        I have tried to cat the header, reheader... and nothing. By the way, earlier I did some other unix manipulations of the same original sam file and was able to convert to bams with no problems, so I don't think the problem is in the alignment file.

        I would appreciate any advice, thanks to all

        Comment


        • #5
          I think the problem is that your awk statement is resulting in a .sam with no header, and I don't think .samtools view generates one, it just keeps the one that should already be there.

          Start with your initial sam with its intact header. Make the header its own file with

          Code:
          samtools view -H original.sam > header.txt
          Then cat that to the top of your awk-generated .sam, and now it should get converted.

          Comment

          Latest Articles

          Collapse

          • seqadmin
            Genetic Variation in Immunogenetics and Antibody Diversity
            by seqadmin



            The field of immunogenetics explores how genetic variations influence immune responses and susceptibility to disease. In a recent SEQanswers webinar, Oscar Rodriguez, Ph.D., Postdoctoral Researcher at the University of Louisville, and Ruben Martínez Barricarte, Ph.D., Assistant Professor of Medicine at Vanderbilt University, shared recent advancements in immunogenetics. This article discusses their research on genetic variation in antibody loci, antibody production processes,...
            11-06-2024, 07:24 PM
          • seqadmin
            Choosing Between NGS and qPCR
            by seqadmin



            Next-generation sequencing (NGS) and quantitative polymerase chain reaction (qPCR) are essential techniques for investigating the genome, transcriptome, and epigenome. In many cases, choosing the appropriate technique is straightforward, but in others, it can be more challenging to determine the most effective option. A simple distinction is that smaller, more focused projects are typically better suited for qPCR, while larger, more complex datasets benefit from NGS. However,...
            10-18-2024, 07:11 AM

          ad_right_rmr

          Collapse

          News

          Collapse

          Topics Statistics Last Post
          Started by seqadmin, Today, 11:09 AM
          0 responses
          24 views
          0 likes
          Last Post seqadmin  
          Started by seqadmin, Today, 06:13 AM
          0 responses
          20 views
          0 likes
          Last Post seqadmin  
          Started by seqadmin, 11-01-2024, 06:09 AM
          0 responses
          30 views
          0 likes
          Last Post seqadmin  
          Started by seqadmin, 10-30-2024, 05:31 AM
          0 responses
          21 views
          0 likes
          Last Post seqadmin  
          Working...
          X