diff split_and_filter_tracks.R @ 0:ea6a3059a6af draft

Uploaded
author petr-novak
date Mon, 18 Oct 2021 11:01:20 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/split_and_filter_tracks.R	Mon Oct 18 11:01:20 2021 +0000
@@ -0,0 +1,29 @@
+#!/usr/bin/env Rscript
+suppressPackageStartupMessages(library(rtracklayer))
+gff = import(commandArgs(T)[1])
+BN = gsub("[.]gff(3){0,1}","",basename(commandArgs(T)[1]))
+min_width = as.numeric(commandArgs(T)[2])
+outdir = commandArgs(T)[3]
+
+
+
+gff_min_width=gff[width(gff)>=min_width]
+
+
+
+dir.create(outdir, recursive = TRUE, showWarnings = FALSE)
+
+gff_min_width_parts = split(gff_min_width, f=gff_min_width$Name)
+
+x = sapply(names(gff_min_width_parts),
+       function(x) export(
+                     gff_min_width_parts[[x]],
+                     format="gff3",
+                     con=paste0(
+                       outdir,"/",
+                       gsub("/","_",x),
+                       "_", min_width ,"plus.gff3"
+                     )
+                   ))
+
+