{"id":20153561,"url":"https://github.com/seqan/flexbar","last_synced_at":"2025-04-09T21:33:08.517Z","repository":{"id":149547686,"uuid":"42592882","full_name":"seqan/flexbar","owner":"seqan","description":"flexible barcode and adapter removal","archived":false,"fork":false,"pushed_at":"2023-02-10T09:52:58.000Z","size":521,"stargazers_count":77,"open_issues_count":20,"forks_count":27,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-23T23:26:55.361Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seqan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2015-09-16T14:37:35.000Z","updated_at":"2024-11-25T06:09:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"94a9fb81-10aa-47d1-9ecf-e1de59dd7dc8","html_url":"https://github.com/seqan/flexbar","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seqan%2Fflexbar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seqan%2Fflexbar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seqan%2Fflexbar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seqan%2Fflexbar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seqan","download_url":"https://codeload.github.com/seqan/flexbar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248114957,"owners_count":21050145,"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":[],"created_at":"2024-11-13T23:19:43.835Z","updated_at":"2025-04-09T21:33:08.491Z","avatar_url":"https://github.com/seqan.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Flexbar – flexible barcode and adapter removal\n\nThe program Flexbar preprocesses high-throughput sequencing data efficiently. It demultiplexes barcoded runs and removes adapter sequences. Several adapter removal presets for Illumina libraries are included. Flexbar computes exact overlap alignments using SIMD and multicore parallelism. Moreover, trimming and filtering features are provided, e.g. trimming of homopolymers at read ends. Flexbar increases read mapping rates and improves genome as well as transcriptome assemblies. Unique molecular identifiers can be extracted in a flexible way. The software supports data in fasta and fastq format from multiple sequencing platforms.\n\nRefer to the [manual](https://github.com/seqan/flexbar/wiki) or contact [Johannes Roehr](https://github.com/jtroehr) for support with this application.\n\n\n### References\n\nJohannes T. Roehr, Christoph Dieterich, Knut Reinert:  \nFlexbar 3.0 – SIMD and multicore parallelization. Bioinformatics 2017.\n\nSee article on [PubMed](https://www.ncbi.nlm.nih.gov/pubmed/28541403)\n\nMatthias Dodt, Johannes T. Roehr, Rina Ahmed, Christoph Dieterich:  \nFlexbar – flexible barcode and adapter processing for next-generation sequencing platforms. Biology 2012.\n\nSee article on [PubMed](https://www.ncbi.nlm.nih.gov/pubmed/24832523)\n\n![Flexbar logo](https://github.com/seqan/flexbar/wiki/images/flexbar-logo.png)\n\n\n### Download\n\nFlexbar source code as well as binaries for Linux and Mac OS can be downloaded on the [release](https://github.com/seqan/flexbar/releases) page. Please follow instructions for building or setup of binaries below. Additionally, Flexbar is available via package manager on Debian systems, in Homebrew, and in Bioconda. Versions before 2.4 can be found on the [old](https://sourceforge.net/projects/flexbar) page.\n\nInstallation with package managers:\n\n* Debian: `sudo apt install flexbar`\n* Homebrew: `brew install brewsci/science/flexbar`\n* Bioconda: `conda install -c bioconda flexbar`\n\nTo get the latest version and best performance consider to build Flexbar from source.\n\n\n### Building from source\n\nMake sure that `cmake` is available, as well as development and runtime files of the TBB library 4.0 or later (Intel Threading Building Blocks). For example on Debian systems, install the packages `libtbb-dev` and `libtbb2`. Furthermore, the SeqAn library and a compiler that supports C++14 is required:\n\n* Get SeqAn library version 2.4.0 [here](https://github.com/seqan/seqan/releases/download/seqan-v2.4.0/seqan-library-2.4.0.tar.xz)\n* Download Flexbar 3.5.0 source code [release](https://github.com/seqan/flexbar/releases)\n\nDecompress both files:\n\n\ttar xzf flexbar-3.5.0.tar.gz\n\ttar xJf seqan-library-2.4.0.tar.xz\n\nMove SeqAn include folder to Flexbar:\n\n\tmv seqan-library-2.4.0/include flexbar-3.5.0\n\nUse these commands for building:\n\n\tcd flexbar-3.5.0\n\tcmake .\n\tmake\n\nFlexbar versions from 3.0 up to 3.2 require SeqAn 2.2.0 instead. Flexbar version 2.7 uses SeqAn 2.1.1 and releases prior to 2.7 use the SeqAn 1.4.2 library.\n\n\n### Binaries\n\nFor execution of provided Flexbar binaries, the corresponding TBB library has to be available. Downloads contain the library file for runtime. Follow the platform specific instructions below.\n\n#### Linux\nAdjust lib search path to include the absolute path of the Flexbar directory containing the lib file libtbb.so.2 for the current terminal session, or permanently in shell startup scripts:\n\n\texport LD_LIBRARY_PATH=/YourPath/flexbar-3.5.0-linux:$LD_LIBRARY_PATH\n\n#### Mac OS\nIt applies the same as for Linux. Make the file libtbb.dylib available by setting the lib search path:\n\n\texport DYLD_LIBRARY_PATH=/YourPath/flexbar-3.5.0-macos:$DYLD_LIBRARY_PATH\n\n\n### Program usage\n\nFlexbar needs at least one file with sequencing reads in fasta or fastq format as input. Additionally, the target name and further options can be specified. For read separation based on barcodes and for adapter removal, a file in fasta format with barcode or adapter sequences should be provided.\n\n\tflexbar -r reads [-b barcodes] [-a adapters] [options]\n\nRefer to the help screen `flexbar -h` or [manual](https://github.com/seqan/flexbar/wiki) for more information. Although default parameters of Flexbar are optimized to deliver good results in many scenarios, the adjustment of parameters like `--adapter-min-overlap` might improve results. For tests, run `flexbar_test.sh` within the test folder if `flexbar` is reachable via the path variable.\n\n#### Quality-based trimming\n\nIn this example, reads in fastq format are trimmed based on their quality scores in Illumina version 1.8 format. The TAIL method trims the right end of reads until a quality score equal or higher than the threshold is reached, default 20. Trimmed reads are written to `target.fastq` in same format as the input.\n\n\tflexbar -r reads.fq -t target -q TAIL -qf i1.8\n\n#### Demultiplexing with barcodes\n\nReads that are barcoded on the left end are demultiplexed by specifying a file with barcodes in fasta format. Reads that can be assigned are written to separate files using file names that are based on the names of barcodes in the fasta file.\n\n\tflexbar -r reads.fq -b barcodes.fa -bt LTAIL\n\n#### Adapter removal single-end\n\nTo remove adapter sequences from single-end reads, specify a file with adapters in fasta format. These are removed from the right side of reads per default, if they do not align before the read start. The left side of reads is kept if long enough. The overlap of an adapter and read must have at least length 3 with at most 10% errors in default settings.\n\n\tflexbar -r reads.fq -a adapters.fa -ao 3 -ae 0.1\n\n#### Adapter removal paired-end\n\nFor paired-end libraries, specify both files with paired reads and a fasta file with adapters for removal. Given adapters are trimmed in right mode per default. It is recommended to activate the pair overlap detection in case of standard paired reads. This increases the sensitivity by removing very short parts of adapters if an overlap is detected for a pair.\n\n\tflexbar -r r1.fq -p r2.fq -a a1.fa -a2 a2.fa -ap ON\n\n#### Adapter removal presets\n\nSeveral adapter presets for Illumina libraries are included in Flexbar. For example, select the `TruSeq` preset for standard TruSeq adapters and specify two read files for paired reads. If a preset is chosen, a separate file with adapters is not needed for removal. It is recommended to turn on the pair overlap detection for standard paired-end libraries.\n\n\tflexbar -r r1.fq -p r2.fq -aa TruSeq -ap ON\n\nFor further examples visit the [manual](https://github.com/seqan/flexbar/wiki) page.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseqan%2Fflexbar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseqan%2Fflexbar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseqan%2Fflexbar/lists"}