aboutsummaryrefslogtreecommitdiff
path: root/README
blob: ee4bd0899a5185a70ea4a3f3a3d7a1e58ede30fd (plain)
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
     ```