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
|
Reproduction pipeline for paper XXXXXXX
=======================================
This is the reproduction pipeline for the paper titled "**XXXXXX**",
XXXXXXXX et al. YYYY (**IN PREPARATION**). By _reproduction pipeline_ it is
meant that the full instructions on build the necessary software packages
used in the analysis, and using them is provided in a human *and* computer
readable format, such that the simple commands below will *exactly*
reproduce what we have published (you just need Git, Wget, and minimal
Unix-based environment).
```shell
$ git clone https://gitlab.com/makhlaghi/muse-ultra-diffuse-emitters.git
$ ./configure
$ ./.local/bin/make -j8
```
For a general introduction to reproducible science as implemented in this
pipeline, please see the [principles of reproducible
science](http://akhlaghi.org/reproducible-science.html), and a
[reproducible paper
template](https://gitlab.com/makhlaghi/reproducible-paper) that is based on
it.
Running the pipeline
--------------------
This pipeline was designed to have as few dependencies as possible.
1. Necessary dependencies:
1.1: Minimal software building tools like C compiler, Make, and other
tools found on most Unix-like systems (GNU/Linux, BSD, Mac OS, and
others). All necessary dependencies will be built from source by
the `./configure' script (next step).
1.2: Git to be able to manage the full version controlled history of
this project, including an initial "clone" to download it.
1.3: Tarball of dependencies. If they are already present (in a
directory given at configuration time), they will be
used. Otherwise, *GNU Wget* will be used to download any necessary
tarball. The necessary tarballs are also collected in the link
below for easy download:
https://gitlab.com/makhlaghi/reproducible-paper-dependencies
2. Configure the environment (top-level directories in particular) and
build all the necessary software for use in the next step. It is
recommended to set directories outside the current directory. Please
read the description of each necessary input clearly and set the best
value. Note that the configure script also downloads, builds and locally
installs many programs (pipeline dependencies). So it may take a while
to complete.
```shell
$ ./configure
```
3. Run the following command (local build of Make) to reproduce all the
analysis and build the final `paper.pdf` on *8* threads. If your CPU has
a different number of threads, change the number (you can see the number
of threads available to your operating system by running
`./.local/bin/nproc`)
```shell
$ ./.local/bin/make -j8
```
|