Seqanswers Leaderboard Ad

Collapse

Announcement

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

  • Filter multi-fasta by length

    Hi everyone,

    I'd like to filter a multi-fasta file by length, for example, keep length <300bp and filter out longer ones. I knew there is tool in Galaxy doing this, but it takes so long to upload the file. Can anyone share a script or tool to me?

    Thank you very much.

  • #2
    See this thread for script examples: http://seqanswers.com/forums/showthread.php?t=13966

    Comment


    • #3
      Originally posted by hchang10 View Post
      Hi everyone,

      I'd like to filter a multi-fasta file by length, for example, keep length <300bp and filter out longer ones. I knew there is tool in Galaxy doing this, but it takes so long to upload the file. Can anyone share a script or tool to me?

      Thank you very much.
      Hi- This strategy should be quite fast (untested):

      Code:
      samtools faidx myfasta.fa
      awk '{if($2 < 300) print $1 "\t0\t" $2 "\t" $1}' myfasta.fa.fai > selectSeq.bed
      fastaFromBed -fi myfasta.fa -bed selectSeq.bed -name -fo  selectSeq.fa
      fastaFromBed is part of bedtools

      Dario

      Comment


      • #4
        Awesome!!!

        Dario, I appreciate it!!!!

        Thank you so much!!!!

        Comment


        • #5
          Also, a BioPython solution. In this case filtering my length 200nt

          Code:
          #!/usr/bin/python
          from Bio import SeqIO
          import sys
          import os
          
          #usage: python long.seq.py in.fasta out.fasta 200
          
          input_seq_iterator = SeqIO.parse(open(sys.argv[1], "rU"), "fasta")
          short_seq_iterator = (record for record in input_seq_iterator \
                                if len(record.seq) > int(sys.argv[3]))
          
          output_handle = open(sys.argv[2], "w")
          SeqIO.write(short_seq_iterator, output_handle, "fasta")
          output_handle.close()

          Comment

          Latest Articles

          Collapse

          • seqadmin
            Recent Developments in Metagenomics
            by seqadmin





            Metagenomics has improved the way researchers study microorganisms across diverse environments. Historically, studying microorganisms relied on culturing them in the lab, a method that limits the investigation of many species since most are unculturable1. Metagenomics overcomes these issues by allowing the study of microorganisms regardless of their ability to be cultured or the environments they inhabit. Over time, the field has evolved, especially with the advent...
            09-23-2024, 06:35 AM
          • seqadmin
            Understanding Genetic Influence on Infectious Disease
            by seqadmin




            During the COVID-19 pandemic, scientists observed that while some individuals experienced severe illness when infected with SARS-CoV-2, others were barely affected. These disparities left researchers and clinicians wondering what causes the wide variations in response to viral infections and what role genetics plays.

            Jean-Laurent Casanova, M.D., Ph.D., Professor at Rockefeller University, is a leading expert in this crossover between genetics and infectious...
            09-09-2024, 10:59 AM

          ad_right_rmr

          Collapse

          News

          Collapse

          Topics Statistics Last Post
          Started by seqadmin, 10-02-2024, 04:51 AM
          0 responses
          13 views
          0 likes
          Last Post seqadmin  
          Started by seqadmin, 10-01-2024, 07:10 AM
          0 responses
          21 views
          0 likes
          Last Post seqadmin  
          Started by seqadmin, 09-30-2024, 08:33 AM
          0 responses
          25 views
          0 likes
          Last Post seqadmin  
          Started by seqadmin, 09-26-2024, 12:57 PM
          0 responses
          18 views
          0 likes
          Last Post seqadmin  
          Working...
          X