Unconfigured Ad

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • ssully
    Member
    • Aug 2010
    • 48

    #1

    change order of FASTA seqs, based on ID list

    Is there any tool for doing this -- change the order of sequences in a FASTA file according to the order of a list of sequence IDs in another file?

    Seaview will reorder sequences based on sequence order in a tree, but that is very specific case. I'd like something more general.

    I know I could make a db of the FASTA set and use something like a batch NCBI blastdbcmd to extract the sequences in the order I want, but I'm hoping something less time consuming exists.
  • JackieBadger
    Senior Member
    • Mar 2009
    • 385

    #2
    Without being a code monkey I would have to do it a slightly long-winded way:
    1. Use Galaxy web portal to change Fasta-Tabular
    2.Copy and Paste this list into excel
    3. Use the Match+Index function in excel to create the new list
    4. save to .txt, and use Galaxy to convert to FASTA

    Comment

    • dariober
      Senior Member
      • May 2010
      • 311

      #3
      Originally posted by ssully View Post
      Is there any tool for doing this -- change the order of sequences in a FASTA file according to the order of a list of sequence IDs in another file?
      Hi- The script below should do what you want. Save it as reorder_fasta.py (or whatever you want) and execute it as
      Code:
      reorder_fasta.py seq.fasta ref.txt
      . See the help in the script itself for more detail and example.

      Hope this helps!
      Dario

      Code for reorder_fasta.py
      Code:
      #!/usr/bin/env python
      
      import sys
      
      docstring= """DESCRIPTION
          Reorder the sequences in a FASTA file according to the order given in a reference
          file. The reference file has one sequence name per line.
      USAGE
          reorder_fasta.py <file.fasta> <file.reference>
      
      ----------- EXAMPLE -------------
      ## fasta file
      echo '>second_seq
      AAAAAAAAAAAA
      AAAAAAAAAAAA
      AAAA
      >first_seq
      TTTTTTTTTTTTTT
      TTTTTTTTTTTTTT
      TTTTTTTTT
      >third_seq
      CCCCCCCCCCCCCCCCCC' > seq.fasta
      
      ## reference file
      echo 'first_seq
      second_seq
      third_seq' > ref.txt
      
      ## Reorder fasta according to reference:
      reorder_fasta.py seq.fasta ref.txt
      >first_seq
      TTTTTTTTTTTTTT
      TTTTTTTTTTTTTT
      TTTTTTTTT
      >second_seq
      AAAAAAAAAAAA
      AAAAAAAAAAAA
      AAAA
      >third_seq
      CCCCCCCCCCCCCCCCCC
      """
      
      if len(sys.argv) != 3:
          sys.exit(docstring)
      
      fasta= open(sys.argv[1])
      ref= open(sys.argv[2])
      
      seq_dict= {}
      while True:
          line= fasta.readline()
          if line == '':
              break
          if line.strip().startswith('>'):
              seq_name= line.strip()[1:]
              seq_dict[seq_name]= []
          else:
              seq_dict[seq_name].append(line.strip())
      fasta.close()
      for seq_name in ref:
          seq_name= seq_name.strip()
          print('>' + seq_name)
          print('\n'.join(seq_dict[seq_name]))
      ref.close()
      sys.exit()

      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

      ad_right_rmr

      Collapse

      News

      Collapse

      Topics Statistics Last Post
      Started by SEQadmin2, Yesterday, 12:22 PM
      0 responses
      12 views
      0 reactions
      Last Post SEQadmin2  
      Started by SEQadmin2, 08-11-2026, 10:35 AM
      0 responses
      14 views
      0 reactions
      Last Post SEQadmin2  
      Started by SEQadmin2, 08-06-2026, 07:41 AM
      0 responses
      31 views
      0 reactions
      Last Post SEQadmin2  
      Started by SEQadmin2, 08-03-2026, 10:13 AM
      0 responses
      49 views
      0 reactions
      Last Post SEQadmin2  
      Working...