{"id":32139203,"url":"https://github.com/smithlabcode/falco","last_synced_at":"2026-04-24T01:05:29.095Z","repository":{"id":37620944,"uuid":"214499063","full_name":"smithlabcode/falco","owner":"smithlabcode","description":"A C++ drop-in replacement of FastQC to assess the quality of sequence read data","archived":false,"fork":false,"pushed_at":"2025-08-11T19:20:25.000Z","size":2421,"stargazers_count":122,"open_issues_count":16,"forks_count":12,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-12-07T04:34:43.102Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://falco.readthedocs.io","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smithlabcode.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-10-11T17:56:11.000Z","updated_at":"2025-11-27T19:53:50.000Z","dependencies_parsed_at":"2024-07-15T02:29:39.711Z","dependency_job_id":"21ef3c67-9ba5-4357-a831-702c9a91c31e","html_url":"https://github.com/smithlabcode/falco","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/smithlabcode/falco","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smithlabcode%2Ffalco","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smithlabcode%2Ffalco/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smithlabcode%2Ffalco/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smithlabcode%2Ffalco/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smithlabcode","download_url":"https://codeload.github.com/smithlabcode/falco/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smithlabcode%2Ffalco/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29605798,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T06:47:36.664Z","status":"ssl_error","status_checked_at":"2026-02-19T06:45:47.551Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2025-10-21T05:28:42.699Z","updated_at":"2026-02-19T07:01:29.653Z","avatar_url":"https://github.com/smithlabcode.png","language":"HTML","readme":"# Falco: FastQC Alternative Code\n\n[![GitHub Downloads](https://img.shields.io/github/downloads/smithlabcode/falco/total.svg?style=social\u0026logo=github\u0026label=Download)](https://github.com/smithlabcode/falco/releases/latest)\n[![DOI](https://zenodo.org/badge/214499063.svg)](https://zenodo.org/badge/latestdoi/214499063)\n[![Install on conda](https://anaconda.org/bioconda/falco/badges/platforms.svg)](https://anaconda.org/bioconda/falco)\n[![Install on conda](https://anaconda.org/bioconda/falco/badges/license.svg)](https://anaconda.org/bioconda/falco)\n[![Install on conda](https://img.shields.io/conda/dn/bioconda/falco?color=red\u0026label=conda%20downloads\u0026style=flat-square)](https://anaconda.org/bioconda/falco)\n\nThis program is an emulation of the popular\n[FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc)\nsoftware to check large sequencing reads for common problems.\n\nInstalling falco\n================\n\n## Installing through conda\nIf you use [anaconda](https://anaconda.org) to manage your packages,\nand the `conda` binary is in your path, you can install the most\nrecent release of `falco` by running\n```\n$ conda install -c bioconda falco\n```\n\n`falco` can be found inside the `bin` directory of your anaconda\ninstaller.\n\n## Installing from source (code release)\n\nCompilation from source can be done by downloading a `falco` release\nfrom the [releases](https://github.com/smithlabcode/falco/releases)\nsection above. Upon downloading the release (in `.tar.gz` or `.zip`\nformat), and inflating the downloaded file to a directory\n(e.g. `falco`), move to the target directory the file was inflated\n(e.g. `cd falco`). You should see a `configure` file in it. In this\ndirectory, run\n\n```\n$ ./configure CXXFLAGS=\"-O3 -Wall\"\n$ make all\n$ make install\n```\nif you wish to install the falco binaries on a specific directory, you can use\nthe `--prefix` argument when running `./configure`, for instance:\n\n```\n$ ./configure CXXFLAGS=\"-O3 -Wall\" --prefix=/path/to/installation/directory\n```\n\nThe `falco` binary will be found in the `bin` directory inside the\nspecified prefix.\n\n## Installing from a cloned repository\n\nWe strongly recommend using `falco` through stable releases as\ndescribed above, as the latest commits might contain undocumented\nbugs. For the more advanced users who wish to test the most recent\ncode, `falco` can be installed by first cloning the repository\n\n```\n$ git clone https://github.com/smithlabcode/falco.git\n$ cd falco\n```\n\nOnce inside the generated repsotory directory, run\n```\n$ make all\n$ make install\n```\n\nThis should create a `bin` directory inside the cloned repository\ncontaining `falco`.\n\n### Required C++ dependencies\n\n[zlib](https://zlib.net) is required to read gzip compressed FASTQ\nfiles. It is usually installed by default in most UNIX computers and\nis part of the htslib setup, but it can also be installed with\nstandard package managers like apt, brew or conda.\n\nOn Ubuntu, zlib C++ libraries can be installed with `apt`:\n```\n$ sudo apt install zlib1g zlib1g-dev\n```\n\n### Optional C++ dependencies\n\n[htslib](https://github.com/samtools/htslib) is required to process\nbam files. If not provided, bam files will be treated as unrecognized\nfile formats.\n\nIf htslib is installed, falco can be compiled with it by simply replacing the\nconfigure command above with the `--enable-hts` flag:\n\n```\n$ ./configure CXXFLAGS=\"-O3 -Wall\" --enable-hts\n```\n\nIf `falco` was cloned from the repository, run the following commands\nto allow BAM file reading:\n\n```\n$ make HAVE_HTSLIB=1 all\n$ make HAVE_HTSLIB=1 install\n```\n\nIf successfully compiled, `falco` can be used in BAM files the same way as it is\nused with fastq and sam files.\n\nRunning falco\n=============\n\nRun falco in with the following command, where the `example.fq` file\nprovided can be replaced with the path to any FASTQ file you want to run\n`falco`\n```\n$ falco example.fq\n```\n\nThis will generate three files in the same directory as the input fastq file:\n\n* `fastqc_data.txt` is a text file with a summary of the QC metrics\n\n* `fastqc_report.html` is the visual HTML report showing plots of the\n   QC metrics summarized in the text summary.\n\n* `summary.txt`: A tab-separated file describing whether the\n  pass/warn/fail result for each module. If multiple files are\n  provided, only one summary file is generated, with one of the\n  columns being the file name associated to each module result.\n\nThe full list of arguments and options can be seen by running `falco`\nwithout any arguments, as well as `falco -?` or `falco --help`. This\nwill print the following list:\n\n```\nUsage: falco [OPTIONS] \u003cseqfile1\u003e \u003cseqfile2\u003e ...\nOptions:\n  -h, --help               Print this help file and exit  \n  -v, --version            Print the version of the program and exit  \n  -o, --outdir             Create all output files in the specified \n                           output directory. FALCO-SPECIFIC: If the \n                           directory does not exists, the program will \n                           create it. If this option is not set then \n                           the output file for each sequence file is \n                           created in the same directory as the \n                           sequence file which was processed.  \n      --casava             [IGNORED BY FALCO] Files come from raw \n                           casava output. Files in the same sample \n                           group (differing only by the group number) \n                           will be analysed as a set rather than \n                           individually. Sequences with the filter flag \n                           set in the header will be excluded from the \n                           analysis. Files must have the same names \n                           given to them by casava (including being \n                           gzipped and ending with .gz) otherwise they \n                           won't be grouped together correctly.  \n      --nano               [IGNORED BY FALCO] Files come from nanopore \n                           sequences and are in fast5 format. In this \n                           mode you can pass in directories to process \n                           and the program will take in all fast5 files \n                           within those directories and produce a \n                           single output file from the sequences found \n                           in all files.  \n      --nofilter           [IGNORED BY FALCO] If running with --casava \n                           then don't remove read flagged by casava as \n                           poor quality when performing the QC \n                           analysis.  \n      --extract            [ALWAYS ON IN FALCO] If set then the zipped \n                           output file will be uncompressed in the same \n                           directory after it has been created. By \n                           default this option will be set if fastqc is \n                           run in non-interactive mode.  \n  -j, --java               [IGNORED BY FALCO] Provides the full path to \n                           the java binary you want to use to launch \n                           fastqc. If not supplied then java is assumed \n                           to be in your path.  \n      --noextract          [IGNORED BY FALCO] Do not uncompress the \n                           output file after creating it. You should \n                           set this option if you do not wish to \n                           uncompress the output when running in \n                           non-interactive mode.  \n      --nogroup            Disable grouping of bases for reads \u003e50bp. \n                           All reports will show data for every base in \n                           the read. WARNING: When using this option, \n                           your plots may end up a ridiculous size. You \n                           have been warned!  \n      --min_length         [NOT YET IMPLEMENTED IN FALCO] Sets an \n                           artificial lower limit on the length of the \n                           sequence to be shown in the report. As long \n                           as you set this to a value greater or equal \n                           to your longest read length then this will \n                           be the sequence length used to create your \n                           read groups. This can be useful for making \n                           directly comaparable statistics from \n                           datasets with somewhat variable read \n                           lengths.  \n  -f, --format             Bypasses the normal sequence file format \n                           detection and forces the program to use the \n                           specified format. Valid formats are bam, sam, \n                           bam_mapped, sam_mapped, fastq, fq, fastq.gz \n                           or fq.gz.  \n  -t, --threads            [NOT YET IMPLEMENTED IN FALCO] Specifies the \n                           number of files which can be processed \n                           simultaneously. Each thread will be \n                           allocated 250MB of memory so you shouldn't \n                           run more threads than your available memory \n                           will cope with, and not more than 6 threads \n                           on a 32 bit machine [1] \n  -c, --contaminants       Specifies a non-default file which contains \n                           the list of contaminants to screen \n                           overrepresented sequences against. The file \n                           must contain sets of named contaminants in \n                           the form name[tab]sequence. Lines prefixed \n                           with a hash will be ignored. Default: \n                           Configuration/contaminant_list.txt \n  -a, --adapters           Specifies a non-default file which contains \n                           the list of adapter sequences which will be \n                           explicity searched against the library. The \n                           file must contain sets of named adapters in \n                           the form name[tab]sequence. Lines prefixed \n                           with a hash will be ignored. Default: \n                           Configuration/adapter_list.txt \n  -l, --limits             Specifies a non-default file which contains \n                           a set of criteria which will be used to \n                           determine the warn/error limits for the \n                           various modules. This file can also be used \n                           to selectively remove some modules from the \n                           output all together. The format needs to \n                           mirror the default limits.txt file found in \n                           the Configuration folder. Default: \n                           Configuration/limits.txt \n  -k, --kmers              [IGNORED BY FALCO AND ALWAYS SET TO 7] \n                           Specifies the length of Kmer to look for in \n                           the Kmer content module. Specified Kmer \n                           length must be between 2 and 10. Default \n                           length is 7 if not specified.  \n  -q, --quiet              Supress all progress messages on stdout and \n                           only report errors.  \n  -d, --dir                [IGNORED: FALCO DOES NOT CREATE TMP FILES] \n                           Selects a directory to be used for temporary \n                           files written when generating report images. \n                           Defaults to system temp directory if not \n                           specified.  \n  -s, -subsample           [Falco only] makes falco faster (but \n                           possibly less accurate) by only processing \n                           reads that are multiple of this value (using \n                           0-based indexing to number reads). [1] \n  -b, -bisulfite           [Falco only] reads are whole genome \n                           bisulfite sequencing, and more Ts and fewer \n                           Cs are therefore expected and will be \n                           accounted for in base content.  \n  -r, -reverse-complement  [Falco only] The input is a \n                           reverse-complement. All modules will be \n                           tested by swapping A/T and C/G  \n      -skip-data           [Falco only] Do not create FastQC data text \n                           file.  \n      -skip-report         [Falco only] Do not create FastQC report \n                           HTML file.  \n      -skip-summary        [Falco only] Do not create FastQC summary \n                           file  \n  -D, -data-filename       [Falco only] Specify filename for FastQC \n                           data output (TXT). If not specified, it will \n                           be called fastq_data.txt in either the input \n                           file's directory or the one specified in the \n                           --output flag. Only available when running \n                           falco with a single input.  \n  -R, -report-filename     [Falco only] Specify filename for FastQC \n                           report output (HTML). If not specified, it \n                           will be called fastq_report.html in either \n                           the input file's directory or the one \n                           specified in the --output flag. Only \n                           available when running falco with a single \n                           input.  \n  -S, -summary-filename    [Falco only] Specify filename for the short \n                           summary output (TXT). If not specified, it \n                           will be called fastq_report.html in either \n                           the input file's directory or the one \n                           specified in the --output flag. Only \n                           available when running falco with a single \n                           input.  \n  -K, -add-call            [Falco only] add the command call call to \n                           FastQC data output and FastQC report HTML \n                           (this may break the parse of fastqc_data.txt \n                           in programs that are very strict about the \n                           FastQC output format).  \n\nHelp options:\n  -?, -help                print this help message  \n      -about               print about message  \n\nPROGRAM: falco\nA high throughput sequence QC analysis tool\n```\n\nCiting falco\n============\n\nIf `falco` was helpful for your research, you can cite us as follows:\n\n*de Sena Brandine G and Smith AD. Falco: high-speed FastQC emulation for\nquality control of sequencing data. F1000Research 2021, 8:1874\n(https://doi.org/10.12688/f1000research.21142.2)*\n\n**Please do not cite this manuscript if you used FastQC directly and not falco!**\n\nCopyright and License Information\n=================================\n\nCopyright (C) 2019-2022 Guilherme de Sena Brandine and\n                        Andrew D. Smith\n\nAuthors: Guilherme de Sena Brandine and Andrew D. Smith\n\nThis is free software: you can redistribute it and/or modify it under\nthe terms of the GNU General Public License as published by the Free\nSoftware Foundation, either version 3 of the License, or (at your\noption) any later version.\n\nThis software is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nGeneral Public License for more details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmithlabcode%2Ffalco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmithlabcode%2Ffalco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmithlabcode%2Ffalco/lists"}