Mercurial > repos > iuc > hgvsparser
annotate buildHGVS.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 #' Genomic HGVS Builder |
|
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 #' A constructor for a genomic-level HGVS builder object. The object contains a collection of functions |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
21 #' for building genomic HGVS strings. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
22 #' |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
23 #' The resulting object encapsulates the following functions: |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
24 #' \itemize{ |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
25 #' \item{substitution(pos,ancestral,variant)} Genomic substitution variants. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
26 #' pos = position (integer); ancestral = ancestral nucleotide [ACGT]; |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
27 #' variant = variant nucleotide [ACGT] |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
28 #' \item{deletion(start,stop)} Genomic deletion. start = start position (integer); |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
29 #' stop = stop position (integer) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
30 #' \item{inversion(start,stop)} Genomic inversion. start = start position (integer); |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
31 #' stop = stop position (integer) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
32 #' \item{duplication(start,stop)} Genomic duplication. start = start position (integer); |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
33 #' stop = stop position (integer) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
34 #' \item{insertion(start,variant)} Genomic insertion. start = position immediately preceeding |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
35 #' the insertion (integer); seq = inserted nucleotide sequence [ACGT]+ |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
36 #' \item{delins(start,stop,variant)} Genomic deletion and insertion. start = start position (integer); |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
37 #' stop = stop position relative to the reference (integer); seq = inserted nucleotide sequence [ACGT]+ |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
38 #' \item{cis(...)} Multi-variant phased in cis. Parameters are genomic HGVS strings for the |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
39 #' corresponding single mutants |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
40 #' \item{trans(...)} Multi-variant phased in trans. Parameters are genomic HGVS strings for the |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
41 #' corresponding single mutants |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
42 #' \item{nophase(...)} Multi-variant with unknown phasing. Parameters are genomic HGVS strings for the |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
43 #' corresponding single mutants |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
44 #' } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
45 #' |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
46 #' @return A \code{hgvs.builder.g} object with functions for building genomic HGVS strings. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
47 #' The individual functions return single-element character vectors containing these strings. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
48 #' @keywords HGVS builder |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
49 #' @export |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
50 #' @examples |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
51 #' builder <- new.hgvs.builder.g() |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
52 #' string1 <- builder$substitution(123,"A","G") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
53 #' string2 <- builder$delins(123,129,"ATTG") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
54 #' string3 <- with(builder,cis(substitution(123,"A","C"),substitution(231,"G","A"))) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
55 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
56 new.hgvs.builder.g <- function() { |
|
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 substitution <- function(pos,ancestral,variant) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
59 if (!is.numeric(pos) || pos < 1) stop("position must be a positive integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
60 if (!is.character(ancestral) || !(ancestral %in% c("A","C","G","T"))) stop("ancestral must be single nucleotide") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
61 if (!is.character(variant) || !(variant %in% c("A","C","G","T"))) stop("variant must be single nucleotide") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
62 paste0("g.",pos,ancestral,">",variant) |
|
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 deletion <- function(start,stop) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
66 if (!is.numeric(start)) stop("start must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
67 if (!is.numeric(stop)) stop("stop must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
68 if (start > stop) stop("start must be upstream of stop") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
69 paste0("g.",start,"_",stop,"del") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
70 } |
|
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 inversion <- function(start,stop) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
73 if (!is.numeric(start)) stop("start must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
74 if (!is.numeric(stop)) stop("stop must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
75 if (start > stop) stop("start must be upstream of stop") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
76 paste0("g.",start,"_",stop,"inv") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
77 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
78 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
79 duplication <- function(start,stop) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
80 if (!is.numeric(start)) stop("start must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
81 if (!is.numeric(stop)) stop("stop must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
82 if (start > stop) stop("start must be upstream of stop") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
83 paste0("g.",start,"_",stop,"dup") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
84 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
85 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
86 insertion <- function(start,seq) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
87 if (!is.numeric(start)) stop("start must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
88 if (!is.character(seq) || regexpr("^[ACGT]+$",seq) < 1) stop("variant must be nucleotide sequence") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
89 paste0("g.",start,"_",start+1,"ins",seq) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
90 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
91 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
92 delins <- function(start,stop,seq) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
93 if (!is.numeric(start)) stop("start must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
94 if (!is.numeric(stop)) stop("stop must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
95 if (start > stop) stop("start must be upstream of stop") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
96 if (!is.character(seq) || regexpr("^[ACGT]+$",seq) < 1) stop("variant must be nucleotide sequence") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
97 paste0("g.",start,"_",stop,"delins",seq) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
98 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
99 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
100 cis <- function(...) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
101 strings <- list(...) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
102 if (!all(sapply(strings,is.character))) stop("all arguments must be HGVS strings") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
103 strings <- unlist(strings) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
104 if (!all(substr(strings,1,2)=="g.")) stop("all arguments must be genomic HGVS strings") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
105 bodies <- substr(strings,3,nchar(strings)) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
106 paste0("g.[",paste(bodies,collapse=";"),"]") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
107 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
108 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
109 trans <- function(...) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
110 strings <- list(...) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
111 if (!all(sapply(strings,is.character))) stop("all arguments must be HGVS strings") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
112 strings <- unlist(strings) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
113 if (!all(substr(strings,1,2)=="g.")) stop("all arguments must be genomic HGVS strings") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
114 bodies <- substr(strings,3,nchar(strings)) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
115 paste0("g.[",paste(bodies,collapse="];["),"]") |
|
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 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
118 nophase <- function(...) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
119 strings <- list(...) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
120 if (!all(sapply(strings,is.character))) stop("all arguments must be HGVS strings") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
121 strings <- unlist(strings) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
122 if (!all(substr(strings,1,2)=="g.")) stop("all arguments must be genomic HGVS strings") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
123 bodies <- substr(strings,3,nchar(strings)) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
124 paste0("g.[",paste(bodies,collapse="(;)"),"]") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
125 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
126 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
127 return(structure(list( |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
128 substitution=substitution, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
129 deletion=deletion, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
130 inversion=inversion, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
131 duplication=duplication, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
132 insertion=insertion, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
133 delins=delins, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
134 cis=cis, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
135 trans=trans, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
136 nophase=nophase |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
137 ),class="hgvs.builder.g")) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
138 } |
|
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 print.hgvs.builder.g <- function() { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
141 cat("Genomic HGVS string builder. Use $ operator to access functions.") |
|
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 |
|
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 #' Coding Sequence HGVS Builder |
|
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 #' A constructor for a CDS (=coding sequence) HGVS builder object. The object contains a collection of functions |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
149 #' for building CDS HGVS strings. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
150 #' The resulting object encapsulates the following functions: |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
151 #' \itemize{ |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
152 #' \item{substitution(pos,ancestral,variant,posOffset=0)} CDS substitution variants. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
153 #' pos = position (integer); ancestral = ancestral nucleotide [ACGT]; |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
154 #' variant = variant nucleotide [ACGT]; posOffset = offset from the position when |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
155 #' crossing exon-intron borders (integer, defaults to 0) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
156 #' \item{deletion(start,stop,startOffset=0,stopOffset=0)} CDS deletion. start = start position (integer); |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
157 #' stop = stop position (integer); startOffset = offset from the start position when |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
158 #' crossing exon-intron borders (integer, defaults to 0); stopOffset = offset from the |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
159 #' stop position when crossing exon-intron borders (integer, defaults to 0) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
160 #' \item{inversion(start,stop,startOffset=0,stopOffset=0)} CDS inversion. start = start position (integer); |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
161 #' stop = stop position (integer); startOffset = offset from the start position when |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
162 #' crossing exon-intron borders (integer, defaults to 0); stopOffset = offset from the |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
163 #' stop position when crossing exon-intron borders (integer, defaults to 0) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
164 #' \item{duplication(start,stop,startOffset=0,stopOffset=0)} CDS duplication. start = start position (integer); |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
165 #' stop = stop position (integer); startOffset = offset from the start position when |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
166 #' crossing exon-intron borders (integer, defaults to 0); stopOffset = offset from the |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
167 #' stop position when crossing exon-intron borders (integer, defaults to 0) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
168 #' \item{insertion(start,variant,startOffset=0)} CDS insertion. start = position immediately preceeding |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
169 #' the insertion (integer); seq = inserted nucleotide sequence [ACGT]+ ; |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
170 #' startOffset = offset from the start position when crossing exon-intron borders |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
171 #' (integer, defaults to 0) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
172 #' \item{delins(start,stop,variant,startOffset=0,stopOffset=0)} CDS deletion and insertion. start = start position (integer); |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
173 #' stop = stop position relative to the reference (integer); |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
174 #' seq = inserted nucleotide sequence [ACGT]+ ; startOffset = offset from the start position when |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
175 #' crossing exon-intron borders (integer, defaults to 0); stopOffset = offset from the |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
176 #' stop position when crossing exon-intron borders (integer, defaults to 0) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
177 #' \item{cis(...)} Multi-variant phased in cis. Parameters are coding HGVS strings for the |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
178 #' corresponding single mutants |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
179 #' \item{trans(...)} Multi-variant phased in trans. Parameters are coding HGVS strings for the |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
180 #' corresponding single mutants |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
181 #' \item{nophase(...)} Multi-variant with unknown phasing. Parameters are coding HGVS strings for the |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
182 #' corresponding single mutants |
|
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 #' @return A \code{hgvs.builder.c} object with functions for building coding HGVS strings. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
186 #' The individual functions return single-element character vectors containing these strings. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
187 #' @keywords HGVS builder |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
188 #' @export |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
189 #' @examples |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
190 #' builder <- new.hgvs.builder.c() |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
191 #' string1 <- builder$substitution(123,"A","G",posOffset=2) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
192 #' string2 <- builder$delins(123,129,"ATTG") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
193 #' string3 <- with(builder,cis(substitution(123,"A","C"),substitution(231,"G","A"))) |
|
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 new.hgvs.builder.c <- function() { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
196 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
197 offsetStr <- function(offset) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
198 if (offset==0) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
199 "" |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
200 } else if (offset > 0) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
201 paste0("+",offset) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
202 } else if (offset < 0) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
203 as.character(offset) |
|
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 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
207 substitution <- function(pos,ancestral,variant,posOffset=0) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
208 if (!is.numeric(pos) || pos < 1) stop("position must be a positive integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
209 if (!is.numeric(posOffset)) stop("offset must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
210 if (!is.character(ancestral) || !(ancestral %in% c("A","C","G","T"))) stop("ancestral must be single nucleotide") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
211 if (!is.character(variant) || !(variant %in% c("A","C","G","T"))) stop("variant must be single nucleotide") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
212 paste0("c.",pos,offsetStr(posOffset),ancestral,">",variant) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
213 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
214 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
215 deletion <- function(start,stop,startOffset=0,stopOffset=0) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
216 if (!is.numeric(start)) stop("start must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
217 if (!is.numeric(stop)) stop("stop must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
218 if (!is.numeric(startOffset)) stop("offset must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
219 if (!is.numeric(stopOffset)) stop("offset must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
220 if (start+startOffset > stop+stopOffset) stop("start must be before stop") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
221 paste0("c.",start,offsetStr(startOffset),"_",stop,offsetStr(stopOffset),"del") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
222 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
223 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
224 inversion <- function(start,stop,startOffset=0,stopOffset=0) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
225 if (!is.numeric(start)) stop("start must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
226 if (!is.numeric(stop)) stop("stop must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
227 if (!is.numeric(startOffset)) stop("offset must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
228 if (!is.numeric(stopOffset)) stop("offset must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
229 if (start+startOffset >= stop+stopOffset) stop("start must be before stop") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
230 paste0("c.",start,offsetStr(startOffset),"_",stop,offsetStr(stopOffset),"inv") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
231 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
232 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
233 duplication <- function(start,stop,startOffset=0,stopOffset=0) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
234 if (!is.numeric(start)) stop("start must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
235 if (!is.numeric(stop)) stop("stop must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
236 if (!is.numeric(startOffset)) stop("offset must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
237 if (!is.numeric(stopOffset)) stop("offset must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
238 if (start+startOffset > stop+stopOffset) stop("start must be before stop") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
239 paste0("c.",start,offsetStr(startOffset),"_",stop,offsetStr(stopOffset),"dup") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
240 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
241 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
242 insertion <- function(start,seq,startOffset=0) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
243 if (!is.numeric(start)) stop("start must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
244 if (!is.character(seq) || regexpr("^[ACGT]+$",seq) < 1) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
245 stop("variant must be nucleotide sequence") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
246 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
247 if (!is.numeric(startOffset)) stop("offset must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
248 stop <- if (startOffset != 0) start else start+1 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
249 stopOffset <- if (startOffset != 0) startOffset+1 else startOffset |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
250 paste0("c.",start,offsetStr(startOffset),"_",stop,offsetStr(stopOffset),"ins",seq) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
251 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
252 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
253 delins <- function(start,stop,seq,startOffset=0,stopOffset=0) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
254 if (!is.numeric(start)) stop("start must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
255 if (!is.numeric(stop)) stop("stop must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
256 if (!is.numeric(startOffset)) stop("offset must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
257 if (!is.numeric(stopOffset)) stop("offset must be an integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
258 if (start+startOffset > stop+stopOffset) stop("start must be before stop") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
259 if (!is.character(seq) || regexpr("^[ACGT]+$",seq) < 1) stop("variant must be nucleotide sequence") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
260 paste0("c.",start,offsetStr(startOffset),"_",stop,offsetStr(stopOffset),"delins",seq) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
261 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
262 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
263 cis <- function(...) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
264 strings <- list(...) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
265 if (!all(sapply(strings,is.character))) stop("all arguments must be HGVS strings") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
266 strings <- unlist(strings) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
267 if (!all(substr(strings,1,2)=="c.")) stop("all arguments must be coding HGVS strings") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
268 bodies <- substr(strings,3,nchar(strings)) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
269 paste0("c.[",paste(bodies,collapse=";"),"]") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
270 } |
|
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 trans <- function(...) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
273 strings <- list(...) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
274 if (!all(sapply(strings,is.character))) stop("all arguments must be HGVS strings") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
275 strings <- unlist(strings) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
276 if (!all(substr(strings,1,2)=="c.")) stop("all arguments must be coding HGVS strings") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
277 bodies <- substr(strings,3,nchar(strings)) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
278 paste0("c.[",paste(bodies,collapse="];["),"]") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
279 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
280 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
281 nophase <- function(...) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
282 strings <- list(...) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
283 if (!all(sapply(strings,is.character))) stop("all arguments must be HGVS strings") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
284 strings <- unlist(strings) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
285 if (!all(substr(strings,1,2)=="c.")) stop("all arguments must be coding HGVS strings") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
286 bodies <- substr(strings,3,nchar(strings)) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
287 paste0("c.[",paste(bodies,collapse="(;)"),"]") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
288 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
289 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
290 return(structure(list( |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
291 substitution=substitution, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
292 deletion=deletion, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
293 inversion=inversion, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
294 duplication=duplication, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
295 insertion=insertion, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
296 delins=delins, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
297 cis=cis, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
298 trans=trans, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
299 nophase=nophase |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
300 ),class="hgvs.builder.c")) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
301 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
302 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
303 print.hgvs.builder.c <- function() { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
304 cat("Coding-sequence HGVS string builder. Use $ operator to access functions.") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
305 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
306 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
307 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
308 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
309 #' Protein HGVS Builder |
|
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 #' A constructor for a protein-level HGVS builder object. The object contains a collection of functions |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
312 #' for building protein HGVS strings. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
313 #' |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
314 #' The resulting object encapsulates the following functions: |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
315 #' \itemize{ |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
316 #' \item{synonymous()} A synonymous variant. No parameters required. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
317 #' \item{synonymous(pos,ancestral)} Unofficial (yet frequently used) version of synonymous variant syntax. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
318 #' pos = position (integer); ancestral = ancestral amino acid in one-letter or three-letter code. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
319 #' \item{substitution(pos,ancestral,variant)} AA substitution variants. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
320 #' pos = position (integer); ancestral = ancestral amino acid in one-letter or three-letter code; |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
321 #' variant = variant amino acid in one-letter or three-letter code |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
322 #' \item{deletion(startPos,startAA,endPos,endAA)} AA deletion. startPos = start position (integer); |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
323 #' startAA = start amino acid in one-letter or three-letter code; |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
324 #' endPos = stop position (integer); endAA = start amino acid in one-letter or three-letter code |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
325 #' \item{duplication(startPos,startAA,endPos,endAA)} AA duplication. startPos = start position (integer); |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
326 #' startAA = start amino acid in one-letter or three-letter code; |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
327 #' endPos = stop position (integer); endAA = start amino acid in one-letter or three-letter code |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
328 #' \item{insertion(leftPos,leftAA,rightAA,seq)} AA insertion. leftPos = position immediately preceeding |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
329 #' the insertion (integer); leftAA = corresponding amino acid in one-letter or three-letter code; |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
330 #' rightAA = amino acid to the right of the insertion, in one-letter or three-letter code; |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
331 #' seq = inserted amino acid sequence, given as a character vector containing the individual |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
332 #' one-letter or three-letter amino acid codes. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
333 #' \item{delins(startPos,startAA,endPos,endAA,seq)} AA deletion and insertion. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
334 #' startPos = start position (integer); |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
335 #' startAA = start amino acid in one-letter or three-letter code; |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
336 #' endPos = stop position (integer); endAA = start amino acid in one-letter or three-letter code; |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
337 #' seq = inserted amino acid sequence, given as a character vector containing the individual |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
338 #' one-letter or three-letter amino acid codes. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
339 #' \item{frameshift(startPos,startAA,variantAA=NA,newStop=NA)} Frameshift variant. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
340 #' startPos = start position (integer); |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
341 #' startAA = start amino acid in one-letter or three-letter code; |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
342 #' variantAA = amino acid replacing the start position in the frameshift sequence, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
343 #' given in one-letter or three-letter code, or \code{NA} to omit (default); |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
344 #' newStop = the position of the nearest coding resulting from the frameshift, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
345 #' or \code{NA} to omit (default). |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
346 #' \item{cis(...)} Multi-variant phased in cis. Parameters are coding HGVS strings for the |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
347 #' corresponding single mutants. As phasing in trans would be nonsensical in a protein context, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
348 #' the \code{trans()} and \code{nophase()} methods are not provided here. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
349 #' } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
350 #' |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
351 #' @return A \code{hgvs.builder.g} object with functions for building genomic HGVS strings. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
352 #' The individual functions return single-element character vectors containing these strings. |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
353 #' @keywords HGVS builder |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
354 #' @export |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
355 #' @examples |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
356 #' builder <- new.hgvs.builder.g() |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
357 #' string1 <- builder$substitution(123,"R","K") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
358 #' string2 <- builder$delins(123,"Arg",152,"Leu",c("Lys","Trp","Ser")) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
359 #' string3 <- with(builder,cis(substitution(123,"R","K"),deletion(125,"S",152,"L"))) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
360 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
361 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
362 new.hgvs.builder.p <- function(aacode=c(1,3)) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
363 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
364 aacode <- aacode[[1]] |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
365 if (!is.numeric(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
|
366 stop("Invalid aacode parameter, only 1 or 3 allowed!") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
367 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
368 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
369 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
|
370 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
|
371 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
|
372 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
|
373 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
|
374 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
|
375 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
376 enforceCode <- function(aa) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
377 if (aa %in% one2three) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
378 if (aacode == 1) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
379 three2one[[aa]] |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
380 } else { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
381 aa |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
382 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
383 } else if (aa %in% three2one) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
384 if (aacode == 1) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
385 aa |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
386 } else { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
387 one2three[[aa]] |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
388 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
389 } else { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
390 stop("Invalid AA code") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
391 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
392 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
393 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
394 synonymous <- function(pos=NULL,ancestral=NULL) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
395 if (is.null(pos) || is.null(ancestral)) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
396 return("p.=") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
397 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
398 if (!is.numeric(pos) || pos < 1) stop("position must be a positive integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
399 if (!is.character(ancestral) || !(ancestral %in% c(one2three,three2one))) stop("ancestral must be single amimo acid") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
400 ancestral <- enforceCode(ancestral) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
401 paste0("p.",ancestral,pos,"=") |
|
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 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
404 substitution <- function(pos,ancestral,variant) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
405 if (!is.numeric(pos) || pos < 1) stop("position must be a positive integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
406 if (!is.character(ancestral) || !(ancestral %in% c(one2three,three2one))) stop("ancestral must be single amimo acid") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
407 if (!is.character(variant) || !(variant %in% c(one2three,three2one))) stop("variant must be single amino acid") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
408 ancestral <- enforceCode(ancestral) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
409 variant <- enforceCode(variant) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
410 paste0("p.",ancestral,pos,variant) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
411 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
412 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
413 deletion <- function(startPos,startAA,endPos,endAA) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
414 if (!is.numeric(startPos) || startPos < 1) stop("position must be a positive integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
415 if (!is.numeric(endPos) || endPos < 1) stop("position must be a positive integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
416 if (startPos > endPos) stop("start must be upstream of stop") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
417 if (!is.character(startAA) || !(startAA %in% c(one2three,three2one))) stop("startAA must be single amimo acid") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
418 if (!is.character(endAA) || !(endAA %in% c(one2three,three2one))) stop("endAA must be single amimo acid") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
419 startAA <- enforceCode(startAA) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
420 endAA <- enforceCode(endAA) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
421 if (startPos==endPos) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
422 paste0("p.",startAA,startPos,"del") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
423 } else { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
424 paste0("p.",startAA,startPos,"_",endAA,endPos,"del") |
|
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 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
427 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
428 duplication <- function(startPos,startAA,endPos,endAA) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
429 if (!is.numeric(startPos) || startPos < 1) stop("position must be a positive integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
430 if (!is.numeric(endPos) || endPos < 1) stop("position must be a positive integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
431 if (startPos >= endPos) stop("start must be upstream of stop") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
432 if (!is.character(startAA) || !(startAA %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
|
433 stop("startAA must be single amimo acid") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
434 if (!is.character(endAA) || !(endAA %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
|
435 stop("endAA must be single amimo acid") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
436 startAA <- enforceCode(startAA) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
437 endAA <- enforceCode(endAA) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
438 paste0("p.",startAA,startPos,"_",endAA,endPos,"dup") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
439 } |
|
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 insertion <- function(leftPos,leftAA,rightAA,seq) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
442 if (!is.numeric(leftPos) || leftPos < 1) stop("position must be a positive integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
443 if (!is.character(leftAA) || !(leftAA %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
|
444 stop("leftAA must be single amimo acid") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
445 if (!is.character(rightAA) || !(rightAA %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
|
446 stop("rightAA must be single amimo acid") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
447 if (!is.character(seq) || !all(sapply(seq,function(x) x %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
|
448 stop("seq must be a vector of amino acids") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
449 rightPos <- leftPos+1 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
450 leftAA <- enforceCode(leftAA) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
451 rightAA <- enforceCode(rightAA) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
452 seq <- paste(sapply(seq,enforceCode),collapse="") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
453 paste0("p.",leftAA,leftPos,"_",rightAA,rightPos,"ins",seq) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
454 } |
|
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 delins <- function(startPos,startAA,endPos,endAA,seq) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
457 if (!is.numeric(startPos) || startPos < 1) stop("position must be a positive integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
458 if (!is.numeric(endPos) || endPos < 1) stop("position must be a positive integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
459 if (startPos > endPos) stop("start must be upstream of stop") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
460 if (!is.character(startAA) || !(startAA %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
|
461 stop("startAA must be single amimo acid") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
462 if (!is.character(endAA) || !(endAA %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
|
463 stop("endAA must be single amimo acid") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
464 if (!is.character(seq) || !all(sapply(seq,function(x) x %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
|
465 stop("seq must be a vector of amino acids") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
466 startAA <- enforceCode(startAA) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
467 endAA <- enforceCode(endAA) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
468 seq <- paste(sapply(seq,enforceCode),collapse="") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
469 paste0("p.",startAA,startPos,"_",endAA,endPos,"delins",seq) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
470 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
471 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
472 frameshift <- function(startPos,startAA,variantAA=NA,newStop=NA) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
473 if (!is.numeric(startPos) || startPos < 1) stop("position must be a positive integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
474 if (!is.na(newStop) && (!is.numeric(newStop) || newStop < 1)) stop("position must be a positive integer") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
475 if (!is.character(startAA) || !(startAA %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
|
476 stop("startAA must be single amimo acid or NA") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
477 if (!is.na(variantAA) && (!is.character(startAA) || !(startAA %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
|
478 stop("variantAA must be single amimo acid or NA") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
479 startAA <- enforceCode(startAA) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
480 if (is.na(variantAA)) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
481 variantAA <- "" |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
482 } else { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
483 variantAA <- enforceCode(variantAA) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
484 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
485 if (is.na(newStop)) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
486 newStop <- "" |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
487 } else { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
488 newStop <- paste0("*",newStop) |
|
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 paste0("p.",startAA,startPos,variantAA,"fs",newStop) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
491 } |
|
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 cis <- function(...) { |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
494 strings <- list(...) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
495 if (!all(sapply(strings,is.character))) stop("all arguments must be HGVS strings") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
496 strings <- unlist(strings) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
497 if (!all(substr(strings,1,2)=="p.")) stop("all arguments must be protein HGVS strings") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
498 bodies <- substr(strings,3,nchar(strings)) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
499 paste0("p.[",paste(bodies,collapse=";"),"]") |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
500 } |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
501 |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
502 return(structure(list( |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
503 synonymous=synonymous, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
504 substitution=substitution, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
505 deletion=deletion, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
506 duplication=duplication, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
507 insertion=insertion, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
508 delins=delins, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
509 frameshift=frameshift, |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
510 cis=cis |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
511 ),class="hgvs.builder.p")) |
|
c12a4d187121
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hgvsparser/ commit f9deb29cdbd2d2a5f2f4fbd470b1078431a36ae0
iuc
parents:
diff
changeset
|
512 } |
