-
Notifications
You must be signed in to change notification settings - Fork 24
Expand file tree
/
Copy pathDEVELOPER
More file actions
83 lines (53 loc) · 2.99 KB
/
Copy pathDEVELOPER
File metadata and controls
83 lines (53 loc) · 2.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
=== Developing with Command-Line Compilation ===
To compile and test the repository version of the breseq source code, you must have a C/C++ compiler,
autotools, autoconf, m4, and several other GNU tools installed on your system. You can use conda
with the included dev-environment.yml file to install packages needed for building and running breseq.
$ conda env create -f dev-environment.yml --prefix=$PWD/env
$ conda activate $PWD/env
This environment installs its own C/C++ compiler.
NOTE: Be careful on MacOSX to create the environment using the correct architecture
matching your system (osx-arm64 versus osx-64)! This command can be used to get it right.
$ CONDA_SUBDIR=osx-`arch` conda env create -f dev-environment.yml --prefix=$PWD/env
Building requires running the ./bootstrap script when you have a fresh version from the repository or
whenever the autoconf configuration files have changed, for example when a new source file has been
added to the project.
$ ./bootstrap.sh
$ ./configure
$ make
$ make install
=== Consistency Test Instructions ===
The output of the consistency tests varies depending on different versions of bowtie2 and R. You should
use the exact versions of these tools specified in the dev-environment.yml Conda environment.
Run all tests (using Snakemake wrapper)
$ make test
For working with single tests when updating them, these commands can be run from the main source directory.
Command for running one test:
$ tests/test.sh test <test-name>
Clean existing test output:
$ tests/test.sh clean <test-name>
Same for building the output for a test (or rebuilding = combined run and build output)
$ tests/test.sh test <test-name>
$ tests/test.sh rebuild <test-name>
=== Developing with XCode ===
Open the included project file: src/c/breseq.xcodeproj
This project is set up to use the shared libraries and command-line tools installed by the conda
environment. So, first create that environment as described above. Be sure the architecture type
matches what is specified in XCode, or you will get linking errors!
You must also run ./bootstrap and ./configure at the command line to create headers before XCode
will be able to compile the code.
For debugging, you may also want to set the working directory, and will definitely want to set the
command line options (which are the same as the command you would type in the shell, but omitting
the initial "breseq")
breseq -r reference.gbk reads.fastq
becomes
Arguments: -r reference.gbk reads.fastq
The MacOSX binary for distribution is created outside of XCode, as described below.
=== Creating the Source Archive for Distribution ===
First, be sure to update the breseq version in configure.ac
Then, generate a source archive for a given release:
$ make distcheck
=== Building MacOSX Binary for Distribution ===
A special script exists for building a portable MacOSX universal binary:
$ ./binarydist.sh
See the directions inside of this file on how to install universal versions of the
libraries correctly for static linking on MacOSX.