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
            Non-Coding RNA Research and Technologies
            by seqadmin




            Non-coding RNAs (ncRNAs) do not code for proteins but play important roles in numerous cellular processes including gene silencing, developmental pathways, and more. There are numerous types including microRNA (miRNA), long ncRNA (lncRNA), circular RNA (circRNA), and more. In this article, we discuss innovative ncRNA research and explore recent technological advancements that improve the study of ncRNAs.

            Nobel Prize for MicroRNA Discovery
            This week,...
            10-07-2024, 08:07 AM
          • seqadmin
            Recent Developments in Metagenomics
            by seqadmin





            Metagenomics has improved the way researchers study microorganisms across diverse environments. Historically, studying microorganisms relied on culturing them in the lab, a method that limits the investigation of many species since most are unculturable1. Metagenomics overcomes these issues by allowing the study of microorganisms regardless of their ability to be cultured or the environments they inhabit. Over time, the field has evolved, especially with the advent...
            09-23-2024, 06:35 AM

          ad_right_rmr

          Collapse

          News

          Collapse

          Topics Statistics Last Post
          Started by seqadmin, 10-02-2024, 04:51 AM
          0 responses
          103 views
          0 likes
          Last Post seqadmin  
          Started by seqadmin, 10-01-2024, 07:10 AM
          0 responses
          111 views
          0 likes
          Last Post seqadmin  
          Started by seqadmin, 09-30-2024, 08:33 AM
          1 response
          114 views
          0 likes
          Last Post EmiTom
          by EmiTom
           
          Started by seqadmin, 09-26-2024, 12:57 PM
          0 responses
          20 views
          0 likes
          Last Post seqadmin  
          Working...
          X