Unconfigured Ad

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • lovenlong
    Member
    • Jan 2013
    • 16

    #1

    Problem in replacing the non-ACGT IUPAC codes to Ns with awk

    Hi, all

    It seems lots of people met the incompatibility problem in GATK when their input files were containing the non-ACGT IUPAC codes.
    I'm dealing with such a VCF files containing thousands of non-ACGT nucleotide codes now. I just want to replace these codes with "N" in the REF column, and tried to do with the awk command line as follows:
    awk '{gsub(/W|K|Y|R|S|M/,"N",$4); print}' Input.vcf > Input_Ns.vcf

    However, the output vcf was still unusable to GATK, and the error message indicated that the file structure had been changed:
    " ERROR MESSAGE: Line **: there aren't enough columns for ..."
    Indeed, additional to the replaces of non-ACGT codes with Ns in REF column, all "\tab"s in lines in which REF column had been changed have also been replced wiht a Space(" "), leading to the GATK interruption.
    Take the following as an example :
    Input.vcf
    1[\tab]2[\tab]3[\tab]4[\tab]5
    A[\tab]G[\tab]C[\tab]G[\tab]T
    A[\tab]T[\tab]C[\tab]S[\tab]Y
    T[\tab]K[\tab]L[\tab]T[\tab]A

    awk '{gsub(/W|K|Y|R|S|M/,"N",$4); print}' Input.vcf > Input_Ns.vcf

    Input_Ns.vcf
    1[\tab]2[\tab]3[\tab]4[\tab]5
    A[\tab]G[\tab]C[\tab]G[\tab]T
    A" "T" "C" "N" "Y
    T[\tab]K[\tab]L[\tab]T[\tab]A

    Why all the \tab in the 3rd line have been replaced ?
    How can I do to achieve my purpose?
    Is there any tool to resolve the incompatibility between non-acgt IUPAC codes and GATK?

    I'm a newbie in programming, and looking forward to your reply,

    Thanks a bunch!
    Last edited by lovenlong; 12-08-2013, 11:22 PM.
  • GenoMax
    Senior Member
    • Feb 2008
    • 7142

    #2
    In your example specifying OFS (output field separator) should provide the correct output.

    Code:
    $ awk '{gsub(/W|K|Y|R|S|M/,"N",$4); OFS = "\t"; print}' Input.vcf > Input_Ns.vcf

    Comment

    • lovenlong
      Member
      • Jan 2013
      • 16

      #3
      Originally posted by GenoMax View Post
      In your example specifying OFS (output field separator) should provide the correct output.

      Code:
      $ awk '{gsub(/W|K|Y|R|S|M/,"N",$4); OFS = "\t"; print}' Input.vcf > Input_Ns.vcf

      Yes, it works correctly with your command line. Thank you!

      Comment

      Latest Articles

      Collapse

      • SEQadmin2
        Multiomic Liquid Biopsy: What DNA/RNA Panels Reveal That DNA Alone Can’t
        by SEQadmin2



        Tumors contain complex mixtures of cell populations that evolve in response to treatment and host-specific factors. Tissue biopsies provide only static snapshots of a tumor’s state. But what if we could follow that evolution over time using a minimally invasive technique?

        Liquid biopsies can detect tumor-derived material circulating in the bloodstream, providing a way to study treatment response, detect emerging resistance, and discover new biomarkers. Circulating
        ...
        10-14-2026, 09:55 AM
      • SEQadmin2
        New Genomics Technologies Take Aim at Long-Standing Limits
        by SEQadmin2


        Researchers using sequencing and genomics tools often have to make trade-offs. They can choose between speed or scale, short reads or long-range information, or targeted panels or a view of the whole transcriptome. New technologies that have been released this year are built to address those tough choices.

        We asked six companies the same four questions to learn about their latest products. The new technologies bring a lot to the table, including rethinking sequencing
        ...
        09-28-2026, 10:25 AM

      ad_right_rmr

      Collapse

      News

      Collapse

      Topics Statistics Last Post
      Started by SEQadmin2, Yesterday, 11:13 AM
      0 responses
      17 views
      0 reactions
      Last Post SEQadmin2  
      Started by SEQadmin2, Yesterday, 10:48 AM
      0 responses
      18 views
      0 reactions
      Last Post SEQadmin2  
      Started by SEQadmin2, 10-15-2026, 10:52 AM
      0 responses
      36 views
      0 reactions
      Last Post SEQadmin2  
      Started by SEQadmin2, 10-14-2026, 05:39 AM
      0 responses
      42 views
      0 reactions
      Last Post SEQadmin2  
      Working...