Unconfigured Ad

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • Giorgio C
    Member
    • Oct 2010
    • 89

    Add count numbers to headers in a fasta file

    Hi all,

    I have a fasta file with the same header for each sequence, I would like to add natural numbers at the end of each line:

    >OakDna
    ACTCTAAATCAGTGCGAG...
    >OakDna
    AAAAACCCTTTACACTTT...
    >OakDna
    CTCTAAACCTTTAACCTT..
    etc.

    I want something like this:

    >OakDna_1
    ACTCTAAATCAGTGCGAG...
    >OakDna_2
    AAAAACCCTTTACACTTT...
    >OakDna_3
    CTCTAAACCTTTAACCTT..
    etc.
    >OakDna_n
    ACTCATCCAAAACTTTTT..

    Where n is the last number of the sequence in the file.

    Any quick suggestion?

    Thanks in advance,
    Giorgio
  • Heisman
    Senior Member
    • Dec 2010
    • 534

    #2
    Google is your friend in situations like these:

    Comment

    • Giorgio C
      Member
      • Oct 2010
      • 89

      #3
      I tried to google it, but couldn't find what I was looking for. Btw the link you posted seems to be good...THANKS a lot!

      Comment

      • gsgs
        Senior Member
        • Oct 2009
        • 139

        #4
        I'd just write a simple program to do it

        5 min ?

        Comment

        • wieni
          Junior Member
          • Jun 2012
          • 6

          #5
          Here a quick and dirty solution in python - was still missing :-)


          #!/usr/bin/env python

          import re
          import string
          import sys


          infile = open(sys.argv[1])
          data = infile.readlines()
          infile.close()

          outfile = open(sys.argv[2], "w")
          c = 1
          l = 1
          for i in data:
          i = re.sub("\n|\r", "", i)
          if c%2 != 0:
          outfile.write(i+"_" +str(l) +"\n")
          l+=1
          else:
          outfile.write(i +"\n")
          c += 1
          outfile.close()


          save the upper code in a file called for example "numberFasta.py"
          on a terminal call the program with: python numberFasta.py <yourInfile> <outfilename>

          Comment

          • wieni
            Junior Member
            • Jun 2012
            • 6

            #6
            ah..and correct the indention - was lost here...

            Comment

            • Heisman
              Senior Member
              • Dec 2010
              • 534

              #7
              Originally posted by wieni View Post
              Here a quick and dirty solution in python - was still missing :-)


              #!/usr/bin/env python

              import re
              import string
              import sys


              infile = open(sys.argv[1])
              data = infile.readlines()
              infile.close()

              outfile = open(sys.argv[2], "w")
              c = 1
              l = 1
              for i in data:
              i = re.sub("\n|\r", "", i)
              if c%2 != 0:
              outfile.write(i+"_" +str(l) +"\n")
              l+=1
              else:
              outfile.write(i +"\n")
              c += 1
              outfile.close()


              save the upper code in a file called for example "numberFasta.py"
              on a terminal call the program with: python numberFasta.py <yourInfile> <outfilename>
              You can use the "code" tags to make this work (surround the code with [code ] and [/code ] (but no spaces):

              Code:
              #!/usr/bin/env python
              
              import re
              import string
              import sys
              
              
              infile = open(sys.argv[1])
              data = infile.readlines()
              infile.close()
              
              outfile = open(sys.argv[2], "w")
              c = 1
              l = 1
              for i in data:
                  i = re.sub("\n|\r", "", i)
                  if c%2 != 0:
                      outfile.write(i+"_" +str(l) +"\n")
                      l+=1
                  else:
                      outfile.write(i +"\n")
                  c += 1
              outfile.close()

              Comment

              • syfo
                Just a member
                • Nov 2012
                • 103

                #8
                A short one:

                Code:
                awk '/^>/{$0=$0"_"(++i)}1' infile

                Comment

                Latest Articles

                Collapse

                • SEQadmin2
                  Advanced Sequencing Platforms Tackle Neuroscience’s Toughest Genomics Problems
                  by SEQadmin2



                  Genomics studies in neuroscience face a special challenge due to the brain’s complexity and scarcity of samples. Mapping changes in cell type and state using conventional next-generation sequencing methods remains challenging. Advances in technologies like single-cell sequencing, spatial transcriptomics, and long-read sequencing have opened the door to deeper studies of the brain and diseases like Alzheimer’s, amyotrophic lateral sclerosis (ALS), and schizophrenia.
                  ...
                  07-09-2026, 11:10 AM
                • SEQadmin2
                  Cancer Drug Resistance: The Lingering Barrier to Rising Survival
                  by SEQadmin2



                  Cancer survival rates have significantly increased in the last few decades in the United States, reaching a combined 70% 5-year survival rate by 2021. Behind this number, there are years of research to find new therapies, drug targets, and early detection methods. But there is one core challenge that keeps slowing down these advances, and it’s about drug resistance.

                  There is no single reason why many patients don’t respond to treatment as expected. Cancer is...
                  07-08-2026, 05:17 AM
                • GATTACAT
                  Reply to Nine Things a Sample Prep Scientist Thinks About Before Sequencing
                  by GATTACAT
                  Love this - good data definitely starts from good input, and poor input can only give relatively poor data. I particularly like the mention of Nanodrop/absorbance based methods for quantification. It's such a toss up if you'll get an accurate reading or what amounts to a randomly generated number, and a lot of library/sequencing related issues can be traced back to poor quant.
                  07-01-2026, 11:43 AM

                ad_right_rmr

                Collapse

                News

                Collapse

                Topics Statistics Last Post
                Started by SEQadmin2, 07-13-2026, 10:26 AM
                0 responses
                26 views
                0 reactions
                Last Post SEQadmin2  
                Started by SEQadmin2, 07-09-2026, 10:04 AM
                0 responses
                36 views
                0 reactions
                Last Post SEQadmin2  
                Started by SEQadmin2, 07-08-2026, 10:08 AM
                0 responses
                23 views
                0 reactions
                Last Post SEQadmin2  
                Started by SEQadmin2, 07-07-2026, 11:05 AM
                0 responses
                34 views
                0 reactions
                Last Post SEQadmin2  
                Working...