diff --git a/src/nf_modules/ucsc/main.nf b/src/nf_modules/ucsc/main.nf
new file mode 100644
index 0000000000000000000000000000000000000000..c63de6e227707552f5d51c3b0fc4cda34d9b8186
--- /dev/null
+++ b/src/nf_modules/ucsc/main.nf
@@ -0,0 +1,26 @@
+version = "407"
+container_url = "lbmc/ucsc:${version}"
+
+process bedgraph_to_bigwig {
+  container = "${container_url}"
+  label "big_mem_mono_cpus"
+  tag "${file_id}"
+
+  input:
+  tuple val(file_id) path(bg)
+  tuple val(file_id) path(bed)
+
+  output:
+  tuple val(file_id), path("*.bw"), emit: fasta
+
+  script:
+"""
+# transform bed file of start-stop chromosome size to stop chromosome size
+awk -v OFS="\\t" '{print \$1, \$3}' ${bed} > chromsize.txt
+
+bedGraphToBigWig ${bg} \
+    chromsize.txt \
+    ${bg.simpleName}_norm.bw
+"""
+}
+