Skip to content

Commit b97b671

Browse files
Merge pull request #152 from smithlabcode/release-140-prep
Release 140 prep
2 parents f6fe880 + c100478 commit b97b671

File tree

12 files changed

+165
-114
lines changed

12 files changed

+165
-114
lines changed

MAINTAINERS.md

Lines changed: 72 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,72 @@
1-
## Docker images
2-
3-
The docker images for `dnmtools` are hosted in GitHub Container registry. The
4-
process of building and pushing the image to the registry is handled by the
5-
workflow specified in
6-
[docker-build.yml](https://github.com/smithlabcode/dnmtools/blob/master/.github/workflows/docker-build.yml).
7-
The build instruction is in
8-
[Dockerfile](https://github.com/smithlabcode/dnmtools/blob/master/Dockerfile).
9-
You can see the published images
10-
[here](https://github.com/smithlabcode/dnmtools/pkgs/container/dnmtools).
11-
12-
The workflow is triggered either manually or automatically by a tag event of
13-
type `v*.*.*`, which is intended for new releases. Currently, publishing the
14-
images can happen only to commits tagged by a version number. This is intended
15-
to associate every docker image with a version number. This means that there is
16-
no option to push the image for the latest commit if it is not tagged by
17-
a version number.
18-
19-
### Automatic build and publish in a tag event
20-
21-
In a tag event of type `v*.*.*`, such as new release or retagging of versoin
22-
number, this work flow is triggered to build and publish the image for the
23-
tagged version number. The published image is tagged with SHA hash and the
24-
version number. It is also taged with `latest` if the version number is the
25-
latest.
26-
27-
### Manual build (and publish)
28-
29-
Manual trigger is intedned to test the image build processes as well as publish
30-
an image for an existing version. In
31-
[Actions](https://github.com/smithlabcode/dnmtools/actions), go to `Docker image
32-
build` under `All workflows` and click `Run workflow` and choose from the
33-
following options:
34-
35-
1. `Build latest commit`: for testing for the latest commit
36-
2. `Build existing version`: for testing a particular version
37-
3. `Build + push existing version`: for publishing a particular version
38-
39-
For options 2 and 3, specify the version number in the form `v*.*.*`. If not
40-
specified, the workflow will assume the latest verion.
41-
42-
### Use scenarios
43-
44-
**Before a new release**: It is a good idea to test image building before a new
45-
release. Manually trigger the workflow with opiton 1. If it builds with no
46-
issues, make a new release and the image will automatically be built and
47-
published.
48-
49-
**Publish an existing version**: It is possible to publish a docker image for an
50-
existing version by option 3 in the manual trigger. First, test build using
51-
option 2, and then publish using option 3. The published image is tagged with
52-
SHA hash and the version number. It is also taged with `latest` if the version
53-
number is the latest. If option 3 is deployed with a version number for which
54-
a docker image already exists, it will simply rebuild and update the existing
55-
image.
56-
57-
**Deleting an image**: If you have owner access to `smithlabcode`, you can
58-
delete an image by going
59-
[here](https://github.com/smithlabcode/dnmtools/pkgs/container/dnmtools/versions)
60-
and manually delete a version.
61-
62-
63-
64-
## Installation
65-
The image can be pulled by one of the following commands.
66-
67-
```bash
68-
docker pull ghcr.io/smithlabcode/dnmtools:latest
69-
docker pull ghcr.io/smithlabcode/dnmtools:[7-DIGIT SHA]
70-
docker pull ghcr.io/smithlabcode/dnmtools:v[VERSION NUMBER] #(e.g. v1.3.0)
71-
```
72-
1+
## Docker images
2+
3+
The docker images for `dnmtools` are hosted in GitHub Container registry. The
4+
process of building and pushing the image to the registry is handled by the
5+
workflow specified in
6+
[docker-build.yml](https://github.com/smithlabcode/dnmtools/blob/master/.github/workflows/docker-build.yml).
7+
The build instruction is in
8+
[Dockerfile](https://github.com/smithlabcode/dnmtools/blob/master/Dockerfile).
9+
You can see the published images
10+
[here](https://github.com/smithlabcode/dnmtools/pkgs/container/dnmtools).
11+
12+
The workflow is triggered either manually or automatically by a tag event of
13+
type `v*.*.*`, which is intended for new releases. Currently, publishing the
14+
images can happen only to commits tagged by a version number. This is intended
15+
to associate every docker image with a version number. This means that there is
16+
no option to push the image for the latest commit if it is not tagged by
17+
a version number.
18+
19+
### Automatic build and publish in a tag event
20+
21+
In a tag event of type `v*.*.*`, such as new release or retagging of versoin
22+
number, this work flow is triggered to build and publish the image for the
23+
tagged version number. The published image is tagged with SHA hash and the
24+
version number. It is also taged with `latest` if the version number is the
25+
latest.
26+
27+
### Manual build (and publish)
28+
29+
Manual trigger is intedned to test the image build processes as well as publish
30+
an image for an existing version. In
31+
[Actions](https://github.com/smithlabcode/dnmtools/actions), go to `Docker image
32+
build` under `All workflows` and click `Run workflow` and choose from the
33+
following options:
34+
35+
1. `Build latest commit`: for testing for the latest commit
36+
2. `Build existing version`: for testing a particular version
37+
3. `Build + push existing version`: for publishing a particular version
38+
39+
For options 2 and 3, specify the version number in the form `v*.*.*`. If not
40+
specified, the workflow will assume the latest verion.
41+
42+
### Use scenarios
43+
44+
**Before a new release**: It is a good idea to test image building before a new
45+
release. Manually trigger the workflow with opiton 1. If it builds with no
46+
issues, make a new release and the image will automatically be built and
47+
published.
48+
49+
**Publish an existing version**: It is possible to publish a docker image for an
50+
existing version by option 3 in the manual trigger. First, test build using
51+
option 2, and then publish using option 3. The published image is tagged with
52+
SHA hash and the version number. It is also taged with `latest` if the version
53+
number is the latest. If option 3 is deployed with a version number for which
54+
a docker image already exists, it will simply rebuild and update the existing
55+
image.
56+
57+
**Deleting an image**: If you have owner access to `smithlabcode`, you can
58+
delete an image by going
59+
[here](https://github.com/smithlabcode/dnmtools/pkgs/container/dnmtools/versions)
60+
and manually delete a version.
61+
62+
63+
64+
## Installation
65+
The image can be pulled by one of the following commands.
66+
67+
```bash
68+
docker pull ghcr.io/smithlabcode/dnmtools:latest
69+
docker pull ghcr.io/smithlabcode/dnmtools:[7-DIGIT SHA]
70+
docker pull ghcr.io/smithlabcode/dnmtools:v[VERSION NUMBER] #(e.g. v1.4.0)
71+
```
72+

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ sequencing (RRBS). These tools focus on overcoming the computing
1212
challenges imposed by the scale of genome-wide DNA methylation data,
1313
which is usually the early parts of data analysis.
1414

15-
## Installing release 1.3.0
15+
## Installing release 1.4.0
1616

1717
The documentation for DNMTools can be found
1818
[here](https://dnmtools.readthedocs.io). But if you want to install
@@ -41,14 +41,14 @@ repo, it is easiest if all dependencies are available through conda.
4141

4242
### Configuration
4343

44-
* Download [dnmtools-1.3.0.tar.gz](https://github.com/smithlabcode/dnmtools/releases/download/v1.3.0/dnmtools-1.3.0.tar.gz).
44+
* Download [dnmtools-1.4.0.tar.gz](https://github.com/smithlabcode/dnmtools/releases/download/v1.4.0/dnmtools-1.4.0.tar.gz).
4545
* Unpack the archive:
4646
```console
47-
tar -zxvf dnmtools-1.3.0.tar.gz
47+
tar -zxvf dnmtools-1.4.0.tar.gz
4848
```
4949
* Move into the dnmtools directory and create a build directory:
5050
```console
51-
cd dnmtools-1.3.0 && mkdir build && cd build
51+
cd dnmtools-1.4.0 && mkdir build && cd build
5252
```
5353
* Run the configuration script:
5454
```console
@@ -137,7 +137,7 @@ docker tag ghcr.io/smithlabcode/dnmtools:latest dnmtools:latest
137137

138138
You can also install the image for a particular vertion by running
139139
```console
140-
docker pull ghcr.io/smithlabcode/dnmtools:v[VERSION NUMBER] #(e.g. v1.3.0)
140+
docker pull ghcr.io/smithlabcode/dnmtools:v[VERSION NUMBER] #(e.g. v1.4.0)
141141
```
142142
Not all versions have corresponding images; you can find available images
143143
[here](https://github.com/smithlabcode/dnmtools/pkgs/container/dnmtools).

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
1414
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1515
dnl General Public License for more details.
1616

17-
AC_INIT([dnmtools], [1.3.0], [[email protected]],
17+
AC_INIT([dnmtools], [1.4.0], [[email protected]],
1818
[dnmtools], [https://github.com/smithlabcode/dnmtools])
1919
dnl the config.h is #included in the sources for version info
2020
AC_CONFIG_HEADERS([config.h])

data/md5sum.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ ae05a28de5643a512386e767b3aa963a tests/araTha1_simulated.hypermr
66
961b0671a349e2ad8041e0807393bf78 tests/reads.counts.select
77
af22e5468fd6614c611646cbc675542f tests/reads.counts.sym
88
b38d571baaf2bc16646dbd14a7edb770 tests/reads.epiread
9-
6abb0e3e6571e221ec6f91ba52a358ea tests/reads.fmt.sam
109
8edab98b1be4411820e2f130aa6ba6b9 tests/reads.fmt.srt.sam
11-
3e57d7bde5f7be88b56cd92bbfc935ce tests/reads.fmt.srt.uniq.sam
1210
af8b97ef25af8a16ced1537ca4a74d07 tests/reads.hmr
1311
52d44c4c1d6891b45741f573f51e67cd tests/reads.levels
1412
916fe07a1d03449b65dfc1458d7c1c40 tests/reads.mstats
@@ -20,3 +18,5 @@ e7e9590475a7f9b1ae41701d81892e57 tests/two_epialleles.amr
2018
ec6a686617cad31e9f7a37a3d378e6ed tests/two_epialleles.states
2119
93e38b20d162062a5d147c4290095a13 tests/mlml.out
2220
d947fe3d61ef7b1564558a69608f0e64 tests/methylome.pmd
21+
04c007d96bcaf975bdb09afc46216f72 tests/reads.fmt.sam
22+
03057e8c736ff1f07f7fb6e7f20d0cf3 tests/reads.fmt.srt.uniq.sam

docs/content/bsrate.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,12 @@ This option will generate a histogram of conversion rate per read,
171171
printed to the terminal. This option is correct as of v1.4.0.
172172

173173
```txt
174-
-p, -per-read
174+
-b, -bins
175175
```
176176
Assming the `-p` option is used, this option determines the number of
177177
bins in the histogram. This option is correct as of v1.4.0.
178+
179+
```txt
180+
-S, -summary
181+
```
182+
Write a summary of information gathered during the run to this file.

docs/content/cleanhp.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ output filename prefix [required]
1616
```txt
1717
-s, -stat
1818
```
19-
stats output filename [required]
19+
stats output filename [required]
2020
```txt
2121
-h, -hairpin
2222
```
@@ -28,17 +28,20 @@ check for hairpin contamination
2828
```txt
2929
-n, -nreads
3030
```
31-
number of reads in initial check
31+
number of reads in initial check
3232
```txt
3333
-c, -cutoff
3434
```
35-
cutoff for calling an inverse duplication(default: 0.95)
35+
cutoff for calling an inverse duplication(default: 0.95)
3636
```txt
3737
-i, -ignore
3838
```
3939
length of read name suffix to ignore when matching
4040
```txt
4141
-v, -verbose
4242
```
43-
print more run info to STDERR while the program is running
44-
43+
print more run info to the terminal while the program is running
44+
```txt
45+
-h, -hist
46+
```
47+
write a histogram of hairpin matches to this file

docs/content/counts.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,3 +171,8 @@ merge data as symmetric CpGs.
171171
-v, -verbose
172172
```
173173
Report more information while the program is running.
174+
175+
```txt
176+
-progress
177+
```
178+
Show progress while the program is running.

docs/content/hmr.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,5 +174,5 @@ testing (default: 408).
174174
```txt
175175
-S, -summary
176176
```
177-
Write the analysis summary to this file. The summary is not
178-
reported unless a file is specified here. This option is correct as of v1.4.0.
177+
Write the analysis summary to this file. The summary is not reported
178+
unless a file is specified here. This option is correct as of v1.4.0.

docs/content/pmd.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,5 @@ Specify a random seed value.
190190
```txt
191191
-S, -summary
192192
```
193-
Write the analysis summary to this file. The summary is not
194-
reported unless a file is specified here. This option is correct as of v1.4.0.
195-
193+
Write the analysis summary to this file. The summary is not reported
194+
unless a file is specified here. This option is correct as of v1.4.0.

docs/content/quickstart.md

Lines changed: 41 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,19 @@ Installation
33

44
## Installation via conda
55

6-
Right now this is probably the easiest way. Dnmtools is among the
7-
bioconda recipes. If you know how to use conda and are setup to use
8-
bioconda, then you might simply be able to do:
6+
*Note (9/26/2023)* Although conda currently works, it seems that using
7+
`mamba` is more reliable. If you have `conda` installed, you can
8+
install mamba very easily by following instructions here:
9+
10+
https://anaconda.org/conda-forge/mamba
11+
12+
In the instructions below, replacing `conda` with `mamba` should work
13+
the same (and, in some cases, more reliably), but with mamba.
14+
15+
Right now conda is probably the easiest way to install
16+
dnmtools. Dnmtools is among the bioconda recipes. If you know how to
17+
use conda and are setup to use bioconda, then you might simply be able
18+
to do:
919
```console
1020
$ conda install dnmtools
1121
```
@@ -25,7 +35,6 @@ recommended by bioconda.
2535
* Bioconda: additional helpful setup instructions can be found
2636
[here](https://bioconda.github.io).
2737

28-
2938
If you encounter further problems, try creating a new environment for
3039
dnmtools within conda:
3140
```console
@@ -42,32 +51,35 @@ would need to be activated when you want to use dnmtools.
4251
### Required libraries
4352

4453
* A recent compiler: most users will be building and installing this
45-
software with GCC. We require a compiler that fully supports C++11,
46-
so we recommend using at least GCC 5.8. There are still many systems
47-
that install a very old version of GCC by default, so if you have
48-
problems with building this software, that might be the first thing
49-
to check.
54+
software with GCC. We require a compiler that fully supports C++17,
55+
so we recommend using at least GCC 8 (released in 2018). There are
56+
still many systems that install a very old version of GCC by
57+
default, so if you have problems with building this software, that
58+
might be the first thing to check. On macOS and Ubuntu/Debian
59+
systems, the brew and apt package managers can get you a recent
60+
compiler easily. Any cluster or high-performance computing
61+
environment should give you access to a recent compiler.
5062
* The GNU Scientific Library: this has always been required. It can be
5163
installed using apt on Linux (Ubuntu, Debian), using brew on macOS,
5264
or from source available [here](http://www.gnu.org/software/gsl).
65+
* The HTSlib library, which can be installed through brew on macOS,
66+
through apt on Linux (Ubuntu, Debian), or from source downloadable
67+
[here](https://github.com/samtools/htslib).
5368
* The Zlib compression library: Most likely you already have this
5469
installed on your system. If not, it can be installed using apt on
5570
Linux (Ubuntu, Debian) through the package `zlib1g-dev`. On macOS,
5671
Zlib can be installed with brew.
57-
* The HTSlib library, which can be installed through brew on macOS,
58-
through apt on Linux (Ubuntu, Debian), or from source downloadable
59-
[here](https://github.com/samtools/htslib).
6072

6173
### Configuration
6274

63-
* Download [dnmtools-1.3.0.tar.gz](https://github.com/smithlabcode/dnmtools/releases/download/v1.3.0/dnmtools-1.3.0.tar.gz).
75+
* Download [dnmtools-1.4.0.tar.gz](https://github.com/smithlabcode/dnmtools/releases/download/v1.4.0/dnmtools-1.4.0.tar.gz).
6476
* Unpack the archive:
6577
```console
66-
$ tar -zxvf dnmtools-1.3.0.tar.gz
78+
$ tar -zxvf dnmtools-1.4.0.tar.gz
6779
```
6880
* Move into the dnmtools directory and create a build directory:
6981
```console
70-
$ cd dnmtools-1.3.0
82+
$ cd dnmtools-1.4.0
7183
$ mkdir build && cd build
7284
```
7385
* Run the configuration script:
@@ -109,16 +121,23 @@ any arguments and you should see the list of available commands:
109121
```console
110122
$ dnmtools
111123
```
124+
If you want to do more extensive tests, you can run:
125+
```console
126+
$ make check
127+
```
128+
from the directory where you run `make`. This will to several tests of
129+
various commands within `dnmtools`, and might take some time.
112130

113131
## Using a clone of the repo
114132

115-
Not recommended, but if you want to do it this way, we assume you know
116-
what you are doing. We strongly recommend using dnmtools through the
117-
latest stable release under the releases section on GitHub. Developers
118-
who wish to work on the latest commits, which are unstable, can
119-
compile the source using the `Makefile` available in the root of the
120-
source tree. If HTSLib and other libraries are available system-wide,
121-
compile by running:
133+
*This option is deprecated; we are no longer maintaining a Makefile
134+
that is not generated by `./configure`.* Not recommended, but if you
135+
want to do it this way, we assume you know what you are doing. We
136+
strongly recommend using dnmtools through the latest stable release
137+
under the releases section on GitHub. Developers who wish to work on
138+
the latest commits, which are unstable, can compile the source using
139+
the `Makefile` available in the root of the source tree. If HTSLib and
140+
other libraries are available system-wide, compile by running:
122141
```console
123142
$ make
124143
```

0 commit comments

Comments
 (0)