Git Product home page Git Product logo

flexbar's Introduction

SeqAn - The Library for Sequence Analysis

build status license latest release platforms start twitter

NOTE
SeqAn3 is out and hosted in a different repository
We recommend using SeqAn3 for new applications.

What Is SeqAn?

SeqAn is an open source C++ library of efficient algorithms and data structures for the analysis of sequences with the focus on biological data. Our library applies a unique generic design that guarantees high performance, generality, extensibility, and integration with other libraries. SeqAn is easy to use and simplifies the development of new software tools with a minimal loss of performance.

License

The SeqAn library itself, the tests and demos are licensed under the very permissive 3-clause BSD License. The licenses for the applications themselves can be found in the LICENSE files.

Prerequisites

Older compiler versions might work but are neither supported nor tested.

Linux, macOS, FreeBSD

  • GCC ≥ 11
  • Clang/LLVM ≥ 15
  • Intel oneAPI C++ Compiler 2024.0.2 (IntelLLVM)

Windows

  • Visual C++ ≥ 17.0 / Visual Studio ≥ 2022

Architecture support

  • Intel/AMD platforms, including optimisations for modern instruction sets (POPCNT, SSE4, AVX2, AVX512)
  • All Debian release architectures supported, including most ARM and all PowerPC platforms.

Build system

  • To build tests, demos, and official SeqAn applications you also need CMake ≥ 3.12.

Some official applications might have additional requirements or only work on a subset of platforms.

Documentation Resources

Contact

flexbar's People

Contributors

bngksvn avatar jtroehr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flexbar's Issues

Flexbar could't identify Y base?

When I used this software to trim amplicon reads for 515F-806R primer, it reported the error as follows:

ERROR: Unexpected character 'Y' found.
Program execution aborted.

the following are the shell command and the primer sequance:

  • command line
flexbar -a illumina_PE_adapter.fa   \
-ao 5 \
-qt 30    \
--min-read-length 180  \
 --threads 2  \
 --zip-output GZ \
 --max-uncalled 10   \
 -r /disk/user/zouhua/project/Hypertension_16s/Study/00.RawData/HTN1/FDMP20H002931-1a_L1_HTN1.raw_1.fq.gz \
 -p /disk/user/zouhua/project/Hypertension_16s/Study/00.RawData/HTN1/FDMP20H002931-1a_L1_HTN1.raw_2.fq.gz \
  --target result/02.trim/HTN1  \
2>result/logs/02.trim/trim_HTN1.log
  • primer sequence
>forward_sequence_515F
CCTAYGGGRBGCASCAG
>reverse_sequence_806R
GGACTACNNGGGTATCTAAT

So I wonder that whether flexbar is suitable on trimming primer sequence ?

Scoring of adapter alignment looks flawed

adapter-trim-end: RIGHT
adapter-min-overlap: 10
adapter-error-rate: 0.2
adapter-match: 1
adapter-mismatch: -1
adapter-gap: -6

--align-log MOD looks fishy

Sequence removal: right side
  query id         cDNA_3p_adapter
  query pos        33-72
  read id          K00200:101:HGHKYBBXX:2:1101:19289:1261
  read pos         0-43
  score            6
  overlap          10
  errors           2
  error threshold  2
  remaining read   CGCTCTTCCGATCTGGCTTGNGGACTGCTCTAC
  remaining qual   FFJJAJFFFFFJ7JJF<JFF#JJJFFJJJFJJA

  Alignment:

      0     .    :    .    :    .    :    .    :    .    : 
        CGCTCTTCCGATCTGGCTTGNGGACTGCTCTACTGAATACAAC-------
                                              | | |       
        ---------------------------------NNNNNAGATCGGAAGAG

     50     .    :    .    :   
        ----------------------

Unable to install flexbar with homebrew

When i run the command:
brew install brewsci/science/flexbar

I get the error:

Error: Formulae found in multiple taps:
* brewsci/bio/seqan
* brewsci/bio/seqan
Please use the fully-qualified name (e.g. brewsci/bio/seqan) to refer to a specific formula.

Has the formula in homebrew change or has flexbar been moved to another tap?

Unexpected end of input.

Hi,

I downloaded flexbar successfully using conda. However, when I run the command line (even the basic one), I get this error

flexbar -r dydy3i3g.fastq -a ../adapters.fasta -b ../barcodes.fa
ERROR: Unexpected end of input.
Program execution aborted.

PS : it works when I do flexbar -h or -hh

Please upgrade to onetbb

Hi,
Debian has migrated to onetbb (the successor of tbb). Unfortunately flexbar does not build with the new API as you can read in the bug report against the Debian package which says:

/<<PKGBUILDDIR>>/src/Flexbar.h:15:10: fatal error: tbb/pipeline.h: No such file or directory
   15 | #include <tbb/pipeline.h>
      |          ^~~~~~~~~~~~~~~~   
compilation terminated.             

It would be great if flexbar would support this new API.
Kind regards, Andreas.

paired end barcode demultiplexing

I want to perform demultiplexing on paired-end fastq files but with barcodes for each pair fastq file.

This basic command works well

$flexbar -r $R1_fastq --barcodes $Tags 

This one too

$flexbar -r $R1_fastq -p $R2_fastq --barcodes $Tags 

But now i want to check specific barcodes on the second pair:

$flexbar -r $R1_fastq -p $R2_fastq --barcodes $Tags_F --barcodes2 $Tags_R
  • $R1_fastq : forward paired end fastq read sequences file
  • $R2_fastq : reverse paired end fastq read sequences file
  • $Tags_F : fasta file of barcodes to check on $R1_fastq
  • $Tags_R : fasta file of barcodes to check on $R2_fastq

This command gave me the following output:

               ________          __              
              / ____/ /__  _  __/ /_  ____ ______
             / /_  / / _ \| |/ / __ \/ __ `/ ___/
            / __/ / /  __/>  </ /_/ / /_/ / /    
           /_/   /_/\___/_/|_/_.___/\__,_/_/     

Flexbar - flexible barcode and adapter removal, version 2.5


Local time:            Wed Dec  4 14:31:03 2019

Target name:           flexbar
File type:             fastq
Reads file:            /share/reservebenefit/working/Input_data/Outputs/grinder_teleo1/grinder_teleo1_R1.fastq
Reads file 2:          /share/reservebenefit/working/Input_data/Outputs/grinder_teleo1/grinder_teleo1_R2.fastq   (paired run)
Barcode file:          /share/reservebenefit/working/pierre/eDNA--benchmark_pipelines/02_demultiplex/Tags_F.fasta
Barcode file 2:        /share/reservebenefit/working/pierre/eDNA--benchmark_pipelines/02_demultiplex/Tags_R.fasta

threads:               1
max-uncalled:          0
min-read-length:       18

barcode-trim-end:      ANY
barcode-threshold:     1
barcode-match:         1
barcode-mismatch:     -1
barcode-gap:          -9

Barcode:               Sequence:
S1-01                  ^AACAAGCC
S1-02                  ^TGAGAGCT
S1-03                  ^ACAACCGA
S1-04                  ^TTACGCCA
S1-05                  ^GGAGAAGA
S1-06                  ^CAGGCTAA
[...]
S29-11                 ^TCTGTTCG
S29-12                 ^ACCAGTAC

Barcode2:              Sequence:
S1-01                  ^AACAAGCC
S1-02                  ^TGAGAGCT
[...]

S29-10                 ^CTTGTGAC
S29-11                 ^TCTGTTCG
S29-12                 ^ACCAGTAC


Processing reads ...Error opening file: flexbar_barcode_S14-06-S1-02_2.fastq

It also generated empty files with name as combination of tags

flexbar_barcode_S1-01-S1-01_1.fastq
flexbar_barcode_S1-01-S1-01_2.fastq
flexbar_barcode_S1-01-S1-02_1.fastq
flexbar_barcode_S1-01-S1-02_2.fastq
flexbar_barcode_S1-02-S1-01_1.fastq
flexbar_barcode_S1-02-S1-01_2.fastq
flexbar_barcode_S1-02-S1-02_1.fastq
flexbar_barcode_S1-02-S1-02_2.fastq
flexbar_barcode_S1-03-S1-01_1.fastq
flexbar_barcode_S1-03-S1-01_2.fastq
flexbar_barcode_S1-03-S1-02_1.fastq
flexbar_barcode_S1-03-S1-02_2.fastq
flexbar_barcode_S1-04-S1-01_1.fastq
flexbar_barcode_S1-04-S1-01_2.fastq
flexbar_barcode_S1-04-S1-02_1.fastq
flexbar_barcode_S1-04-S1-02_2.fastq
flexbar_barcode_S1-05-S1-01_1.fastq
flexbar_barcode_S1-05-S1-01_2.fastq
flexbar_barcode_S1-05-S1-02_1.fastq
flexbar_barcode_S1-05-S1-02_2.fastq
flexbar_barcode_S1-06-S1-01_1.fastq
flexbar_barcode_S1-06-S1-01_2.fastq
flexbar_barcode_S1-06-S1-02_1.fastq
[...]

Build Error: Invalid Type Conversion

Hi there, I am attempting to build flexbar and hitting an issue of some sort:

basic_simd_vector.h(795): error: invalid type conversion: "seqan::SimdVector8Short" to "__m128i &"
      SEQAN_VECTOR_CAST_LVALUE_(__m128i&, vector) = _mm_set_epi16(std::get<INDICES>(args)...);

Could you comment? Here are the steps I follow:

tar xzf flexbar-3.2.0.tar.gz
tar xJf seqan-library-2.2.0.tar.xz
mv seqan-library-2.2.0/include flexbar-3.2.0
cd flexbar-3.2.0
mkdir build
cd build
module load Intel/2016.3.210-GCC-5.4.0-2.26
module load IntelMPI/5.1.3.181
module load tbb/2018_U3
module load CMake/3.6.2
export CC=icc
export CXX=icpc
export CFLAGS=-I/opt/easybuild/software/MPI/intel/2016.3.210-GCC-5.4.0-2.26/impi/5.1.3.181/tbb/2018_U3/include
export CXXFLAGS=-I/opt/easybuild/software/MPI/intel/2016.3.210-GCC-5.4.0-2.26/impi/5.1.3.181/tbb/2018_U3/include
cmake -DCMAKE_VERBOSE_MAKEFILE=1 ..
make

Note that the "module load" commands are simply updating environment variables (namely, PATH and LD_LIBRARY_PATH) to point to the appropriate libraries and binaries.

Here is the relevant output:

$ cmake -DCMAKE_VERBOSE_MAKEFILE=1 ..
-- The C compiler identification is Intel 16.0.3.20160415
-- The CXX compiler identification is Intel 16.0.3.20160415
-- Check for working C compiler: /opt/easybuild/software/Core/icc/2016.3.210-GCC-5.4.0-2.26/compilers_and_libraries_2016.3.210/linux/bin/intel64/icc
-- Check for working C compiler: /opt/easybuild/software/Core/icc/2016.3.210-GCC-5.4.0-2.26/compilers_and_libraries_2016.3.210/linux/bin/intel64/icc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /opt/easybuild/software/Core/icc/2016.3.210-GCC-5.4.0-2.26/compilers_and_libraries_2016.3.210/linux/bin/intel64/icpc
-- Check for working CXX compiler: /opt/easybuild/software/Core/icc/2016.3.210-GCC-5.4.0-2.26/compilers_and_libraries_2016.3.210/linux/bin/intel64/icpc -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test COMPILER_SUPPORTS_CXX14
-- Performing Test COMPILER_SUPPORTS_CXX14 - Success
-- Flexbar 64 bit architecture
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.3") 
-- Found BZip2: /usr/lib64/libbz2.so (found version "1.0.5") 
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
-- Configuring done
-- Generating done
-- Build files have been written to: /home/frenchwr/tmp/flexbar-3.2.0/build

and:

$ make
/gpfs22/easybuild/centos6/software/Compiler/GCCcore/5.4.0/CMake/3.6.2/bin/cmake -H/home/frenchwr/tmp/flexbar-3.2.0 -B/home/frenchwr/tmp/flexbar-3.2.0/build --check-build-system CMakeFiles/Makefile.cmake 0
/gpfs22/easybuild/centos6/software/Compiler/GCCcore/5.4.0/CMake/3.6.2/bin/cmake -E cmake_progress_start /home/frenchwr/tmp/flexbar-3.2.0/build/CMakeFiles /home/frenchwr/tmp/flexbar-3.2.0/build/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory `/gpfs22/home/frenchwr/tmp/flexbar-3.2.0/build'
make -f src/CMakeFiles/flexbar.dir/build.make src/CMakeFiles/flexbar.dir/depend
make[2]: Entering directory `/gpfs22/home/frenchwr/tmp/flexbar-3.2.0/build'
cd /home/frenchwr/tmp/flexbar-3.2.0/build && /gpfs22/easybuild/centos6/software/Compiler/GCCcore/5.4.0/CMake/3.6.2/bin/cmake -E cmake_depends "Unix Makefiles" /home/frenchwr/tmp/flexbar-3.2.0 /home/frenchwr/tmp/flexbar-3.2.0/src /home/frenchwr/tmp/flexbar-3.2.0/build /home/frenchwr/tmp/flexbar-3.2.0/build/src /home/frenchwr/tmp/flexbar-3.2.0/build/src/CMakeFiles/flexbar.dir/DependInfo.cmake --color=
Scanning dependencies of target flexbar
make[2]: Leaving directory `/gpfs22/home/frenchwr/tmp/flexbar-3.2.0/build'
make -f src/CMakeFiles/flexbar.dir/build.make src/CMakeFiles/flexbar.dir/build
make[2]: Entering directory `/gpfs22/home/frenchwr/tmp/flexbar-3.2.0/build'
[ 50%] Building CXX object src/CMakeFiles/flexbar.dir/Flexbar.cpp.o
cd /home/frenchwr/tmp/flexbar-3.2.0/build/src && /opt/easybuild/software/Core/icc/2016.3.210-GCC-5.4.0-2.26/compilers_and_libraries_2016.3.210/linux/bin/intel64/icpc   -DSEQAN_HAS_BZIP2=1 -DSEQAN_HAS_ZLIB=1 -I/home/frenchwr/tmp/flexbar-3.2.0/include  -I/opt/easybuild/software/MPI/intel/2016.3.210-GCC-5.4.0-2.26/impi/5.1.3.181/tbb/2018_U3/include  -std=c++14 -march=native -O3 -DNDEBUG   -o CMakeFiles/flexbar.dir/Flexbar.cpp.o -c /home/frenchwr/tmp/flexbar-3.2.0/src/Flexbar.cpp
/home/frenchwr/tmp/flexbar-3.2.0/include/seqan/basic/basic_simd_vector.h(795): error: invalid type conversion: "seqan::SimdVector8Short" to "__m128i &"
      SEQAN_VECTOR_CAST_LVALUE_(__m128i&, vector) = _mm_set_epi16(std::get<INDICES>(args)...);
      ^
          detected during:
            instantiation of "void seqan::_fillVector(TSimdVector &, const std::tuple<TValue...> &, const std::index_sequence<INDICES...> &, seqan::SimdParams_<16, 8>) [with TSimdVector=seqan::SimdVector8Short, TValue=<seqan::SimpleType<unsigned char, seqan::Dna5_>, seqan::SimpleType<unsigned char, seqan::Dna5_>, seqan::SimpleType<unsigned char, seqan::Dna5_>, seqan::SimpleType<unsigned char, seqan::Dna5_>, seqan::SimpleType<unsigned char, seqan::Dna5_>, seqan::SimpleType<unsigned char,
                      seqan::Dna5_>, seqan::SimpleType<unsigned char, seqan::Dna5_>, seqan::SimpleType<unsigned char, seqan::Dna5_>>, INDICES=<0UL, 1UL, 2UL, 3UL, 4UL, 5UL, 6UL, 7UL>]" at line 1390
            instantiation of "seqan::EnableIf<seqan::Is<seqan::SimdVectorConcept<TSimdVector>>, void>::Type seqan::fillVector(TSimdVector &, TValue...) [with TSimdVector=seqan::SimdVector8Short, TValue=<seqan::Dna5, seqan::Dna5, seqan::Dna5, seqan::Dna5, seqan::Dna5, seqan::Dna5, seqan::Dna5, seqan::Dna5>]" at line 115 of "/home/frenchwr/tmp/flexbar-3.2.0/include/seqan/align/dp_align_simd_helper.h"
            instantiation of "void seqan::_createSimdRepImpl(TSimdVecs &, const TStrings &, const seqan::VectorLength_<8U> &) [with TSimdVecs=seqan::String<seqan::SimdVector8Short, seqan::Alloc<seqan::OverAligned>>, TStrings=seqan::Segment<seqan::StringSet<flexbar::FSeqStr, seqan::Dependent<seqan::Tight>>, seqan::InfixSegment>]" at line 123 of "/home/frenchwr/tmp/flexbar-3.2.0/include/seqan/align/dp_align_simd_helper.h"
            instantiation of "void seqan::_createSimdRepImpl(TSimdVecs &, const TStrings &) [with TSimdVecs=seqan::String<seqan::SimdVector8Short, seqan::Alloc<seqan::OverAligned>>, TStrings=seqan::Segment<seqan::StringSet<flexbar::FSeqStr, seqan::Dependent<seqan::Tight>>, seqan::InfixSegment>]" at line 162 of "/home/frenchwr/tmp/flexbar-3.2.0/include/seqan/align/dp_align_simd_helper.h"
            instantiation of "void seqan::_prepareAndRunSimdAlignment(TResult &, TTraces &, const TSequencesH &, const TSequencesV &, const TScore &, const seqan::AlignConfig2<TAlgo, TBand, TFreeEndGaps, TTraceback> &, const TGapModel &, const seqan::SimdAlignEqualLength &) [with TResult=seqan::SimdVector8Short, TTraces=seqan::StringSet<seqan::String<seqan::TraceSegment_<signed long, size_t={unsigned long}>, seqan::Alloc<void>>, seqan::Owner<seqan::Default>>,
                      TSequencesH=seqan::Segment<seqan::StringSet<flexbar::FSeqStr, seqan::Dependent<seqan::Tight>>, seqan::InfixSegment>, TSequencesV=seqan::Segment<seqan::StringSet<flexbar::FSeqStr, seqan::Dependent<seqan::Tight>>, seqan::InfixSegment>, TScore=seqan::Score<seqan::SimdVector8Short, seqan::ScoreSimdWrapper<seqan::Score<int, seqan::ScoreMatrix<seqan::Dna5, seqan::Default>>>>, TAlgo=seqan::DPGlobal, TBand=seqan::DPBandConfig<seqan::BandOff>,
                      TFreeEndGaps=seqan::FreeEndGaps_<seqan::True, seqan::False, seqan::True, seqan::True>, TTraceback=seqan::TracebackOn<seqan::TracebackConfig_<seqan::SingleTrace, seqan::GapsLeft>>, TGapModel=seqan::LinearGaps]" at line 289 of "/home/frenchwr/tmp/flexbar-3.2.0/include/seqan/align/dp_align_simd_helper.h"
            [ 7 instantiation contexts not shown ]

I've truncated the error message above. We do not have the TBB library installed with GCC but I will go ahead and try that next to see if this is an issue with just the Intel compiler.

error when building from source: CMake Error: The source directory "/flexbar-3.5.0" does not appear to contain CMakeLists.txt.

Hello,
I'm trying to install flexbar 3.5.0 in a singularity container and got the following error message:
CMake Error: The source directory "/flexbar-3.5.0-linux" does not appear to contain CMakeLists.txt.

The container is build with Ubuntu 18.04 and I've installed the required libraries (libtbb-dev, libtbb2 and seqan-library-2.4.0). I've followed the instruction from the README.md after correcting the name of the flexbar tar archive and flexbar folder after untaring it (flexbar-3.5.0-linux and not flexbar-3.5.0). Here is the definition file used to build the container:
Flexbar-3.5.0.def.txt

I've found a CMakeLists.txt in the source code of version 3.3 but I'm not sure this will work to build the version 3.5

Any help on this error would be much appreciated.

Thank you very much,
Best wishes,
Alice

combining adapters and barcode removal into a single command paired-end fastq

Hi,

I want to remove adapters and demultiplex by barcode a couple of paired-end fastq files

First this basic command works fine so it means my files are likely to suit with flexbar usage:

flexbar -r $R1_fastq -b $Tags

But when i tried the following command:

flexbar -r $R1_fastq -p $R2_fastq -b $Tags -b2 $Tags -a $Primer_F -a2 $Primer_R -at 0.1 -t 02_demultiplex/ -n 4
  • $R1_fastq : a fastq file forward read sequences
  • $R2_fastq : a fastq file reverse read sequences
  • $Tags : a fasta file with barcode and related tag
  • $Primer_F : a fasta file with forward sequence of illumina adapter
  • $Primer_R : a fasta file with reverse sequence of illumina adapter

I got the following message error:


               ________          __              
              / ____/ /__  _  __/ /_  ____ ______
             / /_  / / _ \| |/ / __ \/ __ `/ ___/
            / __/ / /  __/>  </ /_/ / /_/ / /    
           /_/   /_/\___/_/|_/_.___/\__,_/_/     

Flexbar - flexible barcode and adapter removal, version 2.5


Local time:            Wed Dec  4 14:16:16 2019

Target name:           02_demultiplex/test/02_flexbar/grinder_teleo1
File type:             fastq
Reads file:            /share/reservebenefit/working/Input_data/Outputs/grinder_teleo1/grinder_teleo1_R1.fastq
Reads file 2:          /share/reservebenefit/working/Input_data/Outputs/grinder_teleo1/grinder_teleo1_R2.fastq   (paired run)
Barcode file:          /share/reservebenefit/working/pierre/eDNA--benchmark_pipelines/02_demultiplex/Tags.fasta
Barcode file 2:        /share/reservebenefit/working/pierre/eDNA--benchmark_pipelines/02_demultiplex/Tags.fasta
Adapter file:          /share/reservebenefit/working/pierre/eDNA--benchmark_pipelines/02_demultiplex/Primer_F.fasta
Adapter file 2:        /share/reservebenefit/working/pierre/eDNA--benchmark_pipelines/02_demultiplex/Primer_R.fasta

threads:               4
max-uncalled:          0
min-read-length:       18

barcode-trim-end:      ANY
barcode-threshold:     1
barcode-match:         1
barcode-mismatch:     -1
barcode-gap:          -9

adapter-trim-end:      RIGHT
adapter-min-overlap:   3
adapter-threshold:     0.1
adapter-match:         1
adapter-mismatch:     -1
adapter-gap:          -6

Barcode:               Sequence:
S1-01                  AACAAGCC
S1-02                  TGAGAGCT
S1-03                  ACAACCGA


[...]
S29-10                 CTTGTGAC
S29-11                 TCTGTTCG
S29-12                 ACCAGTAC

Barcode2:              Sequence:
S1-01                  AACAAGCC
S1-02                  TGAGAGCT
S1-03                  ACAACCGA
[...]
S29-10                 CTTGTGAC
S29-11                 TCTGTTCG
S29-12                 ACCAGTAC

File reading error occured.

Do you have any idea what the problem is?

Illegal Instruction Message

I am able to compile Flexbar but receive the following message when running:

18 Illegal instruction (core dumped)

Here is my syntax:

flexbar \
  -r path/to/reads/fastq \
  -b path/to/barcodes/fasta \
  -bt LTAIL  \

It seems like the install was successful:

RUN apt-get update  && apt-get install -y libtbb2 libtbb-dev
RUN mkdir -p /opt/flexbar/tmp && cd /opt/flexbar/tmp \
  && wget https://github.com/seqan/flexbar/archive/v3.3.0.tar.gz \
  && wget https://github.com/seqan/seqan/releases/download/seqan-v2.4.0/seqan-library-2.4.0.tar.xz  
  && tar xzf v3.3.0.tar.gz \
  && tar xJf seqan-library-2.4.0.tar.xz \
  && mv seqan-library-2.4.0/include flexbar-3.3.0 \
  && cd flexbar-3.3.0  \
  && cmake .  && make  \
  && cp flexbar /opt/flexbar/  \
  && cd /  \
  && rm -rf /opt/flexbar/tmp

ENV LD_LIBRARY_PATH "/opt/flexbar/:$LD_LIBRARY_PATH"
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test COMPILER_SUPPORTS_CXX14
-- Performing Test COMPILER_SUPPORTS_CXX14 - Success
-- Flexbar 64 bit architecture
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- Found BZip2: /usr/lib/x86_64-linux-gnu/libbz2.so (found version "1.0.6")
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/flexbar/tmp/flexbar-3.3.0

Same issue with 3.4.0. Any tips appreciated.

Flexbar will not produce output file

Dear author,

I've been trying to use flexbar to trim adapters using the NEBnext guide as per https://github.com/nebiolabs/nebnext-single-cell-rna-seq
however when running on snakemake and on shell it does not create any output.
It does not stop with any errors either, it runs fine and completes but will not create the output file.

heres my code:

flexbar --reads /bucket/MikheyevU/Nonno/VarroaWorld/renamed/PGV953_2_S133_R1.fastq.gz --reads2 /bucket/MikheyevU/Nonno/VarroaWorld/renamed/PGV953_2_S133_R2.fastq.gz --stdout-reads --adapters /bucket/MikheyevU/Nonno/VarroaWorld/renamed/tso_g_wo_hp.fasta --adapter-trim-end LEFT --adapter-revcomp ON --adapter-revcomp-end RIGHT --qtrim TAIL --qtrim-format sanger --qtrim-threshold 30 --htrim-left GT --htrim-right CA --htrim-min-length 3 --htrim-max-length 5 --htrim-max-first --htrim-adapter --min-read-length 2 --threads 8

flexbar: Too many arguments!

Hey, here is my script:

**module load flexbar/3.5.0

DATA="/data/epifluidlab/lulu/hek293t/data"

mySample="Dmut2 Dmut3 Dyth1 Dyth2 Dyth3"
for s in $mySample
do

flexbar -r $DATA/${s}_1.fq.gz -p $DATA/${s}_2.fq.gz -aa Nextera –zip-output GZ –threads 16 -qf i1.8 -t /data/epifluidlab/lulu/hek293t/data/trim/${s}

done**

I got the error:
flexbar: Too many arguments!

How could I fix it?

Thanks so much!

Best,

Lu

Exclude some barcodes combinations ?

Hello,

While analyzing sequencing data biologists sent me, I found quite a big issue with the F/R barcodes combinations.

For a fastq file, they provide two barcodes fasta file (F and R), both with 7 barcodes. The problem is that flexbar (used with the -b and -b2 parameters) seems to search for all possible F/R barcodes combinations (thus 49), while they used less combinations (19 in total).

My question is : is it possible to exclude barcodes combinations (or to specify which one to use) ?

Thanks.

Question about setting parameters

Hi!

Thanks for flexbar!

I have more a question than an issue.. I was wondering if some adapter parameters are applied for barcodes too.
To be more specific, I want to demultiplex my samples based on barcodes and I want to search for reverse complement of these barcodes too, so can I use the -ac ON parameter for that, even it is for adapters, OR should I set my barcodes as adapters (e.g. -a instead of -b)?

example of the command would be

flexbar -r R1_001.fastq.gz -p R2_001.fastq.gz --barcodes barcodes.fasta --barcode-trim-end ANY -ac ON -ap ON --barcode-unassigned --barcode-keep -t ~/output --zip-output GZ -n 30

Thank you in advanced

Myrto

Flexbar crashes with high number of barcode combinations

Hello Johannes,

Thanks for the nice project!
I have almost 5000 barcode combinations (system with fwd and rev barcodes). Flexbar unfortunately is not able to handle such a high number of files to be open in parallel.
Could this be improved?

Best regards,
Martin

Demultiplexed a single read with barcodes at both ends

Dear

We are experiencing a particular data setting for which we would like to apply flexbar.
Would it be possible with flexbar to demultiplex reads which have barcodes at both ends, providing a file of barcodes at the start and a file of barcodes at the ends. For example:

BC1: AAATTTGGG
BC2: CCCCCAAAA
Read: AAATTTGGGxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCCCCCAAAA

Could this read be demultiplexed to a file called 'out_AAATTTGGG-CCCCCAAAA.fastq' (quite similar as for with the paired read files and the --barcodes2 option but for a single file). Can we use the current version of flexbar for these kind of reads or would this be something that you would consider implementing in one of the next versions?

In addition, I have a small question as well. In the source code, it can be seen that the pairing of files is commented out if paired files are provided. Is there a specific reason to not let flexbar pair a R1 and R2 file, or is this a feature that maybe also can be provided in a next version?

Thank you in advance!

All the best
Marijke

UMI tags can't be add to reads name properly while pair end mode

Thanks for your brilliant work! flexbar is my most used trimming tool. But I found a little defect recently when enabling --umi-tags. The UMI would be added behind reads number but reads name, like this @E100047096L1C001R0030000415/2_TGCACGAGAC. So I need to use some tools like bioawk to relocate the UMI tags otherwise they will be ignored by mapping tools or cause the error. Maybe you can add some identify pattern options and let UMI tags add correctly?

NextFlex UMI detection

Hi Johannes,

I was wondering what settings should be used for Nextflex UMI detection.

Basically, I have 50nt single end reads:

NNNN+seq+NNNN+TGGAATTCTCGGGTGCCAAGG (Illumina small RNA)

Adapter + UMI should be trimmed NNNN+NNNN should appear in the read name.

Abort when running flexbar -n option

I get a Killed: 9 error msg after a couple of minutes when running
flexbar -r $dir/1-1A_S11_L001_R1_001.fastq -a $dir/1-1A_S11_L001_I1_001.fa -n 8
The index file is about 1.5 MB, the read file 15.6 MB. I use the latest flexbar version built locally on MacOS Sierra (10.12.6). I installed the tbb (version 2018_U2) via port, and build with cmake version 3.8.2, MacPorts gcc7 7.2.0_0.
Running without the -n option takes very long. I will give an update, if flexbar will terminate without error.

For a better user experience, it would be good to incorporate the tbb CMakeLists.txt from e.g. https://github.com/justusc/FindTBB or print at least a warning when the TBB_FOUND flag is false.

Also, when giving a fastq file as adapter/index file instead of a fasta file, the error msg is just: Could not open <index_file> with no hint. It took me a while to figure out that only fasta format is here allowed.

DNA ambiguity characters in primer sequences

Since I switched to version 3, if there is an ambiguity character in my primer sequence I get an error like this:

ERROR: Unexpected character 'W' found.
My command is:
flexbar -n 4 -r all_R1.fastq.gz -p all_R2.fastq.gz -t primers/all -b forward_primer.fasta -b2 reverse_primer.fasta -bk -be LTAIL -bn 25 -bt 0.480000 -u 100 -z GZ

Where forward_primer is:

>ITS
AACCAWCGATGAAGAACGCAG

If I replace the the W with a N it works. I am not sure if this intended, but I think ambiguity characters in primer sequences are a needed feature.

conda install flexbar error

hi,sir:
when I used to install flexbar by command "conda install -c bioconda flexbar ",the error
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: |
Found conflicts! Looking for incompatible packages. failed

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Package libgcc-ng conflicts for:
flexbar -> libgcc-ng[version='>=7.3.0']
flexbar -> zlib[version='>=1.2.11,<1.3.0a0'] -> libgcc-ng[version='>=7.2.0']
python=2.7 -> libgcc-ng[version='>=7.2.0|>=7.3.0']

How to only keep reads where adapter is found

Hi,

I appreciate the -g, --removal-tags
Tag reads that are subject to adapter or barcode removal.
option.
A great enhancement would be to add an option that reports only the tagged reads and nothing else.

Supporting Flexbar in easybuild

Hi,

this issue is related to #38. I just managed to install flexbar upon user request on our cluster using tbb 2020.3 and seqan 2.4.0.

However, there are so many deprecation warnings, that supporting flexbar for the easybuild community does not seem appropriate any longer.

It seems development has ceased? Or are there any plans supporting the software with regard to seqan 3?

Cheers
Christian

Unable to open bz2 files if wrong prefix

flexbar 2.7 is unable to open a valid bz2 read file named library_name.txt.bz2. If the file is renamed library_name.fq.bz2 flexbar runs without issues.

Is there a reason why this check is performed?

error while installing from source 3.50 version

Hi sir,

We have followed commands mentioned in manuel

tar xzf flexbar-3.5.0.tar.gz

tar xJf seqan-library-2.4.0.tar.xz

mv seqan-library-2.4.0/include flexbar-3.5.0

cd flexbar-3.5.0
cmake .
make

but it shows error at after make command

cmake .
-- Flexbar 64 bit architecture
-- Could NOT find BZip2 (missing: BZIP2_LIBRARIES BZIP2_INCLUDE_DIR)
-- Build will not support bzip2.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ngc-bioinfo/Downloads/flexbar-3.5.0
ngc-bioinfo@ngc-bioinfo:~/Downloads/flexbar-3.5.0$ make
[ 50%] Building CXX object src/CMakeFiles/flexbar.dir/Flexbar.cpp.o
In file included from /home/ngc-bioinfo/Downloads/flexbar-3.5.0/src/Flexbar.cpp:24:0:
/home/ngc-bioinfo/Downloads/flexbar-3.5.0/src/Flexbar.h:15:10: fatal error: tbb/pipeline.h: No such file or directory
#include <tbb/pipeline.h>
^~~~~~~~~~~~~~~~
compilation terminated.
src/CMakeFiles/flexbar.dir/build.make:62: recipe for target 'src/CMakeFiles/flexbar.dir/Flexbar.cpp.o' failed
make[2]: *** [src/CMakeFiles/flexbar.dir/Flexbar.cpp.o] Error 1
CMakeFiles/Makefile2:85: recipe for target 'src/CMakeFiles/flexbar.dir/all' failed
make[1]: *** [src/CMakeFiles/flexbar.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

we cant install latest version in other way via sudo apt install flexbar
if you can please help me to resolve this

Thank you

Not able to run flexbar with paired reads

I am trying to use flexbar at the paired-end mode but only calling reads 1/2 files and the adaptor sequence file, I obtain the following error:

Processing reads ...Error: single read in paired mode, or file reading error!

These are the options I am using:

Local time:            Thu Dec 16 13:38:45 2021

Target name:           flexbar
File type:             fastq
Reads file:            SRR3674996_1_1_trimmed.fq
Reads file 2:          SRR3674996_1_2_trimmed.fq   (paired run)
Adapter file:          /home/vera/Desktop/BSSeq/Amort_et_al_Lusser_Genome_Biol_2017/Illumina_universal_adapter.fasta

threads:               20
max-uncalled:          0
min-read-length:       18

adapter-trim-end:      RIGHT
adapter-min-overlap:   3
adapter-threshold:     3
adapter-match:         1
adapter-mismatch:     -1
adapter-gap:          -6

Adapter:               Sequence:
adapter1               AGATCGGAAGAG

My code line is this one:

flexbar -r SRR3674996_1_1_trimmed.fq -p SRR3674996_1_2_trimmed.fq -a Illumina_universal_adapter.fasta
I also though this problem would get solved using the -ap ON option, but when I add that option the error I obtain is:

flexbar: invalid combination of arguments -- -ap

So I do not know what can be the error with the reads...

Flexbar package not found in Bioconda

Hi! I am trying to install Flexbar using Miniconda, but the package isn't found in any channels. I searched for Flexbar in the bioconda channels using the following command: conda search flexbar

Below are the printed messages after running the command above:

Loading channels: done
No match found for: flexbar. Search: flexbar

PackagesNotFoundError: The following packages are not available from current channels:

  • flexbar

Current channels:

To search for alternate channels that may provide the conda package you're
looking for, navigate to https://anaconda.org and use the search bar at the top of the page.

Flexbar does not demultiplex reads with default options

Hi:

I am trying to demultiplex Oxford Nanopore MinIon reads with Flexbar v3.0.3.
When I ran: flexbar -r ont.fastq -b Barcode.fasta, I got 2 remaining reads (demultiplexed).
When I ran: flexbar -r ont.fastq -b Barcode.fasta -bt 0.2, I got 159 remaining reads (demultiplexed).
When I ran: flexbar -r ont.fastq -b Barcode.fasta -bt 0.3 , I got 5,509 remaining reads (demultiplexed).
When I ran: flexbar -r ont.fastq -b Barcode.fasta -bt 0.4 , I got 23,653 remaining reads (demultiplexed).
With a Perl script, I am able to find 9,791 reads that have barcodes with 0 mismatch. What options should I use to allow 0, 1, 2, or 3 barcode mismatches? The barcodes are 10 bases long.
Thanks!

George

-ap ONLY mode does not use -at RIGHT vs -at LEFT

I think -ap ONLY mode should still respect the -at option (to keep RIGHT or LEFT side)

flexbar -n 16 -r 1.fastq.gz -p 2.fastq.gz -av 20 -at RIGHT -ap ONLY  -t trimmed_ends_right -l ALL

and

flexbar -n 16 -r 1.fastq.gz -p 2.fastq.gz -av 20 -at LEFT -ap ONLY  -t trimmed_ends_left -l ALL

produce identical output.

This can be handy for evaluating the trimmed sequences.

unable to open compressed file?

Hi,

The subject already indicates an assumption, but this is not my intention. Just do not know how to paraphrase this in a better fashion.

Anyway, I submitted a number of flexbar instances and set "set -x" for debugging my script. This gives my the following invokation of flexbar and the error message:

flexbar -aa TruSeq -n 8 --qtrim=WIN -qf i1.3 -r /lustre/miifs03/scratch/m2_zdvhpc/meesters/isibela/raw/Sample_0236_014_CE_NOR_1GD1_DL1/0236_014_CE_NOR_1GD1_DL1_S14_L001_R1_001-pooled.fastq.gz -p /lustre/miifs03/scratch/m2_zdvhpc/meesters/isibela/raw/Sample_0236_014_CE_NOR_1GD1_DL1/0236_014_CE_NOR_1GD1_DL1_S14_L001_R2_001-pooled.fastq.gz -R /lustre/miifs03/scratch/m2_zdvhpc/meesters/isibela/flexbar_test/Sample_0236_014_CE_NOR_1GD1_DL1/0236_014_CE_NOR_1GD1_DL1_S14_L001_R1_001-pooled_paired.fastq. -D /lustre/miifs03/scratch/m2_zdvhpc/meesters/isibela/flexbar_test/Sample_0236_014_CE_NOR_1GD1_DL1/0236_014_CE_NOR_1GD1_DL1_S14_L001_R2_001-pooled_paired.fastq.

ERROR: Could not open file /lustre/miifs03/scratch/m2_zdvhpc/meesters/isibela/flexbar_test/Sample_0236_014_CE_NOR_1GD1_DL1/0236_014_CE_NOR_1GD1_DL1_S14_L001_R1_001-pooled_paired.fastq.


However,

ls /lustre/miifs03/scratch/m2_zdvhpc/meesters/isibela/raw/Sample_0236_014_CE_NOR_1GD1_DL1/0236_014_CE_NOR_1GD1_DL1_S14_L001_R1_001-pooled.fastq.gz
gives
/lustre/miifs03/scratch/m2_zdvhpc/meesters/isibela/raw/Sample_0236_014_CE_NOR_1GD1_DL1/0236_014_CE_NOR_1GD1_DL1_S14_L001_R1_001-pooled.fastq.gz


So, I wonder what might be wrong, here? Any ideas? Should I provide additional information?

Best regards,
Christian

Flexbar should not allow more barcode reads than reads to split

Hi,

I would like to propose an additional check to guard agains errors during barcode detection: Flexbar should check if the number of barcode reads (--br) matches the number of reads.

When there are fewer barcode reads than regular reads, Flexbar exits with error ("Processing reads ...Error: reads without barcode read or file reading error!"). In the reverse case, when there are more barcode reads than regular reads, Flexbar splits the reads and silently drops the remaining barcode reads. The most likely cause for having more barcode reads would be that some reads got lost. In this case the barcode reads and regular reads are out of sync and the split reads will all be jumbled.

Alternatively, it might be a nice feature to require the ids of barcode and regular reads to match. Not sure if this wouldn't be too stringent, though.

Best,
Daniel

Issue installing from source

Hi there,

I've been having trouble installing seqan/flexbar from the source code following the listed instructions. I have no problems decompressing both seqan and flexbar files or moving the seqan/include folder to the flexbar-3.4.0 folder. However, please see the following error:

benmuldcomputer:Downloads benmulder$ cd flexbar-3.4.0
benmuldcomputer:flexbar-3.4.0 benmulder$ cmake .
-- Flexbar 64 bit architecture
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/benmulder/Downloads/flexbar-3.4.0
benmuldcomputer:flexbar-3.4.0 benmulder$ make
[ 50%] Building CXX object src/CMakeFiles/flexbar.dir/Flexbar.cpp.o
In file included from /Users/benmulder/Downloads/flexbar-3.4.0/src/Flexbar.cpp:24:
/Users/benmulder/Downloads/flexbar-3.4.0/src/Flexbar.h:15:10: fatal error: 'tbb/pipeline.h' file
      not found
#include <tbb/pipeline.h>
         ^~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [src/CMakeFiles/flexbar.dir/Flexbar.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/flexbar.dir/all] Error 2
make: *** [all] Error 2

Any help would be appreciated for addressing this.

Alternatively, I've tried running brew install homebrew/core/seqan or brew install homebrew/core/flexbar considering the homebrew/science source migrated officially. However, I receive similar errors for the two such as:

Error: No available formula with the name "homebrew/core/seqan" 
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching for similarly named formulae...
==> Searching local taps...
Error: No similarly named formulae found.

Any help on this error would be much appreciated.

Thanks!

Tag a new release

It's been > 100 commits since 2.7, it would be great if you could make a new release so I can package it in homebrew-science

Issue downloading flexbar from source

cd flexbar-3.5.0
cmake .

No errors up to this point

after 'make'

get the error --> In file included from /Users/jackcrook/desktop/flexbar-3.5.0/src/Flexbar.cpp:24:/Users/jackcrook/desktop/flexbar-3.5.0/src/Flexbar.h:15:10: fatal error: 'tbb/pipeline.h' file not found
#include <tbb/pipeline.h>

Segmentation fault 3.01

Hello,
while
Flexbar 2.7 works fine:
flexbar -r K002000101_56068_1.fq.gz -a Seq_adp_eCLIP.fa -b Seq_barcode_eCLIP.fa -qf sanger -t flexbar27

Flexbar 3.0.1
flexbar_dev -r K002000101_56068_1.fq.gz -a Seq_adp_eCLIP.fa -b Seq_barcode_eCLIP.fa -qf sanger
Segmentation fault

crashes

Please look into this.

Seq_barcode_eCLIP.fa

RNA_A01_upstraem_revcomp
CTACACGACGCTCTTCCGATCTAAGCAAT
RNA_B06_upstream_revcomp
CTACACGACGCTCTTCCGATCTGGCTTGT
RIL_upstream_revcomp
CACGACGCTCTTCCGATCT

and

cDNA_3p_adapter
NNNNNAGATCGGAAGAGCACACGTCTGAACTCCAGTCAC

split reads including barcode rads while use `-br` option

I am trying to demultiplex using barcoded reads with -br.
flexbar -r 2_HMWWKBGXB.2.1.fastq.gz -p 2_HMWWKBGXB.2.2.fastq.gz -b barcodes.fasta -br 2_HMWWKBGXB.2.barcode_1.fastq.gz --zip-output GZ
Current output only providing the read1 and read2 only not the barcode one. This would be a great for the single cell analysis especially to the 10x data format

thanks,
Shams

cmake / compilation problems (wrong compiler used)

Trying to compile flexbar I am consistently running into compilation issues. I'm using -DCMAKE_CXX_FLAGS to point to the location of our TBB installation and to add the -std=c++14 to the compiler. However the compilation consistently fails and the problem seems to be, that the wrong compiler is uses:

$  which gcc
/ibios/tbi_cluster/13.1/x86_64/gcc/gcc-6.x/bin/gcc
$ which c++
/ibios/tbi_cluster/13.1/x86_64/gcc/gcc-6.x/bin/c++
$

but

$ cmake -DCMAKE_PREFIX_PATH=/tmp/flexbar-test -DCMAKE_CXX_FLAGS="-I/ibios/tbi_cluster/13.1/x86_64/tbb/tbb-2017.1/include" DCMAKE_C_COMPILER=`which gcc` .
-- The C compiler identification is GNU 4.8.1
-- The CXX compiler identification is GNU 4.8.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Performing Test COMPILER_SUPPORTS_CXX11
-- Performing Test COMPILER_SUPPORTS_CXX11 - Success
-- Flexbar 64 bit architecture
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.8") 
-- Found BZip2: /usr/lib64/libbz2.so (found version "1.0.6") 
-- Looking for BZ2_bzCompressInit in /usr/lib64/libbz2.so
-- Looking for BZ2_bzCompressInit in /usr/lib64/libbz2.so - found
-- Configuring done
-- Generating done
-- Build files have been written to: /home/thommen/projects/flexbar/flexbar-2.7.0
$

Note the wrong - because too old - compiler selected by cmake (/usr/bin/cc, /usr/bin/c++). How can this be fixed?

frank

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.