Unconfigured Ad

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • jgibbons1
    Senior Member
    • Oct 2009
    • 135

    average quality score for fastq file

    Hello,
    Simple question here, but I've had a problem finding a program to do it.

    Given a fastq file, is there software that will calculate the average quality score for the entire file?

    Thanks
  • JackieBadger
    Senior Member
    • Mar 2009
    • 385

    #2
    The "Compute quality statistics" function in Galaxy (https://main.g2.bx.psu.edu)

    Comment

    • jgibbons1
      Senior Member
      • Oct 2009
      • 135

      #3
      Thanks @JackieBadger

      Do you know of any unix/linux based tools to do this? I'm trying to stay away from galaxy for this tidbit.

      Comment

      • JackieBadger
        Senior Member
        • Mar 2009
        • 385

        #4
        Originally posted by jgibbons1 View Post
        Thanks @JackieBadger

        Do you know of any unix/linux based tools to do this? I'm trying to stay away from galaxy for this tidbit.
        Why do you need to avoid Galaxy?

        Comment

        • jgibbons1
          Senior Member
          • Oct 2009
          • 135

          #5
          I'm trying to integrate this value into a larger analysis pipeline. Automating it would be more efficient.

          Comment

          • GenoMax
            Senior Member
            • Feb 2008
            • 7142

            #6
            Originally posted by jgibbons1 View Post
            Hello,

            Given a fastq file, is there software that will calculate the average quality score for the entire file?

            Thanks
            One should be careful about "average quality score" for an entire file since you could still have a subset of sequences that may be hidden outliers ("bad") in an otherwise "good" file.

            Both Fastx toolkit (http://hannonlab.cshl.edu/fastx_toolkit/) and FastQC (http://www.bioinformatics.babraham.a...ojects/fastqc/) will generate statistics you could use.

            If this is illumina data and you have access to CASAVA pipeline output then the summary file has a "mean" quality score for each sample that you could parse.

            Comment

            • JackieBadger
              Senior Member
              • Mar 2009
              • 385

              #7
              You can also get the source code for any Galaxy function

              Comment

              • maasha
                Senior Member
                • Apr 2009
                • 153

                #8
                With Biopieces (www.biopieces.org) you can do it in two steps where you first find the mean score per sequence entry and then the overall mean score:

                Code:
                read_fastq -i test.fq | mean_scores | mean_vals -k SCORES_MEAN -x

                Comment

                • jgibbons1
                  Senior Member
                  • Oct 2009
                  • 135

                  #9
                  Thanks to everyone's suggestions!

                  I will try a few of these and let you know what I ended up doing.

                  Comment

                  • jgibbons1
                    Senior Member
                    • Oct 2009
                    • 135

                    #10
                    For anyone still interested...

                    For simplicity, I ended up using Bioawk (https://github.com/lh3/bioawk):

                    Get the mean Phred quality score from FASTQ:
                    awk -c fastx '{ print ">"$name; print meanqual($qual) }' seq.fq.gz

                    Comment

                    • xApple
                      Member
                      • Feb 2012
                      • 12

                      #11
                      That bioawk command doesn't compute the quality score for the entire file as per the question you originally asked. It computes it for every sequence and floods your standard output.

                      Here is a program that actually does what you asked.

                      Code:
                      #!/usr/bin/env python
                      
                      """
                      Compute the average quality for a given FASTQ file.
                      
                      Written by Lucas Sinclair.
                      Kopimi.
                      
                      You can use this script from the shell like this:
                      $ fastq_avg_qual < reads.fastq
                      """
                      
                      # Iterative mean #
                      def imean(numbers):
                          count = 0
                          total = 0
                          for num in numbers:
                              count += 1
                              total += num
                          return float(total)/count
                      
                      # Do it #
                      import sys
                      from Bio import SeqIO
                      records = (r for r in SeqIO.parse(sys.stdin, "fastq"))
                      scores = (s for r in records for s in r.letter_annotations["phred_quality"])
                      print imean(scores)
                      Last edited by xApple; 07-12-2013, 07:45 AM.

                      Comment

                      • jgibbons1
                        Senior Member
                        • Oct 2009
                        • 135

                        #12
                        Thanks xApple. You're right...I ended up taking the average of the quality scores.

                        I will give your script a shot. Thanks!

                        Comment

                        • xApple
                          Member
                          • Feb 2012
                          • 12

                          #13
                          You're welcome ! It's just a quick hack that has the advantage to not use any memory but suffers from being extremely slow. Probably not suitable for Illumina sized data.

                          Comment

                          Latest Articles

                          Collapse

                          ad_right_rmr

                          Collapse

                          News

                          Collapse

                          Topics Statistics Last Post
                          Started by SEQadmin2, Yesterday, 11:58 AM
                          0 responses
                          9 views
                          0 reactions
                          Last Post SEQadmin2  
                          Started by SEQadmin2, 06-05-2026, 10:09 AM
                          0 responses
                          25 views
                          0 reactions
                          Last Post SEQadmin2  
                          Started by SEQadmin2, 06-04-2026, 08:59 AM
                          0 responses
                          35 views
                          0 reactions
                          Last Post SEQadmin2  
                          Started by SEQadmin2, 06-02-2026, 12:03 PM
                          0 responses
                          57 views
                          0 reactions
                          Last Post SEQadmin2  
                          Working...