SeqAn's official repository.

Overview
Documentation Status
ATTENTION: SeqAn3 is out and hosted in a different repository: https://github.com/seqan/seqan3
All new applications should be based on SeqAn3 and all existing applications that receive updates should be ported.

SeqAn - The Library for Sequence Analysis

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 permissing 3-clause BSD License. The licenses for the applications themselves can be found in the LICENSE files.

Prerequisites

Linux, MacOS, FreeBSD:
  • GCC ≥ 5 [limited GCC-4.9 support on Linux]
  • Clang/LLVM ≥ 3.6 [limited Clang-3.5 support on Linux]
  • Intel Compiler ≥ 17.0.0 on Linux
Windows:
  • Visual C++ ≥ 14.0 / Visual Studio ≥ 2015
  • Intel Compiler ≥ 17.0.0 / Visual Studio ≥ 2015u2
  • Clang/C2 ≥ 3.8.0 / Visual Studio ≥ 2015u3 [experimental, requires CMake ≥ 3.6]
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.
To build tests, demos, and official SeqAn applications you also need:
  • CMake ≥ 3.0 [CMake ≥ 3.4 recommended]

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

Documentation Resources

Contact

Issues
  • Platform issues

    Platform issues

    • [x] for some reason SEQAN_IS_32_BIT is set for 64bit non-intel/amd, needs to be fixed.
    • [x] ~~bam-io (and possibly other binary IO) broken on platforms with char == unsigned char, need to explicitly use signed char type.~~ (not an issue)
    • [x] fix endianness with sam/bam and tbi
    • [x] deactivate app tests on big-ednian that rely on endianess specific files/checksums
      • [x] yara
    • [x] endianess correction in bgzf-stream / bgzf header
    • [x] increase mmap pagesize from 4K to 16K on all 64bit platforms as sparc64 and possibly others require this
    • [x] FTBFS on armel because of yield
    opened by h-2 84
  • Debian related package issues

    Debian related package issues

    Open Debian Issues:

    • [x] CPU architectures
      • [x] amd64
      • [x] arm64
      • [x] armel : out of memory while building apps, disabled ~~WONTFIX because of GCC BUG: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64735~~
      • [x] armhf: ~~using -O3, out of memory during yara_mapper cc1plus: out of memory allocating 1761548 bytes after a total of 66174976 bytes~~ Builds on Ubuntu now, try again? https://launchpad.net/ubuntu/+source/seqan2/2.3.1+dfsg-5ubuntu2/+build/13316820 Nope, still not enough: cc1plus: out of memory allocating 2174444 bytes after a total of 64348160 bytes
      • [x] i386
      • ~~mips : out of memory during yara_mapper even with -O1 -mxgot, also see https://github.com/seqan/seqan/pull/1887#issuecomment-255703564~~
      • [x] mips64el
      • ~~mipsel : out of memory during yara_mapper even with -O1 -mxgot: virtual memory exhausted: Cannot allocate memory~~
      • [x] powerpc
      • [x] ppc64el
      • [x] s390x
      • [x] alpha: ~~internal compiler error: Segmentation fault & internal compiler error (out of memory?)~~
      • [x] hppa
      • [x] hurd-i386
      • [x] kfreebsd-amd64
      • [ ] kfreebsd-i386 : looks like out of memory
      • [x] m68k : boost error? could be fixed by https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=846617
      • [x] powerpcspe: ~~waiting to build~~
      • [x] ppc64
      • [x] sh4 ~~waiting to build~~
      • [x] sparc64
      • [x] x32
    • [x] libseqan2-dev contains the whole cmake folder from the repo, but should only contain seqan-config.cmake
      • also seqan-config.cmake should be installed to /usr/share/cmake-${CMAKEVERSION}/Modules/, not in a subdirectory of SeqAn, or cmake will not automatically find it.
      • if this violates policy in Debian, you could leave it in /usr/share/seqan/cmake/, but then you need to rename it SeqAnConfig.cmake or seqan-config.cmake I think.
      • more info on this here: https://cmake.org/Wiki/CMake:How_To_Find_Libraries#How_package_finding_works
    • [x] app tests fail on all platforms
      • possible explanation: seqan pylib stuff not found
      • possible solution: it's in the tarball, maybe something wrong with the paths?
      • note that the pylib stuff should not be part of libseqan2-dev, because it's only relevant to our app-tests

    https://buildd.debian.org/status/package.php?p=seqan2

    opened by mr-c 69
  • Remove `seqan.dddoc` and deprecated stuff under util/py_lib

    Remove `seqan.dddoc` and deprecated stuff under util/py_lib

    Hi,

    I'm packaging Seqan 2.x for the Debian and derivative operating systems. So far, so good, however it appears that there are many minified javascript and even Flash programs within the documentation helper code (specifically under dddoc/tpl). These are not allowed (even in sources) within debian, as they are in essence not source code but compiled output.

    My question is: are these used for anything user-facing? I notice the dddoc module has not been modified in some time, and there is a second dox helper. Is there any harm in excluding this module from the debian packages? Will the user-facing documentation still build?

    Thanks, Kevin (On behalf of Debian Med)

    dox 
    opened by kdm9 39
  • Semiglobal split-read alignment

    Semiglobal split-read alignment

    I would like to compute a split read alignment with free end gaps in the read sequences:

    reference: aaaaaAAAAAAxxxxxxxxxxxxxxBBBBBBBbbbbbb
    read:      -----AAAAAA--------------BBBBBBB------
    

    More precisely, I would like to compute the split position where the read jumps from one reference to another:

    referenceA: aaaaaAAAAAAAAxxxxxxxxxxxx
    referenceB: xxxxxxxxxxxxxBBBBBBbbbbbbbb
    read:            AAAAAAAABBBBBB
    
    Alignment A: aaaaaAAAAAAAA
                 -----AAAAAAAA
    
    Alignment B: BBBBBBbbbbbbbb
                 BBBBBB--------
    

    The splitAlignment() function currently penalizes the gaps in a and b columns of the example. It doesn't allow to specify an AlignConfig object for free end gaps.

    However, when I do the following two changes in the the align_split module, it seems to work:

    1. align_split/align_split_interface.h: Replace line 300 by

      typedef FreeEndGaps_<False, True, True, True> TFreeEndGaps;

    2. align_split/dp_scout_split.h: Comment line 121.

    Can someone (@rrahn?) who understands the align module's entire logic confirm that this will work? It would be nice if the splitAlignment() function had an AlignConfig parameter.

    Here is a small test program:

    //#include <seqan/align_split.h>
    #include "align_split.h"
    
    using namespace seqan;
    
    int main()
    {
        DnaString refLeft  = "TTTTTTTTTTTTGAGCCGATTTTTTTT";
        DnaString refRight = "TTTTTTTTTTTTTTTTGGACCGTTTTTTTTTTTTTTTTTTTTTTt";
        DnaString read     = "GAGCCGA" "GGACCG";
    
        Gaps<DnaString> refGapsLeft;
        Gaps<DnaString> refGapsRight;
        Gaps<DnaString> readGapsLeft;
        Gaps<DnaString> readGapsRight;
    
        setSource(refGapsLeft, refLeft);
        setSource(refGapsRight, refRight);
        setSource(readGapsLeft, read);
        setSource(readGapsRight, read);
    
        Score<int> scoring(1, -3, -4, -5);
    
        int splitScore = splitAlignment(readGapsLeft, refGapsLeft, readGapsRight, refGapsRight, scoring);
    
        std::cout << "refLeft:  " << refGapsLeft << "\n";
        std::cout << "readLeft: " << readGapsLeft << "\n\n";
    
        std::cout << "refRight:  " << refGapsRight << "\n";
        std::cout << "readRight: " << readGapsRight << "\n\n";
    
        std::cout << "Split score = " << splitScore;
    }
    

    Current output:

    refLeft:  TTTTTTTTTTTTG
    readLeft: GAGCCGAGGACCG
    
    refRight:  
    readRight: 
    
    Split score = -35
    

    Output when applying the above two changes:

    refLeft:  TTTTTTTTTTTTGAGCCGA
    readLeft: ------------GAGCCGA
    
    refRight:  GGACCGTTTTTTTTTTTTTTTTTTTTTTT
    readRight: GGACCG-----------------------
    
    Split score = 13
    
    feature/-request 
    opened by bkehr 31
  • Support ARM architecture

    Support ARM architecture

    Hi all.

    Are there incompatibilities of the seqan-2.0.0-rc1's tests on ARM architectures?

    [  9%] Building CXX object tests/parallel/CMakeFiles/test_parallel.dir/test_parallel.cpp.o
    cd /builddir/build/BUILD/seqan-seqan-v2.0.0-rc1/build/Release/tests/parallel && /usr/bin/c++   -DSEQAN_ENABLE_TESTING=1 -DSEQAN_HAS_EXECINFO=1 -DSEQAN_HAS_OPENMP=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches  -march=armv7-a -mfpu=vfpv3-d16  -mfloat-abi=hard  -W -Wall -Wno-long-long -fstrict-aliasing -Wstrict-aliasing -pedantic -Wno-variadic-macros -fopenmp -std=c++11 -I/builddir/build/BUILD/seqan-seqan-v2.0.0-rc1/include    -o CMakeFiles/test_parallel.dir/test_parallel.cpp.o -c /builddir/build/BUILD/seqan-seqan-v2.0.0-rc1/tests/parallel/test_parallel.cpp
    {standard input}: Assembler messages:
    {standard input}:10611: Error: bad instruction `rep'
    

    Full log here: https://kojipkgs.fedoraproject.org//work/tasks/3293/8833293/build.log

    feature/-request 
    opened by sagitter 24
  • Python scripts incompatible with Python 3

    Python scripts incompatible with Python 3

    Python scripts seem not to be compatible with Python 3. On some computers, #!/usr/bin/env python returns Python 3. It happens, e.g., with Anaconda which sometimes prepends its directory to PATH.

    Scanning dependencies of target dox
    Traceback (most recent call last):
      File "/home/karel/github/cmake-ext/tests/cmake-ext/seqan-prefix/src/seqan/dox/../util/bin/dox.py", line 14, in <module>
        sys.exit(main())
      File "/home/karel/github/cmake-ext/tests/cmake-ext/seqan-prefix/src/seqan/dox/../util/bin/dox.py", line 10, in main
        import seqan.dox.pure
      File "/home/karel/github/cmake-ext/tests/cmake-ext/seqan-prefix/src/seqan/util/py_lib/seqan/dox/pure.py", line 129
        print 'Scanning %s...' % path
                             ^
    SyntaxError: Missing parentheses in call to 'print'
    dox/CMakeFiles/dox.dir/build.make:57: recipe for target 'dox/CMakeFiles/dox' failed
    make[5]: *** [dox/CMakeFiles/dox] Error 1
    CMakeFiles/Makefile2:167: recipe for target 'dox/CMakeFiles/dox.dir/all' failed
    make[4]: *** [dox/CMakeFiles/dox.dir/all] Error 2
    Makefile:160: recipe for target 'all' failed
    make[3]: *** [all] Error 2
    CMakeFiles/seqan.dir/build.make:110: recipe for target 'cmake-ext/seqan-prefix/src/seqan-stamp/seqan-build' failed
    make[2]: *** [cmake-ext/seqan-prefix/src/seqan-stamp/seqan-build] Error 2
    CMakeFiles/Makefile2:215: recipe for target 'CMakeFiles/seqan.dir/all' failed
    make[1]: *** [CMakeFiles/seqan.dir/all] Error 2
    Makefile:83: recipe for target 'all' failed
    make: *** [all] Error 2
    
    
    bug 
    opened by karel-brinda 23
  • support intel compiler

    support intel compiler

    • [x] performance problem [report upstream, not a blocker]
    • [x] c++11 for each loop [reported upstream, try to get fixed, workaround in lib by different loop]
    • [x] simd issues, see cdash
    • [x] linux, 32bit
    • [x] add support for windows/icc
    • [x] fix remaining failures / warnings
    • [x] investigate why icpc windows runs less tests than icpc on linux
    feature/-request 
    opened by h-2 23
  • FaiIndex readSequence/ readRegion - allocation error

    FaiIndex readSequence/ readRegion - allocation error

    Allocation error when using readSequence/ readRegion

    I recently updated from seqan 1.4.0 to 2.0.0. When using the functions readSequence/ readRegion i get the following error:

    .../seqan/basic/basic_exception.h:368 FAILED!  (Uncaught exception of type std::bad_alloc: std::bad_alloc)
    

    I wrote a simple test program and run it in gdb, which got me the following output/ bt

    sequence length: 655963
    /home/edahms/AlgBio/taxator-tk/includes-external/seqan/basic/basic_exception.h:368 FAILED!  (Uncaught exception of type std::bad_alloc: std::bad_alloc)
    
    Program received signal SIGABRT, Aborted.
    0x00007ffff7530cc9 in __GI_raise ([email protected]=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
    56  ../nptl/sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden.
    (gdb) bt
    #0  0x00007ffff7530cc9 in __GI_raise ([email protected]=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
    #1  0x00007ffff75340d8 in __GI_abort () at abort.c:89
    #2  0x000000000040560c in seqan::globalExceptionHandler() ()
    #3  0x00007ffff7b34836 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    #4  0x00007ffff7b34863 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    #5  0x00007ffff7b34aa2 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    #6  0x00007ffff7b34f8d in operator new(unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    #7  0x0000000000404c77 in main ()
    

    Test program

    #include <seqan/sequence.h>
    #include <seqan/file.h>
    #include <seqan/seq_io.h>
    #include <string>
    
    using namespace std;
    
    int main( int argc, char** argv ){
    seqan::FaiIndex index_;
    
    string fasta_filename = argv[1];
    string index_filename = argv[2];
    
    seqan::String< seqan::Dna5 > seq;
    
    if(!seqan::open( index_, fasta_filename.c_str(), index_filename.c_str())){
        std::cerr << "there was an error open the fai index"<<endl;}
    
    unsigned idx = 0;
    
    cout << "id " << idx << " sequence length: " <<seqan::sequenceLength(index_, idx)<<std::endl;
    seqan::readSequence( seq, index_, idx);
    
    cout << seq << endl;
    }
    

    The program works - as long as the size of the .fa file does not exceed my memory size. But when it is larger the program crashes.

    It seems that the program tries to allocate memory of the size of the whole .fa file when it is reading a single sequence ?

    bug 
    opened by eik-dahms 21
  • FormattedFile is not move constructible

    FormattedFile is not move constructible

    Hi, I am trying to create several .bam files simultaniously and I am failing to create a working std::vector<seqan::BamFileOut>.

    In the following I show the used seqan version and a working code snippet (although without the functionality I need) as well as several not working snippets.

    $git -C /home/schulzeja/tools/seqan/ log HEAD^..HEAD
    commit d80e19a20e8de488d235cf9d611f5e20eb7fc131
    Merge: 9560e52 0a0faa5
    Author: Hannes Hauswedell <[email protected]>
    Date:   Mon Feb 20 13:14:32 2017 +0100
    
        Merge pull request #2040 from h-2/release-prep-2.3.2
    
        Release prep 2.3.2
    
    commit 0a0faa5e51527df4a79f2f527fbd3e2f0c19da90
    Author: Hannes Hauswedell <[email protected]>
    Date:   Mon Feb 20 11:57:08 2017 +0100
    
        bump app version numbers for release 2.3.2
    
    commit 1dded79a7bc6ecef0871ece150dea1d939bba136
    Author: Hannes Hauswedell <[email protected]>
    Date:   Mon Feb 20 11:56:05 2017 +0100
    
        bump seqan version to 2.3.2
    

    I am compiling with a cmake script ...

    ############################
    ### Header ###
    
    cmake_minimum_required (VERSION 2.8)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -g -pthread -W -Wall -std=gnu++14 -O0")
    include_directories("${PROJECT_BINARY_DIR}")
    
    ############################
    ### setup Zlib and lz4 libraries ###
    
    find_package( ZLIB REQUIRED )
    
    #############################
    ### setup seqan libraries ### needs to be done AFTER searching for Zlib
    
    set (CMAKE_MODULE_PATH "/home/schulzeja/tools/seqan/util/cmake")
    set (SEQAN_INCLUDE_PATH "/home/schulzeja/tools/seqan/include/")
    find_package (SeqAn REQUIRED)
    
    include_directories (${SEQAN_INCLUDE_DIRS})
    add_definitions (${SEQAN_DEFINITIONS})
    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SEQAN_CXX_FLAGS}")
    
    #############################
    ### Build the executables ###
    
    add_executable(seqanIssue issue.cpp )
    target_link_libraries(seqanIssue ${ZLIB_LIBRARIES} ${SEQAN_LIBRARIES})
    

    ... and I check the output files with

    $samtools view -H <file.bam>
    $samtools view <file.bam>
    

    working script:

    #include <vector>
    #include <seqan/bam_io.h>
    
    int main() {
      //// prepare writing of own header. I did not find a better solution
    
      // step 1: define header record
      seqan::BamHeaderRecord headerRecord;
      headerRecord.type = seqan::BAM_HEADER_FIRST;
      seqan::resize(headerRecord.tags, 2);
      headerRecord.tags[0].i1 = "VN";
      headerRecord.tags[0].i2 = "1.5";
      headerRecord.tags[1].i1 = "GO";
      headerRecord.tags[1].i2 = "query";
    
      // step 2: define normal record
      seqan::BamAlignmentRecord alignmentRecord;
    
      // step 3: setup empty BamIOContext
      seqan::StringSet<seqan::CharString> referenceNames;
      seqan::NameStoreCache<seqan::StringSet<seqan::CharString> > referenceNamesCache(referenceNames);
      seqan::BamIOContext<seqan::StringSet<seqan::CharString> > bamIOContext(referenceNames, referenceNamesCache);
    
      // step 4: fill BamIOContext with actual content
      seqan::contigNames(bamIOContext) = std::vector<std::string>{"reference1", "reference2"};
      seqan::contigLengths(bamIOContext) = std::vector<unsigned>{342553423, 568815576};
    
    
      //// create BamFileOut object(s) and write it/them
    
      // step 5: create BamFileOut and assign context
      seqan::CharString filename = "outputFile.bam";
      seqan::BamFileOut bamFileOut(seqan::toCString(filename));
      bamFileOut.context = bamIOContext;
    
      // step 6: write the header and record
      seqan::writeHeader(bamFileOut, headerRecord);
      seqan::writeRecord(bamFileOut, alignmentRecord);
    }
    

    not working 1, exchanging step 5 and 6 with ...

    // step 5: create BamFileOut and assign context
    std::vector<seqan::CharString> filenames = {"outputFile1.bam", "outputFile2.bam"};
    std::vector<seqan::BamFileOut> bamFileOuts;
    for (auto e:filenames) {
    seqan::BamFileOut bamFileOut(seqan::toCString(e));
    bamFileOuts.push_back(bamFileOut);
    }
    
    bamFileOuts[0].context = bamIOContext;
    
    // step 6: write the header and record
    seqan::writeHeader(bamFileOuts[0], headerRecord);
    seqan::writeRecord(bamFileOuts[0], alignmentRecord);
    

    ... results in a complicated compiler error.

    not working 2, further exchanging bamFileOuts.push_back( with bamFileOuts.emplace_back( results at runtime in /home/schulzeja/tools/seqan/include/seqan/bam_io/bam_file.h:280 FAILED! (BamFileOut: File format not specified.) and a stack trace.

    not working 3, exchanging bamFileOuts.push_back( with bamFileOuts.push_back(std::move( returns the same error as "not working 2"

    not working 4, exchanging step 5 and 6 with ...

    // step 5: create BamFileOut and assign context
    std::vector<seqan::CharString> filenames = {"outputFile1.bam", "outputFile2.bam"};
    std::vector<seqan::BamFileOut*> bamFileOuts;
    for (auto e:filenames) {
    seqan::BamFileOut* bamFileOut = new seqan::BamFileOut(seqan::toCString(e));
    bamFileOuts.push_back(bamFileOut);
    }
    
    bamFileOuts[0]->context = bamIOContext;
    
    // step 6: write the header and record
    seqan::writeHeader(*bamFileOuts[0], headerRecord);
    seqan::writeRecord(*bamFileOuts[0], alignmentRecord);
    

    ... compiles and runs without error but creates two zero byte output files.

    Any help is appreciated. I would like to fix that within 7 days, if somehow possible.

    Fixed in SeqAn3 
    opened by JakobSch 20
  • [FIX] make static builds fully static

    [FIX] make static builds fully static

    This makes our binaries static, except on OS X where this is not possible in general. It also changes the behaviour to use libc++ on OSX as there is no reason to use libstdc++ anymore by default (libstdc++ is solder now).

    Fixes: #706 and also things like https://lists.fu-berlin.de/pipermail/seqan-dev/2015-December/msg00000.html

    opened by h-2 19
  • Seqan Inter-Sequence Vectorization

    Seqan Inter-Sequence Vectorization

    Hi,

    I am trying to align a target sequence set, S1, against a query set, S2, where |S1| = |S2|. I see SeqAn supports vectorization for this pattern in the supplementary document pointed from [1].

    However, I don't see how to do this programmatically. Is there a separate API to use or compiler flags to enable this?

    Thank you, Saliya

    [1] https://academic.oup.com/bioinformatics/article/34/20/3437/4992147

    opened by esaliya 18
  • Release 2.5

    Release 2.5

    Checklist

    Preparation https://github.com/seqan/seqan/pull/2470

    • [x] Freeze master/develop
    • [x] Bump develop version to 2.5.0
    • [x] Make sure that app versions are greater than the last packages on http://packages.seqan.de (set as SEQAN_APP_VERSION in each app's CMakeLists.txt)
    • [x] Make sure the changelog is up-to-date

    Build Packages / tarballs

    • [ ] Prepare library source tarballs
    • [ ] Prepare binary tarballs for each app -- Linux (The Team)
    • [ ] Prepare binary tarballs for each app -- macOS (The Team)
    • [ ] Prepare binary tarballs for each app -- FreeBSD (The Team)
    • [ ] Prepare binary tarballs for each app -- Win32/Win64 (The Team)

    Tag the Release

    • [ ] Tag the release
    • [ ] Publish the release on GitHub

    Update Resources

    • [ ] Upload tarballs to packages.seqan.de and update
    • [ ] Build dox for docs.seqan.de
    • [ ] Build manual for the seqan.readthedocs.org
    • [ ] Tag KNIME builds on Jenkins for permanent versioning (The Team)

    Post-release Version Changes

    • [ ] Bump SEQAN_VERSION macros to reflect the next release (include/seqan/version.h)
    • [ ] Bump app versions so that they reflect the next release / being in development
    • [ ] Update seqan and app versions in the resource.txt file on the server in Tübingen
    • [ ] Unfreeze master/develop

    Announcements

    • [ ] Write a release announcement for https://www.seqan.de
    • [ ] Send announcement to seqan-dev at lists.fu-berlin.de
    • [ ] Announce via seqan_lib Twitter account

    Update upstream packages

    • [ ] macports
    • [ ] homebrew
    • [ ] debian
    • [ ] fedora
    • [ ] gentoo
    • [ ] ubuntu
    • [ ] openBSD
    • [ ] freeBSD
    opened by smehringer 1
  • Build failure on Visual Studio 2019

    Build failure on Visual Studio 2019

    I am getting the following error while compiling SeqAn Framework under Windows 10 using Visual Studio 2019.

    Click to open log
        1> [CMake] CMake Error:
        1> [CMake]   Running
        1> [CMake] 
        1> [CMake]    'C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe' '-C' 'C:/Users/pc/source/repos/seqan/out/build/x64-Clang-Debug' '-t' 'recompact'
        1> [CMake] 
        1> [CMake]   failed with:
        1> [CMake] 
        1> [CMake]    ninja: error: build.ninja:152: bad $-escape (literal $ must be written as $$)
        1> [CMake] 
        1> [CMake]   
        1> [CMake] 
        1> [CMake] 
        1> [CMake] 
        1> [CMake] CMake Generate step failed.  Build files cannot be regenerated correctly.
        1> 'C:\WINDOWS\system32\cmd.exe' '/c "%SYSTEMROOT%\System32\chcp.com 65001 >NUL && "C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe"  -G "Ninja"  -DCMAKE_BUILD_TYPE:STRING="Debug" -DCMAKE_INSTALL_PREFIX:PATH="C:\Users\pc\Source\Repos\seqan\out\install\x64-Clang-Debug" -DCMAKE_CXX_COMPILER:FILEPATH="C:/Program Files/LLVM/bin/clang-cl.exe"  -DCMAKE_MAKE_PROGRAM="C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\Ninja\ninja.exe" "C:\Users\pc\Source\Repos\seqan" 2>&1"' execution failed with error: ''C:\WINDOWS\system32\cmd.exe' '/c "%SYSTEMROOT%\System32\chcp.com 65001 >NUL && "C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe"  -G "Ninja"  -DCMAKE_BUILD_TYPE:STRING="Debug" -DCMAKE_INSTALL_PREFIX:PATH="C:\Users\pc\Source\Repos\seqan\out\install\x64-Clang-Debug" -DCMAKE_CXX_COMPILER:FILEPATH="C:/Program Files/LLVM/bin/clang-cl.exe"  -DCMAKE_MAKE_PROGRAM="C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\Ninja\ninja.exe" "C:\Users\pc\Source\Repos\seqan" 2>&1"' returned with exit code: 1'.
    
    

    The following is my CMakeSettings_schema.json file:

        {
          "configurations": [
            {
              "name": "x64-Clang-Debug",
              "generator": "Ninja",
              "configurationType": "Debug",
              "buildRoot": "${projectDir}\\out\\build\\${name}",
              "installRoot": "${projectDir}\\out\\install\\${name}",
              "cmakeCommandArgs": "",
              "buildCommandArgs": "",
              "ctestCommandArgs": "",
              "inheritEnvironments": [ "clang_cl_x64_x64" ],
              "variables": []
            }
          ]
        }
    

    <\details>

    What can I do to fix this?

    opened by mns-csharp 15
  • Reading sequence records in chunks

    Reading sequence records in chunks

    Hi,

    I am using SeqAn 2.3.2. I am following sequence I/O tutorial. The steps mentioned to read records in chunks is not very much clear. For example, I have a fastq file with 100 records. I am trying to read 25 records at a time using the code mentioned in the tutorial: readRecords(ids, seqs, seqFileIn, 25);

    This line works well for first 25 records i.e 0-24. There is no code/ step mentioned to read next 25 record sy 25-49. If I use the above code again, it will read next 25 records but will add to the previously read records. How can I solve this? Secondly, how can I read records from 50-75 only?

    Thanks & Best Regards,

    opened by mhassankhan90 6
  • homebrew/science is been deprecated - manual on Seqan website still advises install with brew install homebrew/science/seqan

    homebrew/science is been deprecated - manual on Seqan website still advises install with brew install homebrew/science/seqan

    Is it possible still to install seqan with homebrew?

    @rrahn It seems that homebrew/science is been deprecated, and that seqan (the library) migrated to homebrew core and that seqan-apps disappeared. Could you (or another mac user) investigate what the correct procedure now is?

    Originally posted by @h-2 in https://github.com/seqan/seqan/issues/2263#issuecomment-363105658

    opened by aleighbrown 4
  • output of flexbar as fastq or fastqgz, input is illumina fastq.gz, can not open or read

    output of flexbar as fastq or fastqgz, input is illumina fastq.gz, can not open or read

    Either run gzip or gcat for flexbar output fastq.gz file, there is error message gzip: *.fastq.gz: unexpected end of file

    while use head to see flexbar outut-- fastq file, there is no output

    I am using flexbar 3.0.3, it seems there is the same problem in flexbar 2.0.0, but fixed already in flexbar 2.1.0 or some later version.

    Would someone help me out.

    Thanks

    opened by WendyZhangYing 2
Releases(seqan-v2.4.0)
📦 An official xmake package repository

xmake-repo An official xmake package repository Supporting the project Support this project by becoming a sponsor. Your logo will show up here with a

xmake-io 264 Jun 22, 2022
official repository of the muparser fast math parser library

muparser - Fast Math Parser 2.3.3 (Prerelease) To read the full documentation please go to: http://beltoforion.de/en/muparser. See Install.txt for ins

Ingo Berg 277 Jun 23, 2022
SeqAn's official repository.

ATTENTION: SeqAn3 is out and hosted in a different repository: https://github.com/seqan/seqan3 All new applications should be based on SeqAn3 and all

SeqAn 414 May 4, 2022
Official repository for the programming language Squirrel

The programming language SQUIRREL 3.1 stable -------------------------------------------------- This project has successfully been compiled and run o

Alberto Demichelis 699 Jun 19, 2022
The official Allegro 5 git repository. Pull requests welcome!

Welcome to Allegro! Allegro is a cross-platform library mainly aimed at video game and multimedia programming. It handles common, low-level tasks such

Allegro 1.4k Jun 25, 2022
Experimental telegram client based on official Android sources

Catogram Experimental telegram client based on official Android sources Catogram features: Message translator TGX Style of context menu VKUI Icons and

null 181 Jun 19, 2022
Official Vanguard Anti-Cheat source code.

Vanguard Official Vanguard Anti-Cheat source code. Using the compiled binary For ease, an unprotected compiled version of Vanguard is available. Downl

Riot Vanguard 414 Jun 29, 2022
Inoki's NB1 kernel source tree based on Nokia official tarball

Inoki's NB1 kernel source tree based on Nokia official tarball

Inoki 2 Dec 27, 2021
Arduino official Library

Arduino official Library library extension Meaning print h Serial.print(println) cpp Servo .h サーボにPWM送るやつ binary .h 脳筋二進数定義ファイル Arduino.h #define HIGH

Casey_Nelson 1 Dec 1, 2021
Official Go implementation of the Fixcoin protocol

XFSGO Official Go implementation of the XFS protocol. Usage To learn more about the available xfsgo commands, use xfsgo help or type a command followe

XFS Network 0 May 18, 2022
Official Benchmark client for BerylDB.

Beryl Benchmark What is Beryl-benchmark? beryl-benchmark is a benchmark client for BerylDB. Benchmark is used to run massive tests inside a BerylDB in

BerylDB 3 Nov 11, 2021
Official examples and tools from the JACK project

JACK example tools This repository holds the official JACK example clients and tools, which have been tracked in the example-clients and tools reposit

JACK Audio Connection Kit 19 Jun 13, 2022
This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler

This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler

FreeCAD 11.7k Jul 1, 2022
ERASOR - Official page of ERASOR (RA-L'21 with ICRA'21)

?? ERASOR (RA-L'21 with ICRA Option) Official page of "ERASOR: Egocentric Ratio of Pseudo Occupancy-based Dynamic Object Removal for Static 3D Point C

Hyungtae Lim 161 Jun 28, 2022
The official SuiteSparse library: a suite of sparse matrix algorithms authored or co-authored by Tim Davis, Texas A&M University

SuiteSparse: A Suite of Sparse matrix packages at http://suitesparse.com May 17, 2021. SuiteSparse VERSION 5.10.1 Now includes GraphBLAS, SLIP_LU, and

Tim Davis 612 Jul 1, 2022
Official implementation of the tabfs-28 filesystem as an reuseable library

libtabfs This projects aims to implement TabFs-28 as an minimal dependency library so various other projects can use it as they need. License libtabfs

null 3 May 17, 2022
A LVGL porting for Cortex-M55 running on an Arm official FPGA prototyping development board called MPS3 (AN547)

A LVGL porting for Cortex-M55 running on an Arm official FPGA prototyping development board called MPS3 (AN547), see Figure 1. It is also possible to run the project template on an emulator called Corstone-300-FVP, which is free.

Gabriel Wang 6 Mar 19, 2022
Documenting and preserving the N64, combining official datasheets and homebrew research together

N64-documentation A repository where I try to document everything about the Nintendo 64 to the best of my ability. All the official and homebrew Ninte

Derek 6 Apr 21, 2022
Official page of MLCPP (IROS'18 @ Barcelona, Spain): Offline Coverage Path Planner

MLCPP: Multi-layer coverage path planner for autonomous structural inspection of high-rise structures The purpose of the algorithm is to inspect high-

Sungwook Jung 11 May 26, 2022