Seqanswers Leaderboard Ad

Collapse

Announcement

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

  • editing header files

    I will admit I have little understanding of exactly how read groups work with regards to tags within the file instead of just the header. Here is my problem:

    1. I originally processed all my files with @RG tags for ID and SM, where ID was always 1 (the problem) and SM was the sample name (which is fine).

    2. A downstream application I use has problems with the ID:1 tag, and I need it to be the sample name (I think, the downstream application has little documentation, but on other files where I did this originally it worked).

    4. Using samtools view -H file > file.txt I edited each header file to have ID: sample id then used samtools reheader.

    3. Before using the downstream application, I need to merge my files and I did this:

    /home/jdk1.7.0_55/bin/java -Xmx2g -jar ../bin/picard-tools-1/picard-tools-1.89/MergeSamFiles.jar

    followed by a list of I= and O=

    4. The error:
    Exception in thread "main" net.sf.samtools.SAMFormatException: SAM validation error: ERROR: Record 1, Read name M01533:70:000000000-A5W2F:1:2113:28047:12326, RG ID on SAMRecord not found in header: 1
    at net.sf.samtools.SAMUtils.processValidationErrors(SAMUtils.java:448)
    at net.sf.samtools.BAMFileReader$BAMFileIterator.advance(BAMFileReader.java:541)
    at net.sf.samtools.BAMFileReader$BAMFileIterator.<init>(BAMFileReader.java:500)
    at net.sf.samtools.BAMFileReader$BAMFileIterator.<init>(BAMFileReader.java:488)
    at net.sf.samtools.BAMFileReader.getIterator(BAMFileReader.java:290)
    at net.sf.samtools.SAMFileReader.iterator(SAMFileReader.java:322)
    at net.sf.picard.sam.MergingSamRecordIterator.startIterationIfRequired(MergingSamRecordIterator.java:100)
    at net.sf.picard.sam.MergingSamRecordIterator.hasNext(MergingSamRecordIterator.java:115)
    at net.sf.picard.sam.MergeSamFiles.doWork(MergeSamFiles.java:147)
    at net.sf.picard.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:177)
    at net.sf.picard.sam.MergeSamFiles.main(MergeSamFiles.java:79)


    So, can you not edit @RG tags after the file has been created? The very existence of samtools reheader seems to support that you can.....Is there a way of doing this that does a better job, and actually changes the read tags, assuming some kind of tag on each read is the problem?

  • #2
    Just use picard tools AddOrReplaceReadGroups. That'll make your life easier.

    Unlike many other things, the read group ID is stored as text in each alignment, so changing the header alone won't be sufficient. I agree that this is somewhat annoying.

    Comment


    • #3
      Yes that seems to work. The existence of samtools reheader seems to be somewhat pointless.

      I still wish I knew more about how each tag is attached to each read, and how that is then interpreted down the line, but oh well.

      Comment


      • #4
        It's fine if you just want to change chromosome names (e.g., from UCSC to Ensembl names).

        Regarding understanding how things are stored, this is partly covered in the SAM spec. in the section about BAM format, but it's generally easier to remember if you've played with the samtools source code a bit.

        Comment

        Latest Articles

        Collapse

        • seqadmin
          Essential Discoveries and Tools in Epitranscriptomics
          by seqadmin




          The field of epigenetics has traditionally concentrated more on DNA and how changes like methylation and phosphorylation of histones impact gene expression and regulation. However, our increased understanding of RNA modifications and their importance in cellular processes has led to a rise in epitranscriptomics research. “Epitranscriptomics brings together the concepts of epigenetics and gene expression,” explained Adrien Leger, PhD, Principal Research Scientist...
          04-22-2024, 07:01 AM
        • seqadmin
          Current Approaches to Protein Sequencing
          by seqadmin


          Proteins are often described as the workhorses of the cell, and identifying their sequences is key to understanding their role in biological processes and disease. Currently, the most common technique used to determine protein sequences is mass spectrometry. While still a valuable tool, mass spectrometry faces several limitations and requires a highly experienced scientist familiar with the equipment to operate it. Additionally, other proteomic methods, like affinity assays, are constrained...
          04-04-2024, 04:25 PM

        ad_right_rmr

        Collapse

        News

        Collapse

        Topics Statistics Last Post
        Started by seqadmin, Today, 08:47 AM
        0 responses
        9 views
        0 likes
        Last Post seqadmin  
        Started by seqadmin, 04-11-2024, 12:08 PM
        0 responses
        60 views
        0 likes
        Last Post seqadmin  
        Started by seqadmin, 04-10-2024, 10:19 PM
        0 responses
        57 views
        0 likes
        Last Post seqadmin  
        Started by seqadmin, 04-10-2024, 09:21 AM
        0 responses
        53 views
        0 likes
        Last Post seqadmin  
        Working...
        X