Unconfigured Ad

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

    #1

    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
                  Beyond CRISPR/Cas9: Understand, Choose, and Use the Right Genome Editing Tool
                  by SEQadmin2



                  CRISPR/Cas9 sparked the gene editing revolution for both research and therapeutics.1 But this system still showed severe issues that limited its applications. The most prominent were the heavy reliance on PAM sequences, delivery limitations, double-stranded breaks that prompt unintended edits and cell death, and editing inefficiency (both in targeting and in knock-in reliability).

                  Despite this, “CRISPR helped turn genome editing from a specialized technique into
                  ...
                  07-31-2026, 11:01 AM
                • SEQadmin2
                  Proteomic Platforms: How to Choose the Right Analytical Strategy to Improve Detection and Clinical Applications
                  by SEQadmin2


                  Proteomics platforms are evolving rapidly, with advances in mass spectrometry and affinity-based approaches expanding what researchers can detect and at what scale. As the field moves toward deeper proteome coverage and clinical applications, scientists face an increasingly complex landscape of tools. This article will explore how researchers are navigating these choices to find the right platform for their work.

                  The systematic characterization of the human proteome has
                  ...
                  07-20-2026, 11:48 AM
                • 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

                ad_right_rmr

                Collapse

                News

                Collapse

                Topics Statistics Last Post
                Started by SEQadmin2, Yesterday, 10:13 AM
                0 responses
                13 views
                0 reactions
                Last Post SEQadmin2  
                Started by SEQadmin2, 07-31-2026, 02:55 AM
                0 responses
                26 views
                0 reactions
                Last Post SEQadmin2  
                Started by SEQadmin2, 07-24-2026, 12:17 PM
                0 responses
                20 views
                0 reactions
                Last Post SEQadmin2  
                Started by SEQadmin2, 07-23-2026, 11:41 AM
                0 responses
                19 views
                0 reactions
                Last Post SEQadmin2  
                Working...