R/read_orient.R

Defines functions read_orient

Documented in read_orient

#' @title Read Orientator
#'
#' @description
#' Description
#'
#' @param fi_col_tag Project enviorment option
#' @param fi_df Project enviorment option
#' @param fi_tags Project enviorment option
#' @param fie_est_insert_size Project enviorment option
#' @param fie_forward_seq Project enviorment option
#' @param fie_reverse_seq Project enviorment option
#' @param fie_forward_strand Project enviorment option
#' @param fie_reverse_strand Project enviorment option
#' @param bi_ervVchr Boolen selector for \emph{'ERV'} or \emph{'CHR'}
#'
#' @return
#' Return
#'
#' @seealso \code{genomic_count}
#' @seealso \code{peak_linker}
#' @export

read_orient <- function(

	fi_col_tag,
	fi_df,
	fi_tags,
	fie_est_insert_size,
	fie_forward_seq,
	fie_reverse_seq,
	fie_forward_strand,
	fie_reverse_strand,
	bi_ervVchr
) {

# TODO: consider forcing into data.frame to preserve this code, otherwise force as tibble & rewrite - retest
	if ( bi_ervVchr == "ERV" ){
		#
		# Initialize columns
		fi_df[, fi_col_tag] <- 0
		i_forward <- names(table(fi_df[, "Proviral_Flag"]))[fie_forward_seq]
		i_reverse <- names(table(fi_df[, "Proviral_Flag"]))[fie_reverse_seq]

		fi_df[
			fi_df$ERV_Position < fie_est_insert_size &
			fi_df$Proviral_Flag %in% i_reverse &
			fi_df$Chromosomal_Flag %in% fie_forward_strand, fi_col_tag] <- fi_tags[1]

		fi_df[
			(fi_df$ERV_size - fi_df$ERV_Position) < fie_est_insert_size &
			fi_df$Proviral_Flag %in% i_forward &
			fi_df$Chromosomal_Flag %in% fie_reverse_strand, fi_col_tag] <- fi_tags[2]

		fi_df[
			fi_df$ERV_Position < fie_est_insert_size &
			fi_df$Proviral_Flag %in% i_reverse &
			fi_df$Chromosomal_Flag %in% fie_reverse_strand, fi_col_tag] <- fi_tags[3]

		fi_df[
			(fi_df$ERV_size - fi_df$ERV_Position) < fie_est_insert_size &
			fi_df$Proviral_Flag %in% i_forward &
			fi_df$Chromosomal_Flag %in% fie_forward_strand, fi_col_tag] <- fi_tags[4]

		# Purge not coherent reads
		fi_df <- fi_df[fi_df[, fi_col_tag] != 0, ]
		} else if ( bi_ervVchr == "CHR" ) {
			#
			# Initialize columns
			fi_df[, fi_col_tag] <- 0

			fi_df[fi_df$Chromosomal_Flag == fie_forward_strand, fi_col_tag] <- fi_tags[1]

			fi_df[fi_df$Chromosomal_Flag == fie_reverse_strand, fi_col_tag] <- fi_tags[2]
		}

	return(tibble::as_tibble(fi_df))
}
DanielRivasMD/Rpack.chlSab documentation built on Nov. 18, 2019, 12:01 a.m.