Ejemplo n.º 1
0
        public static IReadOnlyList <ChemicalWithData> GetSet(Dictionary <string, string> Modelinfo, TbScale ScaleDeclaration, String Set)
        {
            List <ChemicalWithData> SetList = new List <ChemicalWithData>();

            var setup = new BridgeSetup(false);

            //setup.AddAllJarsClassPath(@"B:\ToolboxAddinExamples\lib");

            setup.AddAllJarsClassPath(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location));
            Bridge.CreateJVM(setup);
            Bridge.RegisterAssembly(typeof(ChemicalinSet).Assembly);
            java.util.List list = ChemicalinSet.getDataset(Modelinfo["tag"], Set);

            if (list.size() == 0)
            {
                return(SetList);
            }

            for (int i = 0; i < list.size(); i++)
            {
                TbData        Mockdescriptordata = new TbData(new TbUnit(TbScale.EmptyRatioScale.FamilyGroup, TbScale.EmptyRatioScale.BaseUnit), new double?());
                ChemicalinSet cur_Chemical       = (ChemicalinSet)list.get(i);
                TbData        cur_exp            = (TbData)Utilities.ConvertData(cur_Chemical.getExperimental(), ScaleDeclaration, Modelinfo);
                SetList.Add(new ChemicalWithData(cur_Chemical.getCAS(), new[] { "N.A." }, cur_Chemical.getSmiles(),
                                                 new TbDescribedData[] { new TbDescribedData(Mockdescriptordata, null) },
                                                 new TbDescribedData(cur_exp, null)));
            }
            return(SetList);
        }
Ejemplo n.º 2
0
 public PredictionAddin(TbData value, TbMetadata metadata, IReadOnlyDictionary <TbObjectId, TbData> xDescriptorsValues, IReadOnlyList <ISuportingChemicals> suportingChemicals)
 {
     Value              = value;
     Metadata           = metadata;
     XDescriptorsValues = xDescriptorsValues.ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
     SuportingChemicals = suportingChemicals;
 }
Ejemplo n.º 3
0
        public ITbPrediction Predict(ITbBasket target)
        {
            target.WorkTask.TbToken.ThrowIfCancellationRequested();

            //understand how to pass scalar predictions
            TbData predictedTbData = (TbData)Calculate(target);
            // var predictedTbData = new TbData(predictedScalarData.Unit, predictedScalarData.Value);
            //var targetLogKow =
            //    target.WorkTask.CalcService.CalculateParameter(_logKowDescriptor.Descriptor, null, target);
            //mock descriptor
            Dictionary <string, string> ModelPred = this.RetrieveModelPreD(target, Modelinfo);

            TbData Mockdescriptordata = new TbData(new TbUnit(TbScale.EmptyRatioScale.FamilyGroup, TbScale.EmptyRatioScale.BaseUnit), new double?());
            //TODO pack additional metadata into an unique object and then predicton probably will be faster

            Dictionary <string, string> AdditionalMetadata = new Dictionary <string, string>()
            {
                {
                    "Guide name",

                    this.Modelinfo["GuideUrl"]
                }
            };

            if (ModelPred.ContainsKey("assessment"))
            {
                AdditionalMetadata.Add("Assessment", ModelPred["assessment"]);
            }
            if (ModelPred.ContainsKey("assessment_verbose"))
            {
                AdditionalMetadata.Add("Brief Explanation", ModelPred["assessment_verbose"]);
            }
            if (ModelPred.ContainsKey("Similar_molecules_smiles"))
            {
                AdditionalMetadata.Add("Analogues' SMILES", ModelPred["Similar_molecules_smiles"]);
            }
            //if (Modelinfo.ContainsKey("QMRFlink"))
            //    AdditionalMetadata.Add("QMRF", Modelinfo["QMRFlink"]);
            //if (Modelinfo.ContainsKey("Lambda"))
            //{
            // AdditionalMetadata.Add("Lambda", double.Parse(this.Modelinfo["Lambda"], CultureInfo.InvariantCulture).ToString());

            //}
            Dictionary <TbObjectId, TbData> matrixdescriptorvalues = new Dictionary <TbObjectId, TbData>()
            {
                {
                    this.objectId,
                    Mockdescriptordata
                }
            };
            //run method Retrieve ADI, to retrieve all adi indexes
            Dictionary <string, TbData> ADImetadata = this.RetrieveAdi(target, Modelinfo);
            TbMetadata metadata = new TbMetadata((IReadOnlyDictionary <string, string>)AdditionalMetadata, (IReadOnlyDictionary <string, TbData>)ADImetadata);

            //return new PredictionAddin(predictedTbData, predictionDescription, xData);
            return(new PredictionAddin(predictedTbData, metadata, matrixdescriptorvalues, null));
        }