Skip to content

Commit f77dc12

Browse files
using gawk to center bed start and end based on peack position and size value, needs testing
1 parent 319f61a commit f77dc12

File tree

10 files changed

+514
-0
lines changed

10 files changed

+514
-0
lines changed

bin/center_around_peak.sh

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
BEGIN {
2+
# Read chromosome sizes into an array
3+
while ((getline < chrom_size_file) > 0) {
4+
chrom_sizes[$1] = $2;
5+
}
6+
}
7+
# Print header lines as they are
8+
/^#/ { print; next; }
9+
{
10+
mid = $4; # extract peak piosition
11+
left = int(N/2); # Floor division for left padding
12+
right = N - left - 1; # Ensures total length is exactly N
13+
14+
# the new start and end values
15+
start = mid - left;
16+
end = mid + right;
17+
18+
# Ensure start is not negative
19+
if (start < 0) start = 0;
20+
21+
# Ensure end does not exceed chromosome size
22+
if ($1 in chrom_sizes && end > chrom_sizes[$1]) {
23+
end = chrom_sizes[$1];
24+
}
25+
26+
# Print updated start, end, and ALL remaining columns
27+
printf "%s\t%d\t%d", $1, start, end;
28+
for (i=4; i<=NF; i++) {
29+
printf "\t%s", $i;
30+
}
31+
print ""; # Newline
32+
}

conf/modules.config

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,14 @@ process {
3232
ext.prefix = { "${meta.id}.background_aliens" }
3333
}
3434

35+
withName: "CENTER_AROUND_PEAK" {
36+
publishDir = [
37+
enabled: false
38+
]
39+
ext.args = { "-v N=${meta.size} -v chrom_size_file=${meta.genome_file}" }
40+
ext.prefix = { "${meta.id}_centered" }
41+
}
42+
3543
withName: "SPLIT_DATA_CONFIG" {
3644
publishDir = [
3745
path: { "${params.outdir}/configs" },

modules.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@
1414
"branch": "master",
1515
"git_sha": "81880787133db07d9b4c1febd152c090eb8325dc",
1616
"installed_by": ["modules"]
17+
},
18+
"gawk": {
19+
"branch": "master",
20+
"git_sha": "81880787133db07d9b4c1febd152c090eb8325dc",
21+
"installed_by": ["modules"]
1722
}
1823
}
1924
},

modules/nf-core/gawk/environment.yml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

modules/nf-core/gawk/main.nf

Lines changed: 65 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

modules/nf-core/gawk/meta.yml

Lines changed: 57 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

modules/nf-core/gawk/tests/main.nf.test

Lines changed: 165 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)