11# The smithlab_cpp library
22
3- This library contains code that has been used in the Smith lab for
4- several years, and that we now depend on for several of our data
5- analysis tools. Many of those tools use older versions of this source
6- code in subdirectories of other repos.
3+ This library contains code that has been used in the Smith lab for too
4+ many years, and that we depend on for several of our data analysis
5+ tools. Many of those tools use older versions of this source code in
6+ subdirectories of other repos.
77
88## Requirements
99
10- - A C++ compiler that knows C++11 . The GNU ` g++ ` compiler works well
11- for this after version 5.3.
12- - The GNU Scientific Library, GSL, which is likely already on your
13- system, or easily installed through a package manager .
10+ - A C++ compiler that knows C++17 . The GNU ` g++ ` compiler works well
11+ for this after version GCC9, and the default since GCC11. You can
12+ get this from apt, conda and brew, but beware on macos where it's
13+ not really installed by default even though it pretends to be .
1414- The [ zlib library] ( https://zlib.net ) , which we use for I/O of files
15- in gzip format. You likely have this on your system.
15+ in gzip format. You likely have this on your system. You can get
16+ this from apt, conda and brew, and it's likely installed already.
1617- Optional: The [ HTSLib library] ( http://htslib.org ) , which we use for
17- I/O of SAM and BAM format files.
18+ I/O of SAM and BAM format files. You can get this from apt, conda
19+ and brew.
1820
1921## Building and installing the smithlab_cpp library
2022
@@ -55,7 +57,7 @@ use it the way it has been used from 2010-2019, then you can use the
5557` Makefile ` in this repo without running the ` ./configure ` script:
5658```
5759$ make OptionParser.o
58- g++ -Wall -std=c++11 -c -o OptionParser.o OptionParser.cpp
60+ g++ -Wall -std=c++17 -c -o OptionParser.o OptionParser.cpp
5961```
6062Note: if you run the ` ./configure ` script it will overwrite the
6163` Makefile ` indicated above. If that happens, just get a new one. The
@@ -72,7 +74,7 @@ result should be less total code overall in smithlab_cpp.
7274- ` QualityScore.*pp ` likely should be removed, as we only use
7375 sequencing quality scores in specific places, and in those places
7476 have chosen to re-implement anything that would be here.
75- - `smithlab_os.* Any use of character arrays should be replaced with
77+ - ` smithlab_os.* ` Any use of character arrays should be replaced with
7678 strings for filenames. Implementation of many functions in the cpp
7779 file is sloppy.
7880- ` smithlab_utils.*pp ` : lots to replace here. Many functions seem
0 commit comments