diff --git a/src/clj_hgvs/repairer.cljc b/src/clj_hgvs/repairer.cljc index ec76d7d..b02faf8 100644 --- a/src/clj_hgvs/repairer.cljc +++ b/src/clj_hgvs/repairer.cljc @@ -156,6 +156,20 @@ (string/replace s #"del\d+ins" "delins") s)) +;; g.1134_1135ins(100) -> g.1134_1135insN[100] +;; r.431_432ins(5) -> r.431_432insn[5] +;; p.R78_G79ins23 -> p.R78_G79insX[23] +(defn ^:no-doc replace-unknown-repeated-seq + [s kind] + (case kind + (:genome :mitochondria :coding-dna :non-coding-dna :circular-dna) + (string/replace s #"ins\((\d+)\)$" "insN[$1]") + (:rna) + (string/replace s #"ins\((\d+)\)$" "insn[$1]") + (:protein) + (string/replace s #"ins(\d+)$" "insX[$1]") + s)) + ;; c.112GAT(14) -> c.112GAT[14] (defn ^:no-doc replace-repeated-seqs-parens1 [s kind] @@ -318,6 +332,7 @@ remove-alternative remove-inv-bases remove-del-count-from-delins + replace-unknown-repeated-seq replace-repeated-seqs-parens1 replace-repeated-seqs-parens2 remove-genomic-bases-from-protein diff --git a/test/clj_hgvs/core_test.cljc b/test/clj_hgvs/core_test.cljc index e2feeec..24657e8 100644 --- a/test/clj_hgvs/core_test.cljc +++ b/test/clj_hgvs/core_test.cljc @@ -332,6 +332,11 @@ ;; remove-del-count-from-delins "c.123_124del2insCTGA" "c.123_124delinsCTGA" + ;; replace-unknown-repeated-seq + "g.1134_1135ins(100)" "g.1134_1135insN[100]" + "r.431_432ins(5)" "r.431_432insn[5]" + "p.R78_G79ins23" "p.R78_G79insX[23]" + ;; replace-repeated-seqs-parens1 "c.112GAT(14)" "c.112GAT[14]"