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
            Exploring the Dynamics of the Tumor Microenvironment
            by seqadmin




            The complexity of cancer is clearly demonstrated in the diverse ecosystem of the tumor microenvironment (TME). The TME is made up of numerous cell types and its development begins with the changes that happen during oncogenesis. “Genomic mutations, copy number changes, epigenetic alterations, and alternative gene expression occur to varying degrees within the affected tumor cells,” explained Andrea O’Hara, Ph.D., Strategic Technical Specialist at Azenta. “As...
            07-08-2024, 03:19 PM
          • seqadmin
            Exploring Human Diversity Through Large-Scale Omics
            by seqadmin


            In 2003, researchers from the Human Genome Project (HGP) announced the most comprehensive genome to date1. Although the genome wasn’t fully completed until nearly 20 years later2, numerous large-scale projects, such as the International HapMap Project and 1000 Genomes Project, continued the HGP's work, capturing extensive variation and genomic diversity within humans. Recently, newer initiatives have significantly increased in scale and expanded beyond genomics, offering a more detailed...
            06-25-2024, 06:43 AM

          ad_right_rmr

          Collapse

          News

          Collapse

          Topics Statistics Last Post
          Started by seqadmin, Today, 11:09 AM
          0 responses
          15 views
          0 likes
          Last Post seqadmin  
          Started by seqadmin, 07-19-2024, 07:20 AM
          0 responses
          147 views
          0 likes
          Last Post seqadmin  
          Started by seqadmin, 07-16-2024, 05:49 AM
          0 responses
          121 views
          0 likes
          Last Post seqadmin  
          Started by seqadmin, 07-15-2024, 06:53 AM
          0 responses
          111 views
          0 likes
          Last Post seqadmin  
          Working...
          X