From 5ac65003bdc2301c0fbb9f0df7c70538062c36cc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Todor=20Kondi=C4=87?= <todor.kondic@uni.lu>
Date: Mon, 18 May 2020 06:27:03 +0200
Subject: [PATCH] mix: Add calc_mz_from_smiles

* R/mix.R(calc_mz_from_smiles): New function.
---
 R/mix.R | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/R/mix.R b/R/mix.R
index da6e54d..3386aa2 100644
--- a/R/mix.R
+++ b/R/mix.R
@@ -76,6 +76,20 @@ calc_mz_from_formula <- function(chform,adduct,id) {
     dt
 }
 
+calc_mz_from_smiles <- function(smiles,adduct,id) {
+    mol <- try(getMolecule(smiles), silent = T)
+    mol <- lapply(smiles,function(s) try(RMassBank::getMolecule(s), silent = T))
+    check <- which(is.atomic(mol))
+    if (length(check) > 0)
+        stop("Errors in SMILES with IDs:",paste(id[which],collapse = T))
+
+    mol_form <- sapply(mol,function(x) (rcdk::get.mol2formula(x))@string,USE.NAMES = F)
+    names(mol_form) <- id
+    calc_mz_from_formula(mol_form,adduct,id)
+    
+    
+}
+
     
     
     
-- 
GitLab