Пример #1
0
        private static eUtils.eSearchResult GetSearchResults(string db, string myQuery, eUtils.eUtilsServiceSoapClient serv, eUtils.eSearchResult searchResult = null)
        {
            eUtils.eSearchRequest req = new eUtils.eSearchRequest();

            //req.db = "pmc";
            req.term = HttpUtility.UrlEncode(myQuery);
            //req.RetMax = "100000";
            req.RetMax = "1000";
            req.db = db;
            req.usehistory = "y";
            if (searchResult != null)
            {
                int current = (int.Parse(searchResult.RetStart) + int.Parse(searchResult.RetMax));
                if (current >= int.Parse(searchResult.Count))
                    return null;
                req.RetStart = current.ToString();
                req.WebEnv = searchResult.WebEnv;
            }

            eUtils.eSearchResult res = serv.run_eSearch(req);
            req.WebEnv = res.WebEnv;
            req.QueryKey = res.QueryKey;
            return res;
        }
Пример #2
0
        public string bustaTextual(String termo)
        {
            StringBuilder builder = new StringBuilder();
            StringBuilder builderFinal = new StringBuilder();
            string retorno = "";
            try
            {
                eUtils.eUtilsServiceSoapClient serv = new eUtils.eUtilsServiceSoapClient();
                // call NCBI ESearch utility
                // NOTE: search term should be URL encoded
                String inicio = "0";
                Boolean teste = true;
                int qnt = 0;
                int qntfound = 0;

                do{
                     eUtils.eSearchRequest req = new eUtils.eSearchRequest();
                     req.db = "nuccore";
                     req.term = termo.Replace(" " ,"+");
                     req.RetStart = inicio;
                     req.RetMax = "100000";
                     eUtils.eSearchResult res = serv.run_eSearch(req);
                     qntfound = Convert.ToInt32(res.Count);
                     qnt = qnt + res.IdList.Length;
                     if (qnt == qntfound)
                     {
                         builder.Clear();
                         int cont = 0;
                         for (int x = 0; x < res.IdList.Length; x++)
                         {
                             if (cont == 500)
                             {

                                 builderFinal.Append(getStringPost(createURL(builder.ToString(), "nuccore")));
                                 richTextBox1.Text += builderFinal.ToString();

                                 builderFinal.Clear();
                                 builder.Clear();
                                 cont = 0;
                             }
                             else
                             {
                                 builder.Append(res.IdList[x] + ",");
                                 cont++;
                             }

                         }

                         teste = false;
                     }
                     else
                     {
                         builder.Clear();
                         int cont = 0;
                         for (int x = 0; x < res.IdList.Length; x++)
                         {

                             if (cont == 500)
                             {

                                     builderFinal.Append(getStringPost(createURL(builder.ToString(), "nuccore")));
                                     richTextBox1.Text += builderFinal.ToString();

                                 builderFinal.Clear();
                                 builder.Clear();
                                 cont = 0;
                             }
                             else
                             {
                                 builder.Append(res.IdList[x] + ",");
                                 cont++;
                             }

                         }

                         }

                         inicio = Convert.ToString(Convert.ToInt32(inicio) + 100000);

                }while(teste);

                MessageBox.Show(Convert.ToString(qntfound) + " Id`s Encontrados e armazanados em Buffer... \n Clique em OK para MOstrar as sequências");

                 retorno = builderFinal.ToString();
                 return retorno;
            }
            catch (Exception eee)
            {
                textBox1.Text = eee.ToString();
                return retorno;
            }
        }