Seqanswers Leaderboard Ad

Collapse

Announcement

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

  • 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.

  • #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


    • #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

      • seqadmin
        Recent Advances in Sequencing Analysis Tools
        by seqadmin


        The sequencing world is rapidly changing due to declining costs, enhanced accuracies, and the advent of newer, cutting-edge instruments. Equally important to these developments are improvements in sequencing analysis, a process that converts vast amounts of raw data into a comprehensible and meaningful form. This complex task requires expertise and the right analysis tools. In this article, we highlight the progress and innovation in sequencing analysis by reviewing several of the...
        05-06-2024, 07:48 AM
      • 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...
        04-22-2024, 07:01 AM

      ad_right_rmr

      Collapse

      News

      Collapse

      Topics Statistics Last Post
      Started by seqadmin, 05-10-2024, 06:35 AM
      0 responses
      19 views
      0 likes
      Last Post seqadmin  
      Started by seqadmin, 05-09-2024, 02:46 PM
      0 responses
      22 views
      0 likes
      Last Post seqadmin  
      Started by seqadmin, 05-07-2024, 06:57 AM
      0 responses
      21 views
      0 likes
      Last Post seqadmin  
      Started by seqadmin, 05-06-2024, 07:17 AM
      0 responses
      21 views
      0 likes
      Last Post seqadmin  
      Working...
      X