Seqanswers Leaderboard Ad

Collapse

Announcement

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

  • substitution using sed or awk

    Hi all,
    I just start to use sed and awk. I would like to change the following fastq file

    @SRR391606.9.1 1 length=50
    AGCACCGCGAGGGCGGAGCTGCGTTCTCCTCTGCACAGCTTTCGGTGGTA
    +SRR391606.9.1 1 length=50
    @9@?<<AA:3>7A/;@?B57@6;++4=4<,=6=+++17/)1?%%%%%%%%
    @SRR391606.10.1 2 length=50
    GTTGCGTTCTCCTCAGCACAGACCCGGAGAGCACCGCGAGGGCGGAGCTG
    +SRR391606.10.1 2 length=50
    ?BB?BA?AABAB>->ABB=99<AAB++35)137<>:37=<735(2-9492

    into following fastq file:

    @SRR391606.9 1 length=50
    AGCACCGCGAGGGCGGAGCTGCGTTCTCCTCTGCACAGCTTTCGGTGGTA
    +SRR391606.9 1 length=50
    @9@?<<AA:3>7A/;@?B57@6;++4=4<,=6=+++17/)1?%%%%%%%%
    @SRR391606.10 2 length=50
    GTTGCGTTCTCCTCAGCACAGACCCGGAGAGCACCGCGAGGGCGGAGCTG
    +SRR391606.10 2 length=50
    ?BB?BA?AABAB>->ABB=99<AAB++35)137<>:37=<735(2-9492

    Basically, it is a task to remove the ".1" on every other line. As I have a huge fastq file around 30 Gb, I only put the 9th and 10th reads out of it.

    Does anyone know how to do it using sed or awk? Please also explain the script in detail as I am a beginner.

    Thanks a lot!

    Yao

  • #2
    This command should do the job:

    Code:
    awk '{if ($1 ~ /SRR/) {split($0, T, ".1 "); print T[1], T[2]}  else print $0}' YOURINPUT.fastq
    Since you mentioned sed and awk I assume you know that $1 = first field, $2 = second field (fields separated by whitespaces if not defined otherwise by FS) and $0 = whole line.

    The command checks if in the first field SRR is present ("if ($1 ~ /SRR/)"). If yes, it splits the content of the first line by ".1 " and stores the result in T. In this case ".1 " can be found only once in each line with SRR. Therefore, printing of T[0] and T[1] results in the line without ".1 ".

    If the line does not contain SRR (i.e., we are at a line with sequence or quality values) print the whole line.

    Comment


    • #3
      Thanks for the detailed explanation. It works well.

      Comment


      • #4
        No problem, I just realized, that I was thinking way to complicated:

        sed 's/\.1 / /g' YOURINPUT.fastq > out.fastq

        Just replace ".1 " with " " and escape the "." with a backslash.

        Comment


        • #5
          Sorry, ".1" is the pattern to be replace by " ", so why do you put an empty space after 1? I mean the empty space in "/\.1 /" .

          Thanks!

          Comment


          • #6
            I got it now, as I have .1.1 in the first read; if there is no empty space after "\.1", both of them will be replaced. In your script, ".1 " is the pattern but not ".1" .

            Thanks!

            Comment


            • #7
              Correct, you're welcome!

              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 on Modified Bases...
                Yesterday, 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, 04-11-2024, 12:08 PM
              0 responses
              39 views
              0 likes
              Last Post seqadmin  
              Started by seqadmin, 04-10-2024, 10:19 PM
              0 responses
              41 views
              0 likes
              Last Post seqadmin  
              Started by seqadmin, 04-10-2024, 09:21 AM
              0 responses
              35 views
              0 likes
              Last Post seqadmin  
              Started by seqadmin, 04-04-2024, 09:00 AM
              0 responses
              55 views
              0 likes
              Last Post seqadmin  
              Working...
              X