{"id":51083008,"url":"https://github.com/griffan/fastquick","last_synced_at":"2026-06-23T20:00:59.607Z","repository":{"id":22172991,"uuid":"25504792","full_name":"Griffan/FASTQuick","owner":"Griffan","description":"Ultra Fast NGS Data QC Tool","archived":false,"fork":false,"pushed_at":"2021-02-14T07:58:59.000Z","size":51697,"stargazers_count":25,"open_issues_count":1,"forks_count":3,"subscribers_count":6,"default_branch":"master","last_synced_at":"2023-10-20T20:06:37.866Z","etag":null,"topics":["fastq-format","pipeline","quality-control"],"latest_commit_sha":null,"homepage":"https://github.com/Griffan/FASTQuick/wiki","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Griffan.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-21T05:49:55.000Z","updated_at":"2023-08-05T02:36:38.000Z","dependencies_parsed_at":"2022-08-20T21:10:45.518Z","dependency_job_id":null,"html_url":"https://github.com/Griffan/FASTQuick","commit_stats":null,"previous_names":[],"tags_count":9,"template":null,"template_full_name":null,"purl":"pkg:github/Griffan/FASTQuick","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Griffan%2FFASTQuick","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Griffan%2FFASTQuick/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Griffan%2FFASTQuick/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Griffan%2FFASTQuick/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Griffan","download_url":"https://codeload.github.com/Griffan/FASTQuick/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Griffan%2FFASTQuick/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34704748,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-23T02:00:07.161Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastq-format","pipeline","quality-control"],"created_at":"2026-06-23T20:00:58.498Z","updated_at":"2026-06-23T20:00:59.591Z","avatar_url":"https://github.com/Griffan.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/Griffan/FASTQuick.png?branch=master)](https://travis-ci.org/Griffan/FASTQuick)\n\n### OVERVIEW\n\nFASTQuick is an **ultra-fast** QC tool for NGS sequencing fastq files. It generates a comprehensive list of QC\nstatistics, including **ancestry** and **contamination estimation**, at ~50x faster turnaround time than alignment-based\nQC tools.\n\n### CITATION\n\nFan Zhang, Hyun Min Kang, FASTQuick: rapid and comprehensive quality assessment of raw sequence reads, GigaScience,\nVolume 10, Issue 2, February 2021, giab004, https://doi.org/10.1093/gigascience/giab004\n\n### CONTENTS\n\n- [INSTALL](#install)\n- [GETTING STARTED](#getting-started)\n- [FAQ](#faq)\n- [WIKI PAGE](#wiki-page)\n- [AUTHOR](#author)\n- [COPYRIGHT](#copyright)\n\n### INSTALL\nTo install FASTQuick, run the following series of commands.\n\n```\ngit clone https://github.com/Griffan/FASTQuick.git\ncd FASTQuick\nmkdir build\ncd build\ncmake ..\nmake   \nmake test\n```\nIf any test failed, refer to Testing/Temporary/LastTest.log for detailed error message(e.g. bcftools or samtools is missing).\n\nInstallation is complete if all tests finish successfully.\n\nIn case any required libraries is missing, you may specify customized installing path by replacing \"cmake ..\" with:\n```\n\nFor libhts:\n  - cmake -DHTS_INCLUDE_DIRS=/hts_absolute_path/include/  -DHTS_LIBRARIES=/hts_absolute_path/lib/libhts.a ..\n\nFor bzip2:\n  - cmake -DBZIP2_INCLUDE_DIRS=/bzip2_absolute_path/include/ -DBZIP2_LIBRARIES=/bzip2_absolute_path/lib/libbz2.a ..\n\nFor lzma:\n  - cmake -DLZMA_INCLUDE_DIRS=/lzma_absolute_path/include/ -DLZMA_LIBRARIES=/lzma_absolute_path/lib/liblzma.a ..\n```\n\nA full list of required libraries and packages that are required to run the pipeline:\n```\ntools:\nbwa\ntabix\nsamtools\nbcftools\npandoc\nR\n\nbinary libraries:\nlibhts\nzlib\nlibbzip2\nlibcurl\nlibssl\n\nR libraries:\nggplot2\nscales\nknitr\nrmarkdown\n```\n\n**Note** that if you use docker to deploy, the minimal memory requirement is 4GB.\n\n### GETTING STARTED\nFollow the procedures below to quickly get started using FASTQuick.\n\n#### Clone and Install FASTQuick\nFirst, to start using FASTQuick, clone and install the repository.\nPlease refer to [INSTALL](#install) for more comprehensive guide on how to download and install FASTQuick.\n\n#### Perform a Test Run\nTo perform a test run to make sure that FASTQuick runs as expected with a very small-sized example (assuming that you are still inside `build` directory), run\n```\ncd ../example/\nbash example.sh\n```\nfor more example scripts to test whether the software tool works as expected or not, see [FAQ](#faq).\n\n#### Download Reference Files\nTo run FASTQuick on real human sequence data, you need to download reference files using the following commands. (Before downloading, you may want to change your current directory.)\n```\nwget ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/technical/reference/phase2_reference_assembly_sequence/hs37d5.fa.gz\ngzip -d hs37d5.fa.gz\nbwa index hs37d5.fa\nwget ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/technical/reference/dbsnp132_20101103.vcf.gz\ngzip -d dbsnp132_20101103.vcf.gz\nbgzip dbsnp132_20101103.vcf\ntabix dbsnp132_20101103.vcf.gz\nwget ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/release/20130502/supporting/accessible_genome_masks/20141020.strict_mask.whole_genome.bed\n```\nor from ncbi:\n```\nwget ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/technical/reference/phase2_reference_assembly_sequence/hs37d5.fa.gz\ngzip -d hs37d5.fa.gz\nbwa index hs37d5.fa\nwget ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/technical/reference/dbsnp132_20101103.vcf.gz\ngzip -d dbsnp132_20101103.vcf.gz\nbgzip dbsnp132_20101103.vcf\ntabix dbsnp132_20101103.vcf.gz\nwget ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/release/20130502/supporting/accessible_genome_masks/20141020.strict_mask.whole_genome.bed\n```\n**Tips** if you are experiencing downloading difficulties, try to use the tool axel with cmdline \"axel -n 10 ftp-url\" to replace wget. \n\n**Note** that you do not need to run FASTQuick on GRCh38 reference because the alignment of FASTQuick will be used only for internal purpose and will provide very similar results regardless of which reference will be used.\n\n#### Run FASTQuick for Your Own FASTQ Files\nFor simplicity, we prepared an all-in-one script to process the whole FASTQuick pipeline.\n\nThe pipeline can be generalized as \"index ---\u003e align ---\u003e summarize ---\u003e contamination \u0026\u0026 ancestry ---\u003e visualization\" (for detailed [workflow](https://github.com/Griffan/FASTQuick/wiki#general-workflow-of-fastquick)).\n\n* index: FASTQuick will select eligible marker set, extract flanking sequences around markers, prepare SVD files based on reference genotype panel and build bwt indices.(**In this quick start, we have prepared predefined marker set and SVD files.**)\n* align: Sequence reads are filtered and aligned to the reduced reference genome\n* summarize: Summarize base level, read level, sample level statistics\n* contamination \u0026\u0026 ancestry: Jointly estimate sample contamination level and genetic ancestry status\n* visualization: Visualize the statistics collected above\n\nHence you may choose any start point of the pipeline (All | AllButIndex | Index | Align | Contamination | Ancestry | Visualize) for **--steps** in the command line.\n\n```\n${FASTQUICK_HOME}/bin/FASTQuick.sh \\\n--steps All \\\n--reference /path/to/hs37d5.fa \\\n--dbSNP /path/to/dbsnp132_20101103.vcf.gz \\\n--callableRegion /path/to/20141020.strict_mask.whole_genome.bed \\\n--candidateVCF ${FASTQUICK_HOME}/resource/1000g.phase3.10k.b37.vcf.gz \\\n--SVDPrefix ${FASTQUICK_HOME}/resource/1000g.phase3.10k.b37.vcf.gz \\\n--index \u003cindex.prefix\u003e \\\n--output \u003csample.output.prefix\u003e \\\n--fastq_1 \u003csample.input.R1.fastq.gz\u003e \\\n--fastq_2 \u003csample.input.R2.fastq.gz\u003e\n```\n\n* Users need to specify `\u003cindex.prefix\u003e`, `\u003csample.output.prefix\u003e`, `\u003csample.input.R1.fastq.gz\u003e`, `\u003csample.input.R2.fastq.gz\u003e`. \n\n* `${FASTQUICK_HOME}` represents the directory containing the FASTQuick repository. \n\n* Please replace `/path/to/` the directory that contains the downloaded reference files (or use `.` if everything happened in the same directory). You will need to specify the input and output file names denoted as `\u003c...\u003e`.\n\n* **Note** that you only need to build indices once, hence `--steps AllButIndex` should be the preferred option once indices are ready.\n\n#### Reference Files\n\nFrom these reference files, we build index files which can be **shared** and **reused** by different samples:\n\n**reference genome**(**--reference**) [hs37d5.fa](http://tinyurl.com/jvflzg3)\n\n**dbSNP VCF**(**--dbSNP**) [dbsnp132_20101103.vcf.gz](http://tinyurl.com/sl2kgof)\n\n**1000 strict masked region**(**--callableRegion**) [20141020.strict_mask.whole_genome.bed](http://tinyurl.com/sjhb5nn)\n\nAs for **candidate variant list**(**--candidateVCF**), we have prepared predefined marker set in ${FASTQUICK_HOME}/resource/ directory for the quick start, you can feed **--candidateVCF** with VCF file of the predefined markers, and **--SVDPrefix** with prefix of predefined SVD files. \n\n```\n--candidateVCF ${FASTQUICK_HOME}/resource/10k.b37.FASTQuick.fa.SelectedSite.vcf\n--SVDPrefix ${FASTQUICK_HOME}/resource/1000g.phase3.10k.b37.vcf.gz\n```\n\nActually, these files are generated by FASTQuick.sh. You can always start from scratch by **not** specifying --SVDPrefix, which is time consuming for the indexing stage.(Refer to [FAQ-1](#faq-1))\n\n**Note** that all these reference files are required to be the same build version with the reference genome.\n\n#### Input Files\n**--fastq_1** and **--fastq_2** expect pair-end fastq files(omit --fastq_2 for single-end dataset).\nYou can download fastq files of HG00553(PUR sample) from 1000 genome to reproduce the low-coverage [FinalReport.html](https://www.dropbox.com/s/7fbtpq82zduk4la/FinalReport.html?dl=1) in our example:\n\n```\nwget ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR013/ERR013170/ERR013170_1.fastq.gz\nwget ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR013/ERR013170/ERR013170_2.fastq.gz\nwget ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR015/ERR015764/ERR015764_1.fastq.gz\nwget ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR015/ERR015764/ERR015764_2.fastq.gz\nwget ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR018/ERR018525/ERR018525_1.fastq.gz\nwget ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR018/ERR018525/ERR018525_2.fastq.gz\n```\nYou can also use **--fastqList** to provide fastq files in format described in [FAQ-7](#faq-7)\n\n#### Output Files\nOnce the process finished, you'll find summary statistics in various files starting with the same prefix(provided by **--output**). \nYou also will find a similar [FinalReport.html](https://www.dropbox.com/s/7fbtpq82zduk4la/FinalReport.html?dl=1) in your output directory(base directory of prefix provided by **--output**). \n\n### FAQ\n\n[1. How can I run FASTQuick with my own candidate variant list?](#faq-1)\n\n[2. How can I run FASTQuick on target sequencing datasets?](#faq-2)\n\n[3. What are the SVD files and how to generate them?](#faq-3)\n\n[4. Why does index step failed (or take long time)?](#faq-4)\n\n[5. What are the files in ${FASTQUICK_HOME}/resource/ directory?](#faq-5)\n\n[6. Can I run FASTQuick step by step?](#faq-6)\n\n[7. What is the format of fastq file list required by **--fastqList**?](#faq-7)\n\n[8. How many markers are in use by default and how can I change the number of markers in use?](#faq-8)\n\n[9. Can I run FASTQuick on GRCh38?](#faq-9)\n\n\u003ca href=\"#faq-1\" id=\"faq-1\"\u003e\u003c/a\u003e\n\n1. How can I run FASTQuick with my own candidate variant list?\n\n    In this mode, FASTQuick will generate all the index files that are required. \n    Unlike cmdline example in [GETTING STARTED](#getting-started) where we prepared predefined marker set and SVD files for you, now you need to provide your own candidate variant list(shuffling recommended) for FASTQuick to choose from, e.g. Hapmap3 SNP set:\n    ```\n    wget -c ftp://gsapubftp-anonymous@ftp.broadinstitute.org/bundle/b37/hapmap_3.3.b37.vcf.gz\n    bedtools shuffle hapmap_3.3.b37.vcf.gz \u003e hapmap_3.3.b37.vcf.gz.shuffled.vcf\n    ```\n    you can use FASTQuick to select your own eligible marker set and build your own index files:\n    The command line becomes:\n    ```\n    ${FASTQUICK_HOME}/bin/FASTQuick.sh \\\n    --steps All \\\n    --reference /path/to/hs37d5.fa \\\n    --dbSNP /path/to/dbsnp132_20101103.vcf.gz \\\n    --callableRegion /path/to/20141020.strict_mask.whole_genome.bed \\\n    --index \u003cindex.prefix\u003e \\\n    --output \u003csample.output.prefix\u003e \\\n    --fastq_1 \u003csample.input.R1.fastq.gz\u003e \\\n    --fastq_2 \u003csample.input.R2.fastq.gz\u003e \\\n    --candidateVCF /path/to/hapmap_3.3.b37.vcf.gz.shuffled.vcf \\\n    [--RefVCFList /path/to/ALL.chr*.phase3_shapeit2_mvncall_integrated_v5a.20130502.genotypes.vcf.gz.list]\n    ```\n    FASTQuick will also take longer time to prepare SVD files in this mode. As described in [FAQ-3]($faq-3), you can either let FASTQuick autimatically download [1000 genome variants VCF files](ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/release/20130502/) via internet or provide your own reference genotype vcf files with **--RefVCFList** (where each line hash a path of one vcf file).\n\n    \u003ca href=\"#faq-2\" id=\"faq-2\"\u003e\u003c/a\u003e\n2. How can I run FASTQuick on target sequencing datasets?\n\n    In this mode, you will select markers only within your target regions. \n    Once the index files are generated, the usage of the pipeline can be the same as the whole genome examples [FAQ-1](#faq-1).\n    Using cmdline example in  [GETTING STARTED](#getting-started) as a start point, you can enable **_target region_** mode by specifying **--targetRegion** with a bed format file.\n    The command line becomes:\n    ```\n    ${FASTQUICK_HOME}/bin/FASTQuick.sh \\\n    --steps All \\\n    --reference /path/to/hs37d5.fa \\\n    --dbSNP /path/to/dbsnp132_20101103.vcf.gz \\\n    --callableRegion /path/to/20141020.strict_mask.whole_genome.bed \\\n    --index \u003cindex.prefix\u003e \\\n    --output \u003csample.output.prefix\u003e \\\n    --fastq_1 \u003csample.input.R1.fastq.gz\u003e \\\n    --fastq_2 \u003csample.input.R2.fastq.gz\u003e \\\n    --candidateVCF /path/to/hapmap_3.3.b37.vcf.gz.shuffled.vcf \\\n    --targetRegion \u003ctargetRegion.bed\u003e \n    ```\n    \n    You can also speed the process up by specifying predefined SVD files even for target region mode:\n    ```\n    ${FASTQUICK_HOME}/bin/FASTQuick.sh \\\n    --steps All \\\n    --reference /path/to/hs37d5.fa \\\n    --dbSNP /path/to/dbsnp132_20101103.vcf.gz \\\n    --callableRegion /path/to/20141020.strict_mask.whole_genome.bed \\\n    --index \u003cindex.prefix\u003e \\\n    --output \u003csample.output.prefix\u003e \\\n    --fastq_1 \u003csample.input.R1.fastq.gz\u003e \\\n    --fastq_2 \u003csample.input.R2.fastq.gz\u003e \\\n    --candidateVCF /path/to/hapmap_3.3.b37.vcf.gz.shuffled.vcf \\\n    --targetRegion \u003ctargetRegion.bed\u003e \\\n    --SVDPrefix ${FASTQUICK_HOME}/resource/exome/1000g.phase3.10k.b37.exome.vcf.gz \\\n    ```\n\n    \u003ca href=\"#faq-3\" id=\"faq-3\"\u003e\u003c/a\u003e\n    \n3. What are these SVD files and how to generate them?\n\n    You may have noticed that both in [GETTING STARTED](#getting-started) and in [Target Region Mode](\u003ca href=\"#faq-2\" id=\"faq-2\"\u003e\u003c/a\u003e) we specified predefined SVD files to speed the process up, for most cases you can directly use them too.    \n\n    The SVD files are generated by performing SVD on on a panel of reference genotype(e.g. [1000 genome variants VCF files](ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/release/20130502/)).\n        \n    You can generate SVD files by specifying **--RefVCFList** with list of VCF files with genotype(e.g. [1000 genome variants VCF files](ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/release/20130502/)), and each line contains one VCF file.\n    Or you can let FASTQuick.sh automatically download [1000 genome variants VCF files](ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/release/20130502/) and performing SVD for you, but this requires internet connection and will take longer time than using **--RefVCFList** option.\n\n    \u003ca href=\"#faq-4\" id=\"faq-4\"\u003e\u003c/a\u003e\n\n4. Why does index step failed (or take long time)?\n\n    If you encounter this problem, please check the log files to ensure if the internet connection is successful throughout the running time. You may consider to use **--SVDPrefix** or **--RefVCFList** to skip certain procedures.\n\n    \u003ca href=\"#faq-5\" id=\"faq-5\"\u003e\u003c/a\u003e\n\n5. What are the files in ${FASTQUICK_HOME}/resource/ directory?\n    \n    This directory contains the predefined marker set and its corresponding SVD files. Because the SVD files(same prefix ending with .bed .mu .UD .V) usually can be reused, we prepare these files in advance to speed up the process.\n    \n    \u003ca href=\"#faq-6\" id=\"faq-6\"\u003e\u003c/a\u003e\n\n6. Can I run FASTQuick step by step?\n\n    We have prepared an example directory, in which you can find example scripts for each single step as template for customized usage.\n    * the script **example.sh** is the simplified template for one-stop analysis.(our bin/FASTQuick.sh is more comprehensive and hence recommended)\n    * the script **example.index.sh** is the template for selection new marker set and indexing reference data structures.\n    * the script **example.align.sh** is the template for primary analysis.\n    * the script **example.pop+con.sh** is the template to estimate contamination level and genetic ancestry of the intended sample.\n    * the script **example.predefine.marker.index.sh** is the template to use pre-defined marker set to build indices.\n\n    \u003ca href=\"#faq-7\" id=\"faq-7\"\u003e\u003c/a\u003e\n\n7. What is the format of fastq file list required by **--fastqList**?\n\n    FASTQuick.sh expects tab-delimited format as follows:\n    ```\n    read.group.A.read_1.fq.gz   read.group.A.read_2.fq.gz\n    read.group.A.single.end.fq.gz\n    read.group.B.read_1.fq.gz   read.group.B.read_2.fq.gz\n    read.group.C.read_1.fq.gz   read.group.C.raed_2.fq.gz\n    read.group.C.single.end.fq.gz\n    ```\n    \n    \u003ca href=\"#faq-8\" id=\"faq-8\"\u003e\u003c/a\u003e\n8. How many markers are in use by default and how can I change the number of markers in use?\n\n    By default, we used 1000 long flanking region variants and 9000 short flanking region variants. You can modify this number by specifying **--ShortVariant** and **--LongVariant**.\n\n    \u003ca href=\"#faq-9\" id=\"faq-9\"\u003e\u003c/a\u003e\n\n9. Can I run FASTQuick on GRCh38?\n\n    Yes, you can run FASTQuick on GRCh38. \n    However, FASTQuick does not reply on any standard/version of reference genome, because the alignment(coordinate system) will be used only for internal purpose and will provide very similar final report regardless of which version of reference will be used.\n    We plan to provide GRCh38 based resource files later on, please stay tuned. \n  \n### WIKI PAGE\n\nWe encourage users to refer to FASTQuick wiki page for more detailed description. [https://github.com/Griffan/FASTQuick/wiki]\n\n### AUTHOR\nFan Zhang (email:fanzhang@umich.edu)\n\n### COPYRIGHT\n   The full FASTQuick package is distributed under MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgriffan%2Ffastquick","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgriffan%2Ffastquick","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgriffan%2Ffastquick/lists"}