Refactor get_vj_sequence function

This commit is contained in:
coolneng 2021-04-22 01:17:35 +02:00
parent 81ebd4fbbe
commit a7c1df5ce2
Signed by: coolneng
GPG Key ID: 9893DA236405AF57
1 changed files with 11 additions and 6 deletions

View File

@ -11,6 +11,13 @@ parse_data <- function(file) {
return(list(sequences, vj_segments)) return(list(sequences, vj_segments))
} }
parse_metadata <- function(metadata) {
id_elements <- unlist(strsplit(metadata, split = " "))
v_identifier <- id_elements[2]
j_identifier <- id_elements[3]
return(list(v_id = v_identifier, j_id = j_identifier))
}
match_id_sequence <- function(names, vdj_segments, id) { match_id_sequence <- function(names, vdj_segments, id) {
matches <- grep(names, pattern = id) matches <- grep(names, pattern = id)
row <- matches[1] row <- matches[1]
@ -18,12 +25,10 @@ match_id_sequence <- function(names, vdj_segments, id) {
} }
get_vj_sequence <- function(metadata, names, vdj_segments) { get_vj_sequence <- function(metadata, names, vdj_segments) {
id_elements <- unlist(strsplit(metadata, split = " ")) identifiers <- parse_metadata(metadata)
v_identifier <- id_elements[2] v_sequence <- match_id_sequence(names, vdj_segments, id = identifiers["v_id"])
j_identifier <- id_elements[3] j_sequence <- match_id_sequence(names, vdj_segments, id = identifiers["j_id"])
v_sequence <- match_id_sequence(names, vdj_segments, id = v_identifier) return(list(v_seq = v_sequence, j_seq = j_sequence))
j_sequence <- match_id_sequence(names, vdj_segments, id = j_identifier)
return(c(v_sequence, j_sequence))
} }
fetch_vj_sequences <- function(sequences, vdj_segments) { fetch_vj_sequences <- function(sequences, vdj_segments) {