Пример #1
0
        public static IReadOnlyList <ChemicalWithData> getSet(Dictionary <string, string> Modelinfo, TbScale ScaleDeclaration, string set)
        {
            TbUnit qsarunit = new TbUnit(ScaleDeclaration.Name, Modelinfo["Unit"]);
            List <ChemicalWithData> DataSet = new List <ChemicalWithData>();

            List <Dictionary <string, string> > ChemicalsDict = CSVtoDict(Modelinfo);

            foreach (Dictionary <string, string> ChemicalDict in ChemicalsDict)
            {
                int    Cas          = Convert.ToInt32(string.Join(null, System.Text.RegularExpressions.Regex.Split(ChemicalDict["CAS"], "[^\\d]")));
                string name         = ChemicalDict["ID"];
                string smiles       = ChemicalDict["SMILES"];
                string SetInfo      = ChemicalDict["Set"];
                double Experimental = double.Parse(ChemicalDict["Exp"], CultureInfo.InvariantCulture);

                if (SetInfo == set)
                {
                    ChemicalWithData chemical = new ChemicalWithData(Cas, new[] { name }, smiles,
                                                                     new[] { new TbDescribedData(new TbData(qsarunit, new double?()), null) },
                                                                     new TbDescribedData(new TbData(qsarunit, Experimental), null));

                    DataSet.Add(chemical);
                }
            }
            return(DataSet);
        }
Пример #2
0
 public QsarAddin(Dictionary <string, string> Modelinfo, TbScale ScaleDeclaration, TbObjectId objectId)
 {
     this.Modelinfo        = Modelinfo;
     this.ScaleDeclaration = ScaleDeclaration;
     this.objectId         = objectId;
     //CHANGED TO UNITNAME, not anymore log units
     this.qsarUnit = new TbUnit(ScaleDeclaration.Name, Modelinfo["UnitName"]);
 }