annotate parseHGVS.R @ 0:c12a4d187121 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
author iuc
date Fri, 07 Jun 2024 15:21:07 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
1 # Copyright (C) 2018 Jochen Weile, Roth Lab
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
2 #
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
3 # This file is part of hgvsParseR.
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
4 #
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
5 # hgvsParseR is free software: you can redistribute it and/or modify
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
6 # it under the terms of the GNU General Public License as published by
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
7 # the Free Software Foundation, either version 3 of the License, or
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
8 # (at your option) any later version.
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
9 #
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
10 # hgvsParseR is distributed in the hope that it will be useful,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
13 # GNU General Public License for more details.
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
14 #
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
16 # along with hgvsParseR. If not, see <https://www.gnu.org/licenses/>.
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
17
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
18 #' HGVS Parser
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
19 #'
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
20 #' Parses HGVS strings
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
21 #' @param strings A character vector containing the HGVS strings
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
22 #' @param aacode allowed values: 1, 3, or NA. Determines whether 1-letter codes or 3-letter codes should be forced. NA uses input format.
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
23 #' @return A \code{data.frame} with the following columns:
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
24 #' @keywords HGVS parsing
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
25 #' @export
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
26 #' @examples
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
27 #' result <- parseHGVS(c("g.1318G>T","c.123_125inv","p.R123_L152del"))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
28
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
29 parseHGVS <- function(strings,aacode=c(NA,1,3)) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
30
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
31 #Check that parameters are valid
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
32 if (!is.character(strings)) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
33 stop("Input for 'parse' function must be a character vector! Found '",class(strings),"' instead.")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
34 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
35
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
36 aacode <- aacode[[1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
37 if (!is.na(aacode) && !(aacode %in% c(1,3))) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
38 warning("Invalid aacode parameter, defaulting to NA!")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
39 aacode <- NA
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
40 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
41
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
42 #Helper function: turns a list of lists (lol) in to a dataframe
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
43 to.df <- function(lol) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
44 colnames <- unique(do.call(c,lapply(lol,names)))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
45 columns <- lapply(colnames,function(cn) sapply(lol,function(row) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
46 if (cn %in% names(row)) row[[cn]] else NA
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
47 }))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
48 names(columns) <- colnames
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
49 empty <- which(sapply(columns,function(xs)all(is.na(xs))))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
50 columns[empty] <- NULL
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
51 do.call(data.frame,columns)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
52 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
53
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
54 # ###
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
55 # # Binds matrices of same size together to a 3D matrix, analogously
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
56 # # to cbind and rbind.
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
57 # #
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
58 # zbind <- function(...) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
59 # x <- list(...)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
60 # y <- array(0,dim=c(nrow(x[[1]]),ncol(x[[1]]),length(x)),dimnames=dimnames(x[[1]]))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
61 # for (i in 1:length(x)) y[,,i] <- x[[i]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
62 # y
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
63 # }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
64
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
65
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
66 ###
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
67 # Function to *locally* excise regex groups from string vectors.
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
68 # I.e. only extract the first occurrence of each group within each string.
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
69 # x = string vector
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
70 # re = regular expression with groups
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
71 #
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
72 extract.groups <- function(x, re) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
73 matches <- regexpr(re,x,perl=TRUE)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
74 start <- attr(matches,"capture.start")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
75 end <- start + attr(matches,"capture.length") - 1
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
76 do.call(cbind,lapply(1:ncol(start), function(i) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
77 sapply(1:nrow(start),function(j){
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
78 if (start[j,i] > -1) substr(x[[j]],start[j,i],end[j,i]) else NA
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
79 })
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
80 }))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
81 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
82
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
83 # ###
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
84 # # Function to *globally* excise regex groups from string vectors.
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
85 # # x = string vector
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
86 # # re = regular expression with groups
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
87 # #
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
88 # global.extract.groups <- function(x,re) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
89 # all.matches <- gregexpr(re,x,perl=TRUE)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
90 # mapply(function(matches,x) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
91 # start <- attr(matches,"capture.start")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
92 # end <- start + attr(matches,"capture.length") - 1
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
93 # apply(zbind(start,end),c(1,2),function(pos) substr(x,pos[[1]],pos[[2]]) )
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
94 # },matches=all.matches,x=x,SIMPLIFY=FALSE)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
95 # }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
96
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
97 ###
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
98 # Helper function to split multi-mutant bodies into their individual
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
99 # elements. Returns a vector of strings containing these elements.
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
100 # An attribute "multi" is attached to the vector, detailing the type
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
101 # of multi-mutant
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
102 #
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
103 splitMulti <- function(body) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
104 if (regexpr("\\[.+\\];\\[.+\\]",body) > 0) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
105 out <- strsplit(substr(body,2,nchar(body)-1),"\\];\\[")[[1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
106 attr(out,"multi") <- "trans"
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
107 } else if (regexpr("\\[.+\\(;\\).+\\]",body) > 0) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
108 out <- strsplit(substr(body,2,nchar(body)-1),"\\(;\\)")[[1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
109 attr(out,"multi") <- "unknown"
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
110 } else if (regexpr("\\[.+;.+\\]",body) > 0) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
111 out <- strsplit(substr(body,2,nchar(body)-1),";")[[1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
112 attr(out,"multi") <- "cis"
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
113 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
114 out <- body
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
115 attr(out,"multi") <- "single"
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
116 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
117 return(out)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
118 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
119
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
120 ###
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
121 # Helper function:
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
122 # Given an HGVS body and a list of regexes corresponding to types,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
123 # find the (first) matching type.
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
124 findType <- function(body,types) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
125 i <- 0
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
126 found <- done <- FALSE
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
127 while (!found && !done) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
128 found <- regexpr(types[[i <- i+1]],body) > 0
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
129 done <- i >= length(types)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
130 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
131 if (found) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
132 return(names(types)[[i]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
133 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
134 return("invalid")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
135 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
136 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
137
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
138 out <- lapply(strings,function(s) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
139
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
140 if (regexpr("^[gcnmrp]\\.",s) < 1) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
141 return(list(list(hgvs=s,subject="invalid",type="invalid")))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
142 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
143
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
144 body <- substr(s,3,nchar(s))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
145
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
146 subbodies <- splitMulti(body)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
147
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
148 subjects <- c(
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
149 g="genomic",c="coding",n="noncoding",
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
150 m="mitochondrial",r="rna",p="protein"
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
151 )
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
152 subject <- subjects[[substr(s,1,1)]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
153
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
154 if (subject=="genomic") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
155
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
156 types <- c(
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
157 substitution="\\d+[ACGT]>[ACGT]", singledeletion="^\\d+del$",
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
158 deletion="\\d+_\\d+del$",inversion="\\d+_\\d+inv",
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
159 duplication="\\d+_\\d+dup",insertion="\\d+_\\d+ins[ATCG]+",
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
160 conversion="\\d+_\\d+con\\d+_\\d+",delins="\\d+_\\d+delins[ATCG]+",
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
161 amplification="\\d+_\\d+\\[\\d+\\]"
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
162 )
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
163
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
164 phasing <- attr(subbodies,"multi")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
165 isMulti <- length(subbodies) > 1
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
166
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
167 lapply(1:length(subbodies), function(i.multi) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
168 body <- subbodies[[i.multi]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
169
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
170 type <- findType(body,types)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
171
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
172 if (type == "substitution") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
173 groups <- extract.groups(body,"(\\d+)([ACGT])>([ACGT])")[1,]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
174 position <- as.integer(groups[[1]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
175 ancestral <- groups[[2]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
176 variant <- groups[[3]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
177 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
178 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
179 type=type,start=position,ancestral=ancestral,variant=variant))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
180 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
181 return(list(hgvs=s,subject=subject,type=type,start=position,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
182 ancestral=ancestral,variant=variant))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
183 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
184
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
185 } else if (type == "singledeletion") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
186 groups <- extract.groups(body,"(\\d+)del")[1,]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
187 position <- as.integer(groups[[1]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
188 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
189 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
190 type=type,start=position))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
191 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
192 return(list(hgvs=s,subject=subject,type=type,start=position))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
193 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
194
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
195 } else if (type == "deletion") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
196 groups <- extract.groups(body,"(\\d+)_(\\d+)del")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
197 start <- as.integer(groups[[1]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
198 end <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
199 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
200 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
201 type=type,start=start,end=end))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
202 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
203 return(list(hgvs=s,subject=subject,type=type,start=start,end=end))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
204 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
205
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
206 } else if (type == "inversion") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
207 groups <- extract.groups(body,"(\\d+)_(\\d+)inv")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
208 start <- as.integer(groups[[1]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
209 end <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
210 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
211 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
212 type=type,start=start,end=end))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
213 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
214 return(list(hgvs=s,subject=subject,type=type,start=start,end=end))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
215 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
216
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
217 } else if (type == "duplication") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
218 groups <- extract.groups(body,"(\\d+)_(\\d+)dup")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
219 start <- as.integer(groups[[1]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
220 end <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
221 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
222 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
223 type=type,start=start,end=end))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
224 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
225 return(list(hgvs=s,subject=subject,type=type,start=start,end=end))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
226 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
227
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
228 } else if (type == "insertion") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
229 groups <- extract.groups(body,"(\\d+)_(\\d+)ins([ATCG]+)")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
230 start <- as.integer(groups[[1]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
231 end <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
232 if (abs(end-start)!=1) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
233 warning("Invalid insertion definition:
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
234 Start and end positions must be adjacent!")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
235 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
236 variant <- groups[[3]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
237 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
238 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
239 type=type,start=start,end=end,variant=variant))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
240 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
241 return(list(hgvs=s,subject=subject,type=type,start=start,end=end,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
242 variant=variant))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
243 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
244
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
245 } else if (type == "conversion") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
246 groups <- extract.groups(body,"(\\d+)_(\\d+)con(\\d+)_(\\d+)")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
247 start <- as.integer(groups[[1]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
248 end <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
249 tStart <- as.integer(groups[[3]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
250 tEnd <- as.integer(groups[[4]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
251 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
252 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
253 type=type,start=start,end=end,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
254 templateStart=tStart,templateEnd=tEnd))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
255 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
256 return(list(hgvs=s,subject=subject,type=type,start=start,end=end,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
257 templateStart=tStart,templateEnd=tEnd))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
258 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
259
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
260 } else if (type == "delins") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
261 groups <- extract.groups(body,"(\\d+)_(\\d+)delins([ATCG]+)")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
262 start <- as.integer(groups[[1]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
263 end <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
264 variant <- groups[[3]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
265 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
266 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
267 type=type,start=start,end=end,variant=variant))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
268 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
269 return(list(hgvs=s,subject=subject,type=type,start=start,end=end,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
270 variant=variant))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
271 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
272
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
273 } else if (type == "amplification") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
274 groups <- extract.groups(body,"(\\d+)_(\\d+)\\[(\\d+)\\]")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
275 start <- as.integer(groups[[1]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
276 end <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
277 copies <- as.integer(groups[[3]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
278 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
279 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
280 type=type,start=start,end=end,copies=copies))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
281 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
282 return(list(hgvs=s,subject=subject,type=type,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
283 start=start,end=end,copies=copies))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
284 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
285
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
286 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
287 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
288 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,type="invalid"))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
289 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
290 return(list(hgvs=s,subject=subject,type="invalid"))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
291 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
292 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
293
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
294 })
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
295
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
296 } else if (subject=="coding") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
297 #coding needs to be handled separately from genomic, as the syntax may differ
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
298 #e.g. it allows for offset descriptions relative to exon-intron borders
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
299
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
300 types <- c(
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
301 substitution="\\d+([+-]\\d+)?[ACGT]>[ACGT]",
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
302 singledeletion="^\\d+([+-]\\d+)?del$",
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
303 deletion="\\d+([+-]\\d+)?_\\d+([+-]\\d+)?del$",
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
304 inversion="\\d+([+-]\\d+)?_\\d+([+-]\\d+)?inv",
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
305 duplication="\\d+([+-]\\d+)?_\\d+([+-]\\d+)?dup",
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
306 insertion="\\d+([+-]\\d+)?_\\d+([+-]\\d+)?ins[ATCG]+",
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
307 conversion="\\d+([+-]\\d+)?_\\d+([+-]\\d+)?con\\d+([+-]\\d+)?_\\d+([+-]\\d+)?",
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
308 delins="\\d+([+-]\\d+)?_\\d+([+-]\\d+)?delins[ATCG]+",
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
309 amplification="\\d+([+-]\\d+)?_\\d+([+-]\\d+)?\\[\\d+\\]"
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
310 )
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
311
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
312 phasing <- attr(subbodies,"multi")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
313 isMulti <- length(subbodies) > 1
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
314
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
315 lapply(1:length(subbodies), function(i.multi) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
316 body <- subbodies[[i.multi]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
317
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
318 type <- findType(body,types)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
319
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
320 if (type == "substitution") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
321 groups <- extract.groups(body,"(\\d+)([+-]\\d+)?([ACGT])>([ACGT])")[1,]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
322 position <- as.integer(groups[[1]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
323 intronOffset <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
324 ancestral <- groups[[3]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
325 variant <- groups[[4]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
326 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
327 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
328 type=type,start=position,startIntron=intronOffset,ancestral=ancestral,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
329 variant=variant))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
330 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
331 return(list(hgvs=s,subject=subject,type=type,start=position,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
332 startIntron=intronOffset,ancestral=ancestral,variant=variant))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
333 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
334
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
335 } else if (type == "singledeletion") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
336 groups <- extract.groups(body,"(\\d+)([+-]\\d+)?del")[1,]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
337 position <- as.integer(groups[[1]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
338 intronOffset <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
339 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
340 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
341 type=type,start=position,startIntron=intronOffset))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
342 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
343 return(list(hgvs=s,subject=subject,type=type,start=position,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
344 startIntron=intronOffset))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
345 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
346 } else if (type == "deletion") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
347 groups <- extract.groups(body,"(\\d+)([+-]\\d+)?_(\\d+)([+-]\\d+)?del")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
348 start <- as.integer(groups[[1]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
349 intronOffset <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
350 end <- as.integer(groups[[3]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
351 intronOffset2 <- as.integer(groups[[4]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
352 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
353 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
354 type=type,start=start,startIntron=intronOffset,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
355 end=end,endIntron=intronOffset2))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
356 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
357 return(list(hgvs=s,subject=subject,type=type,start=start,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
358 startIntron=intronOffset,end=end,endIntron=intronOffset2))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
359 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
360 } else if (type == "inversion") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
361 groups <- extract.groups(body,"(\\d+)([+-]\\d+)?_(\\d+)([+-]\\d+)?inv")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
362 start <- as.integer(groups[[1]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
363 intronOffset <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
364 end <- as.integer(groups[[3]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
365 intronOffset2 <- as.integer(groups[[4]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
366 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
367 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
368 type=type,start=start,startIntron=intronOffset,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
369 end=end,endIntron=intronOffset2))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
370 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
371 return(list(hgvs=s,subject=subject,type=type,start=start,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
372 startIntron=intronOffset,end=end,endIntron=intronOffset2))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
373 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
374 } else if (type == "duplication") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
375 groups <- extract.groups(body,"(\\d+)([+-]\\d+)?_(\\d+)([+-]\\d+)?dup")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
376 start <- as.integer(groups[[1]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
377 intronOffset <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
378 end <- as.integer(groups[[3]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
379 intronOffset2 <- as.integer(groups[[4]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
380 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
381 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
382 type=type,start=start,startIntron=intronOffset,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
383 end=end,endIntron=intronOffset2))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
384 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
385 return(list(hgvs=s,subject=subject,type=type,start=start,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
386 startIntron=intronOffset,end=end,endIntron=intronOffset2))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
387 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
388 } else if (type == "insertion") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
389 groups <- extract.groups(body,"(\\d+)([+-]\\d+)?_(\\d+)([+-]\\d+)?ins([ATCG]+)")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
390 start <- as.integer(groups[[1]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
391 intronOffset <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
392 end <- as.integer(groups[[3]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
393 intronOffset2 <- as.integer(groups[[4]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
394 variant <- groups[[5]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
395 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
396 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
397 type=type,start=start,startIntron=intronOffset,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
398 end=end,endIntron=intronOffset2,variant=variant))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
399 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
400 return(list(hgvs=s,subject=subject,type=type,start=start,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
401 startIntron=intronOffset,end=end,endIntron=intronOffset2,variant=variant))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
402 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
403 } else if (type == "conversion") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
404 groups <- extract.groups(body,"(\\d+)([+-]\\d+)?_(\\d+)([+-]\\d+)?con(\\d+)([+-]\\d+)?_(\\d+)([+-]\\d+)?")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
405 start <- as.integer(groups[[1]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
406 intronOffset <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
407 end <- as.integer(groups[[3]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
408 intronOffset2 <- as.integer(groups[[4]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
409 tStart <- as.integer(groups[[5]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
410 intronOffset3 <- as.integer(groups[[6]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
411 tEnd <- as.integer(groups[[7]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
412 intronOffset4 <- as.integer(groups[[8]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
413 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
414 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
415 type=type,start=start,startIntron=intronOffset,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
416 end=end,endIntron=intronOffset2,templateStart=tStart,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
417 templateStartIntron=intronOffset3,templateEnd=tEnd,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
418 templateEndIntron=intronOffset4))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
419 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
420 return(list(hgvs=s,subject=subject,type=type,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
421 start=start,startIntron=intronOffset,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
422 end=end,endIntron=intronOffset2,templateStart=tStart,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
423 templateStartIntron=intronOffset3,templateEnd=tEnd,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
424 templateEndIntron=intronOffset4))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
425 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
426 } else if (type == "delins") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
427 groups <- extract.groups(body,"(\\d+)([+-]\\d+)?_(\\d+)([+-]\\d+)?delins([ATCG]+)")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
428 start <- as.integer(groups[[1]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
429 intronOffset <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
430 end <- as.integer(groups[[3]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
431 intronOffset2 <- as.integer(groups[[4]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
432 variant <- groups[[5]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
433 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
434 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
435 type=type,start=start,startIntron=intronOffset,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
436 end=end,endIntron=intronOffset2,variant=variant))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
437 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
438 return(list(hgvs=s,subject=subject,type=type,start=start,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
439 startIntron=intronOffset,end=end,endIntron=intronOffset2,variant=variant))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
440 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
441 } else if (type == "amplification") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
442 groups <- extract.groups(body,"(\\d+)([+-]\\d+)?_(\\d+)([+-]\\d+)?\\[(\\d+)\\]")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
443 start <- as.integer(groups[[1]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
444 intronOffset <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
445 end <- as.integer(groups[[3]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
446 intronOffset2 <- as.integer(groups[[4]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
447 copies <- as.integer(groups[[3]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
448 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
449 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
450 type=type,start=start,startIntron=intronOffset,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
451 end=end,endIntron=intronOffset2,copies=copies))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
452 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
453 return(list(hgvs=s,subject=subject,type=type,start=start,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
454 startIntron=intronOffset,end=end,endIntron=intronOffset2,copies=copies))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
455 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
456 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
457 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
458 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
459 type="invalid"))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
460 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
461 return(list(hgvs=s,subject=subject,type="invalid"))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
462 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
463 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
464
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
465 })
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
466
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
467 } else if (subject=="protein") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
468
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
469 one2three <- c(A="Ala",C="Cys",D="Asp",E="Glu",F="Phe",G="Gly",H="His",
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
470 I="Ile",K="Lys",L="Leu",M="Met",N="Asn",P="Pro",Q="Gln",R="Arg",
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
471 S="Ser",T="Thr",V="Val",W="Trp",Y="Tyr",`*`="Ter")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
472 three2one <- c(Ala="A",Arg="R",Asn="N",Asp="D",Cys="C",Gln="Q",Glu="E",
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
473 Gly="G",His="H",Ile="I",Leu="L",Lys="K",Met="M",Phe="F",Pro="P",
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
474 Ser="S",Thr="T",Trp="W",Tyr="Y",Val="V",Ter="*")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
475 codes <- paste(c(one2three,three2one[-21],"\\*"),collapse="|")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
476
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
477 types <- list(
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
478 synonymous1="^=$",
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
479 synonymous2=paste0("^(",codes,")(\\d+)=$"),
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
480 substitution=paste0("^(",codes,")(\\d+)(",codes,")$"),
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
481 singledeletion=paste0("^(",codes,")(\\d+)del$"),
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
482 deletion=paste0("^(",codes,")(\\d+)_(",codes,")(\\d+)del$"),
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
483 duplication=paste0("^(",codes,")(\\d+)_(",codes,")(\\d+)dup$"),
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
484 insertion=paste0("^(",codes,")(\\d+)_(",codes,")(\\d+)ins((",codes,")+)$"),
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
485 delins=paste0("^(",codes,")(\\d+)_(",codes,")(\\d+)delins((",codes,")+)$"),
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
486 frameshift1=paste0("^(",codes,")(\\d+)fs$"),
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
487 frameshift2=paste0("^(",codes,")(\\d+)(",codes,")fs(Ter|\\*)(\\d+)$")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
488 )
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
489
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
490 phasing <- attr(subbodies,"multi")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
491 isMulti <- length(subbodies) > 1
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
492
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
493 lapply(1:length(subbodies), function(i.multi) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
494 body <- subbodies[[i.multi]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
495
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
496 type <- findType(body,types)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
497
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
498 if (type == "synonymous1") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
499 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
500 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,type=type))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
501 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
502 return(list(hgvs=s,subject=subject,type="synonymous"))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
503 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
504 } else if (type == "synonymous2") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
505 groups <- extract.groups(body,types$synonymous2)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
506 aa1 <- groups[[1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
507 pos <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
508 if (aa1 %in% c(one2three,three2one)) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
509 if (is.na(aacode)) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
510 #do nothing
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
511 } else if (aacode == 1) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
512 if (nchar(aa1) == 3) aa1 <- three2one[[aa1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
513 } else if (aacode ==3) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
514 if (nchar(aa1) == 1) aa1 <- one2three[[aa1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
515 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
516 #this should never happen, as it's supposed to be detected at start of function
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
517 stop("Invalid aacode. If you see this, report this as a bug!")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
518 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
519 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
520 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
521 type="synonymous",start=pos,ancestral=aa1))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
522 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
523 return(list(hgvs=s,subject=subject,type="synonymous",start=pos,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
524 ancestral=aa1))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
525 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
526 } else {#not valid amino acid
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
527 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
528 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
529 type="invalid"))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
530 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
531 return(list(hgvs=s,subject=subject,type="invalid"))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
532 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
533 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
534 } else if (type == "substitution") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
535 groups <- extract.groups(body,types$substitution)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
536 aa1 <- groups[[1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
537 pos <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
538 aa2 <- groups[[3]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
539 if (aa1 %in% c(one2three,three2one) && aa2 %in% c(one2three,three2one)) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
540 if (is.na(aacode)) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
541 #do nothing
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
542 } else if (aacode == 1) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
543 if (nchar(aa1) == 3) aa1 <- three2one[[aa1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
544 if (nchar(aa2) == 3) aa2 <- three2one[[aa2]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
545 } else if (aacode ==3) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
546 if (nchar(aa1) == 1) aa1 <- one2three[[aa1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
547 if (nchar(aa2) == 1) aa2 <- one2three[[aa2]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
548 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
549 #this should never happen, as it's supposed to be detected at start of function
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
550 stop("Invalid aacode. If you see this, report this as a bug!")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
551 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
552 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
553 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
554 type=type,start=pos,ancestral=aa1,variant=aa2))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
555 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
556 return(list(hgvs=s,subject=subject,type=type,start=pos,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
557 ancestral=aa1,variant=aa2))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
558 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
559 } else {#not valid amino acid
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
560 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
561 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
562 type="invalid"))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
563 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
564 return(list(hgvs=s,subject=subject,type="invalid"))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
565 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
566 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
567
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
568 } else if (type == "singledeletion") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
569 groups <- extract.groups(body,types$singledeletion)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
570 aa1 <- groups[[1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
571 pos <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
572 if (is.na(aacode)) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
573 #do nothing
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
574 } else if (aacode == 1) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
575 if (nchar(aa1) == 3) aa1 <- three2one[[aa1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
576 } else if (aacode == 3) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
577 if (nchar(aa1) == 1) aa1 <- one2three[[aa1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
578 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
579 #this should never happen, as it's supposed to be detected at start of function
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
580 stop("Invalid aacode. If you see this, report this as a bug!")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
581 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
582 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
583 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
584 type=type,start=pos,ancestral=aa1))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
585 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
586 return(list(hgvs=s,subject=subject,type=type,start=pos,ancestral=aa1))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
587 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
588 } else if (type == "deletion") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
589 groups <- extract.groups(body,types$deletion)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
590 aa1 <- groups[[1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
591 pos <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
592 aa2 <- groups[[3]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
593 pos2 <- as.integer(groups[[4]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
594 if (is.na(aacode)) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
595 #do nothing
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
596 } else if (aacode == 1) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
597 if (nchar(aa1) == 3) aa1 <- three2one[[aa1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
598 if (nchar(aa2) == 3) aa2 <- three2one[[aa2]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
599 } else if (aacode == 3) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
600 if (nchar(aa1) == 1) aa1 <- one2three[[aa1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
601 if (nchar(aa2) == 1) aa2 <- one2three[[aa2]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
602 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
603 #this should never happen, as it's supposed to be detected at start of function
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
604 stop("Invalid aacode. If you see this, report this as a bug!")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
605 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
606 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
607 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
608 type=type,start=pos,ancestral=aa1,end=pos2,ancestral2=aa2))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
609 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
610 return(list(hgvs=s,subject=subject,type=type,start=pos,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
611 ancestral=aa1,end=pos2,ancestral2=aa2))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
612 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
613
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
614 } else if (type == "duplication") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
615 groups <- extract.groups(body,types$duplication)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
616 aa1 <- groups[[1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
617 pos <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
618 aa2 <- groups[[3]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
619 pos2 <- as.integer(groups[[4]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
620 if (is.na(aacode)) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
621 #do nothing
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
622 } else if (aacode == 1) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
623 if (nchar(aa1) == 3) aa1 <- three2one[[aa1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
624 if (nchar(aa2) == 3) aa2 <- three2one[[aa2]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
625 } else if (aacode == 3) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
626 if (nchar(aa1) == 1) aa1 <- one2three[[aa1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
627 if (nchar(aa2) == 1) aa2 <- one2three[[aa2]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
628 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
629 #this should never happen, as it's supposed to be detected at start of function
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
630 stop("Invalid aacode. If you see this, report this as a bug!")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
631 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
632 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
633 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
634 type=type,start=pos,ancestral=aa1,end=pos2,ancestral2=aa2))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
635 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
636 return(list(hgvs=s,subject=subject,type=type,start=pos,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
637 ancestral=aa1,end=pos2,ancestral2=aa2))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
638 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
639
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
640 } else if (type == "insertion") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
641 groups <- extract.groups(body,types$insertion)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
642 aa1 <- groups[[1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
643 pos <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
644 aa2 <- groups[[3]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
645 pos2 <- as.integer(groups[[4]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
646 insert <- groups[[5]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
647 #TODO: Implement code conversion
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
648 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
649 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
650 type=type,start=pos,ancestral=aa1,end=pos2,ancestral2=aa2,variant=insert))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
651 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
652 return(list(hgvs=s,subject=subject,type=type,start=pos,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
653 ancestral=aa1,end=pos2,ancestral2=aa2,variant=insert))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
654 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
655
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
656 } else if (type == "delins") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
657 groups <- extract.groups(body,types$delins)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
658 aa1 <- groups[[1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
659 pos <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
660 aa2 <- groups[[3]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
661 pos2 <- as.integer(groups[[4]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
662 insert <- groups[[5]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
663 #TODO: Implement code conversion
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
664 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
665 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
666 type=type,start=pos,ancestral=aa1,end=pos2,ancestral2=aa2,variant=insert))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
667 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
668 return(list(hgvs=s,subject=subject,type=type,start=pos,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
669 ancestral=aa1,end=pos2,ancestral2=aa2,variant=insert))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
670 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
671
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
672 } else if (type == "frameshift1") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
673 groups <- extract.groups(body,types$frameshift1)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
674 aa1 <- groups[[1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
675 pos <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
676 #TODO: Implement code conversion
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
677 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
678 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
679 type="frameshift",start=pos,ancestral=aa1))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
680 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
681 return(list(hgvs=s,subject=subject,type="frameshift",start=pos,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
682 ancestral=aa1))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
683 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
684
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
685 } else if (type == "frameshift2") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
686 groups <- extract.groups(body,types$frameshift2)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
687 aa1 <- groups[[1]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
688 pos <- as.integer(groups[[2]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
689 aa2 <- groups[[3]]
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
690 term <- as.integer(groups[[5]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
691 #TODO: Implement code conversion
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
692 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
693 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
694 type="frameshift",start=pos,ancestral=aa1,variant=aa2,end=term))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
695 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
696 return(list(hgvs=s,subject=subject,type="frameshift",start=pos,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
697 ancestral=aa1,variant=aa2,end=term))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
698 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
699
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
700 } else {#unmatched type
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
701 if (isMulti) {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
702 return(list(hgvs=s,subject=subject,phasing=phasing,multiPart=i.multi,
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
703 type="invalid"))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
704 } else {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
705 return(list(hgvs=s,subject=subject,type="invalid"))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
706 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
707 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
708
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
709 })
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
710
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
711 } else if (subject=="noncoding") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
712 #FIXME: These need to be list of lists to match postprocessing
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
713 return(list(list(hgvs=s,subject="not_implemented",type="not_implemented")))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
714 } else if (subject=="mitochondrial") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
715 return(list(list(hgvs=s,subject="not_implemented",type="not_implemented")))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
716 } else if (subject=="rna") {
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
717 return(list(list(hgvs=s,subject="not_implemented",type="not_implemented")))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
718 } else {#unmatched subject, shouldn't happen
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
719 stop("Unmatched subject! If you see this, report it as a bug!")
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
720 }
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
721 })
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
722
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
723 #demote multimutants to enforce simple list structure
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
724 multiLengths <- sapply(out,length)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
725 ids <- do.call(c,lapply(1:length(multiLengths),
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
726 function(i) if (multiLengths[[i]]==1) as.character(i) else paste0(i,".",1:multiLengths[[i]])
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
727 ))
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
728 out2 <- do.call(c,out)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
729 names(out2) <- ids
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
730
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
731
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
732
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
733 to.df(out2)
c12a4d187121 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff changeset
734 }