Mercurial > repos > iuc > hgvsparser
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 |
| 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 } |
