Compare commits
2 Commits
81ebd4fbbe
...
83819b296b
Author | SHA1 | Date |
---|---|---|
coolneng | 83819b296b | |
coolneng | a7c1df5ce2 |
|
@ -11,6 +11,13 @@ parse_data <- function(file) {
|
|||
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) {
|
||||
matches <- grep(names, pattern = id)
|
||||
row <- matches[1]
|
||||
|
@ -18,22 +25,20 @@ match_id_sequence <- function(names, vdj_segments, id) {
|
|||
}
|
||||
|
||||
get_vj_sequence <- function(metadata, names, vdj_segments) {
|
||||
id_elements <- unlist(strsplit(metadata, split = " "))
|
||||
v_identifier <- id_elements[2]
|
||||
j_identifier <- id_elements[3]
|
||||
v_sequence <- match_id_sequence(names, vdj_segments, id = v_identifier)
|
||||
j_sequence <- match_id_sequence(names, vdj_segments, id = j_identifier)
|
||||
return(c(v_sequence, j_sequence))
|
||||
identifiers <- parse_metadata(metadata)
|
||||
v_sequence <- match_id_sequence(names, vdj_segments, id = identifiers["v_id"])
|
||||
j_sequence <- match_id_sequence(names, vdj_segments, id = identifiers["j_id"])
|
||||
return(list(v_seq = v_sequence, j_seq = j_sequence))
|
||||
}
|
||||
|
||||
fetch_vj_sequences <- function(sequences, vdj_segments) {
|
||||
vj_sequences <- mclapply(names(sequences),
|
||||
vj_sequences <- sapply(names(sequences),
|
||||
names(vdj_segments),
|
||||
vdj_segments,
|
||||
FUN = get_vj_sequence,
|
||||
mc.cores = detectCores()
|
||||
FUN = get_vj_sequence
|
||||
)
|
||||
return(c(vj_sequences[1], vj_sequences[2]))
|
||||
results <- data.frame(t(vj_sequences))
|
||||
return(results)
|
||||
}
|
||||
|
||||
align_sequence <- function(sequence, vdj_segment) {
|
||||
|
@ -47,15 +52,10 @@ align_sequence <- function(sequence, vdj_segment) {
|
|||
|
||||
# TODO Extract CDR3
|
||||
get_hvr_sequences <- function(sequences, vdj_segments) {
|
||||
vj_sequences <- fetch_vj_sequences(sequences, vdj_segments)
|
||||
v_alignment <- parallel::mcmapply(sequences,
|
||||
vj_sequences[1],
|
||||
FUN = align_sequence
|
||||
)
|
||||
j_alignment <- parallel::mcmapply(sequences,
|
||||
vj_sequences[2],
|
||||
FUN = align_sequence
|
||||
)
|
||||
df <- fetch_vj_sequences(sequences, vdj_segments)
|
||||
v_alignment <- parallel::mcmapply(sequences, df$v_seq, FUN = align_sequence)
|
||||
j_alignment <- parallel::mcmapply(sequences, df$j_seq, FUN = align_sequence)
|
||||
print(v_alignment)
|
||||
}
|
||||
|
||||
data <- parse_data(file = "data/curesim_sequence.fastq")
|
||||
|
|
Loading…
Reference in New Issue