Commit 8315109e authored by Chaos's avatar Chaos
Browse files

new function txdb to generate txdb from gtf file

parent acc70552
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -55,3 +55,33 @@ gtf <- function(
		gtf
	}
}

txdb <-	function(
			gtf_file,
			organism = NA,
			ref = NA
){
	txdb_file <-	file.path(
						chaos_info("data_dir"),
						paste0(
							base_name(gtf_file,"gtf.gz"),
							".txdb"
						)
					)
	
	if(file.exists(txdb_file)){
		loadDb(txdb_file)
	}else{
		chaos_info("data_dir") |> chaos_create_dir()
		txdb <-	gtf_file |>
				GenomicFeatures::makeTxDbFromGFF(
					dataSource = base_name(gtf_file,"annotation.gtf") %>% gsub(".gz","",.),
					organism = organism,
					chrominfo = chr_size(ref = ref,mit = T)[,.(chrom = chr,length)]
				)

		saveDb(txdb,txdb_file)

		txdb
	}
}
 No newline at end of file