Header Leaderboard Ad

Collapse

average quality score for fastq file

Collapse

Announcement

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

  • 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

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

    Comment


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


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


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

          Comment


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


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

              Comment


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


                • #9
                  Thanks to everyone's suggestions!

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

                  Comment


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


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


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


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

                          • seqadmin
                            A Brief Overview and Common Challenges in Single-cell Sequencing Analysis
                            by seqadmin


                            ​​​​​​The introduction of single-cell sequencing has advanced the ability to study cell-to-cell heterogeneity. Its use has improved our understanding of somatic mutations1, cell lineages2, cellular diversity and regulation3, and development in multicellular organisms4. Single-cell sequencing encompasses hundreds of techniques with different approaches to studying the genomes, transcriptomes, epigenomes, and other omics of individual cells. The analysis of single-cell sequencing data i...

                            01-24-2023, 01:19 PM
                          • seqadmin
                            Introduction to Single-Cell Sequencing
                            by seqadmin
                            Single-cell sequencing is a technique used to investigate the genome, transcriptome, epigenome, and other omics of individual cells using high-throughput sequencing. This technology has provided many scientific breakthroughs and continues to be applied across many fields, including microbiology, oncology, immunology, neurobiology, precision medicine, and stem cell research.

                            The advancement of single-cell sequencing began in 2009 when Tang et al. investigated the single-cell transcriptomes
                            ...
                            01-09-2023, 03:10 PM
                          • seqadmin
                            AVITI from Element Biosciences: Latest Sequencing Technologies—Part 6
                            by seqadmin
                            Element Biosciences made its sequencing market debut this year when it released AVITI, its first sequencer. The AVITI System uses avidity sequencing, a novel sequencing chemistry that delivers higher quality data, decreases cycle times, and requires lower reagent concentrations. This new instrument reportedly features lower operating and start-up costs while maintaining quality sequencing.

                            Read type and length
                            AVITI is a short-read benchtop sequencer that also offers an innovative...
                            12-29-2022, 10:44 AM

                          ad_right_rmr

                          Collapse
                          Working...
                          X