{"id":25501951,"url":"https://github.com/opengene/defq","last_synced_at":"2025-04-10T09:46:42.926Z","repository":{"id":90140092,"uuid":"113248728","full_name":"OpenGene/defq","owner":"OpenGene","description":"Please switch to https://github.com/OpenGene/defastq","archived":false,"fork":false,"pushed_at":"2018-07-28T03:21:20.000Z","size":510,"stargazers_count":29,"open_issues_count":2,"forks_count":7,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-24T08:42:21.496Z","etag":null,"topics":["demultiplexing","demux","dual-index","fastq","illumina","index","sequencing","split"],"latest_commit_sha":null,"homepage":"","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/OpenGene.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}},"created_at":"2017-12-06T00:32:18.000Z","updated_at":"2024-09-11T17:42:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"5faa3196-334f-4b7d-949e-46bfc9972429","html_url":"https://github.com/OpenGene/defq","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenGene%2Fdefq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenGene%2Fdefq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenGene%2Fdefq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenGene%2Fdefq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenGene","download_url":"https://codeload.github.com/OpenGene/defq/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248196606,"owners_count":21063467,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["demultiplexing","demux","dual-index","fastq","illumina","index","sequencing","split"],"created_at":"2025-02-19T04:59:45.873Z","updated_at":"2025-04-10T09:46:42.905Z","avatar_url":"https://github.com/OpenGene.png","language":"C","readme":"# defq\nUltra-fast Multi-threaded FASTQ Demultiplexing\n\n# introduction\nUse either index1 or index2 to demultiplex a single FASTQ file to multiple FASTQ files. This tool is developed in C++ with multi-threading supported.\n\n# simple usage\n```shell\n# read1 and read2 are precessed separately\n# -o specifies the output folder, and current working directory is used by default\n# -f specifies the filename suffix so that R1 / R2 can have different file name\n# -s specifies a samplesheet to defq how to demux\ndefq -i in.R1.fq.gz -o demux_out_dir -s samplesheet.csv -f .R1.fq.gz\ndefq -i in.R2.fq.gz -o demux_out_dir -s samplesheet.csv -f .R2.fq.gz\n```\nWhere samplesheet.csv is 3-column (filename, index1, index2) CSV file. You can use index1 for all samples, or use index2 for all samples, but you cannot use both index1 and index2. If the indexes have different length, `defq` will match the longer index first, and then match the shorter ones if the read is still not matched. A sample sheet example:\n```csv\n#filename, #index1, #index2\nfile1, ATTCAGAA,\nfile2, ATTACT,\nfile3, GAGATTCC,\nfile4, CGCTCATT,\n```\nYou will then have following output:\n```\ndemux_out_dir/\n├── Undetermined.R1.fq.gz\n├── Undetermined.R2.fq.gz\n├── file1.R1.fq.gz\n├── file1.R2.fq.gz\n├── file2.R1.fq.gz\n├── file2.R2.fq.gz\n├── file3.R1.fq.gz\n├── file3.R2.fq.gz\n├── file4.R1.fq.gz\n└── file4.R2.fq.gz\n```\n\n# get defq\n## download binary \nThis binary is only for Linux systems: http://opengene.org/defq/defq\n```shell\n# this binary was compiled on CentOS, and tested on CentOS/Ubuntu\nwget http://opengene.org/defq/defq\nchmod a+x ./defq\n```\n## or compile from source\n```shell\n# get source (you can also use browser to download from master or releases)\ngit clone https://github.com/OpenGene/defq.git\n\n# build\ncd defq\nmake\n\n# Install\nsudo make install\n```\n\n# gzip compression\nWhen the output file name is ended with `.gz`, the output will be compressed with gzip. \n* If you specify file name suffix by `-f` or `--suffix1`, add `.gz` into the suffix.\n* If you don't specify file name suffix by `-f` or `--suffix1`, add `.gz` into the file name column in samplesheet.csv.\n\n# all options\n```\nusage: defq --in1=string --sample_sheet=string [options] ... \noptions:\n  -i, --in1             input file name (string)\n  -s, --sample_sheet    a CSV file contains three columns (filename, index1, index2) (string)\n  -o, --out_folder      output folder, default is current working directory (string [=.])\n  -f, --suffix1         the suffix to be appended to the output file name given in sample sheet, default is none (string [=])\n  -u, --undetermined    the file name of undetermined data, default is Undetermined (string [=Undetermined])\n  -z, --compression     compression level for gzip output (1 ~ 9). 1 is fastest, 9 is smallest, default is 2. (int [=2])\n  -?, --help            print this message\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopengene%2Fdefq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopengene%2Fdefq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopengene%2Fdefq/lists"}