scholarly journals BioThings SDK: a toolkit for building high-performance data APIs in biomedical research

2021 ◽  
Author(s):  
Sebastien Lelong ◽  
Xinghua Zhou ◽  
Cyrus Afrasiabi ◽  
Zhongchao Qian ◽  
Marco A Cano ◽  
...  

To meet the increased need of making biomedical resources more accessible and reusable, Web APIs or web services have become a common way to disseminate knowledge sources. The BioThings APIs are a collection of high-performance, scalable, annotation as a service APIs that automate the integration of biological annotations from disparate data sources. This collection of APIs currently includes MyGene.info, MyVariant.info, and MyChem.info for integrating annotations on genes, variants, and chemical compounds, respectively. These APIs are used by both individual researchers and application developers to simplify the process of annotation retrieval and identifier mapping. Here, we describe the BioThings Software Development Kit (SDK), a generalizable and reusable toolkit for integrating data from multiple disparate data sources and creating high-performance APIs. This toolkit allows users to easily create their own BioThings APIs for any data type of interest to them, as well as keep APIs up-to-date with their underlying data sources. Availability and implementation: The BioThings SDK is built in Python and released via PyPI (https://pypi.org/project/biothings/). Its source code is hosted at its github repository (https://github.com/biothings/biothings.api).

Author(s):  
Nuno Laranjeiro ◽  
Marco Vieira

Web services are increasingly being used in business critical environments as a mean to provide a service or integrate distinct software services. Research indicates that, in many cases, services are deployed with robustness issues (i.e., displaying unexpected behaviors when in presence of invalid input conditions). Recently, Test-Driven Development (TDD) emerged as software development technique based on test cases that are defined before development, as a way to validate functionalities. However, programmers typically disregard the verification of limit conditions, such as the ones targeted by robustness testing. Moreover, in TDD, tests are created before developing the functionality, conflicting with the typical robustness testing approach. This chapter discusses the integration of robustness testing in TDD for improving the robustness of web services during development. The authors requested three programmers to create a set of services based on open-source code and to implement different versions of the services specified by TPC-App, using both TDD and the approach presented in this chapter. Results indicate that TDD with robustness testing is an effective way to create more robust services.


Author(s):  
Nuno Laranjeiro ◽  
Marco Vieira

Web services are increasingly being used in business critical environments as a mean to provide a service or integrate distinct software services. Research indicates that, in many cases, services are deployed with robustness issues (i.e., displaying unexpected behaviors when in presence of invalid input conditions). Recently, Test-Driven Development (TDD) emerged as software development technique based on test cases that are defined before development, as a way to validate functionalities. However, programmers typically disregard the verification of limit conditions, such as the ones targeted by robustness testing. Moreover, in TDD, tests are created before developing the functionality, conflicting with the typical robustness testing approach. This chapter discusses the integration of robustness testing in TDD for improving the robustness of web services during development. The authors requested three programmers to create a set of services based on open-source code and to implement different versions of the services specified by TPC-App, using both TDD and the approach presented in this chapter. Results indicate that TDD with robustness testing is an effective way to create more robust services.


2008 ◽  
Vol 16 (4) ◽  
pp. 315-327 ◽  
Author(s):  
Benjamin A. Allan ◽  
Boyana Norris ◽  
Wael R. Elwasif ◽  
Robert C. Armstrong

In high-performance scientific software development, the emphasis is often on short time to first solution. Even when the development of new components mostly reuses existing components or libraries and only small amounts of new code must be created, dealing with the component glue code and software build processes to obtain complete applications is still tedious and error-prone. Component-based software meant to reduce complexity at the application level increases complexity to the extent that the user must learn and remember the interfaces and conventions of the component model itself. To address these needs, we introduce Bocca, the first tool to enable application developers to perform rapid component prototyping while maintaining robust software-engineering practices suitable to HPC environments. Bocca provides project management and a comprehensive build environment for creating and managing applications composed of Common Component Architecture components. Of critical importance for high-performance computing (HPC) applications, Bocca is designed to operate in a language-agnostic way, simultaneously handling components written in any of the languages commonly used in scientific applications: C, C++, Fortran, Python and Java. Bocca automates the tasks related to the component glue code, freeing the user to focus on the scientific aspects of the application. Bocca embraces the philosophy pioneered by Ruby on Rails for web applications: start with something that works, and evolve it to the user's purpose.


Author(s):  
Yang-Ju Son ◽  
Ji Min Shin ◽  
In Jin Ha ◽  
Saruul Erdenebileg ◽  
Da Seul Jung ◽  
...  

Artemisia gmelinii Web. ex Stechm. (AG), a popular medicinal herb in Asia, has been used as a common food ingredient in Korea and is traditionally known for its anti-inflammatory properties. Therefore, in this study, we aimed to investigate whether AG relieves IBD, a classic chronic inflammatory disease of the gastrointestinal tract. We identified 35 chemical compounds in AG ethanol extract using ultra-high-performance liquid chromatography-quadrupole time-of-flight tandem mass spectrometry. In mice with DSS-induced IBD, AG administration attenuated the disease activity index and the serum and colonic levels of inflammatory cytokines and chemokines. AG treatment decreased nuclear factor-[Formula: see text]B (NF-[Formula: see text]B) signaling, a key mediator of inflammation, in the mouse colons. Additionally, AG extract enhanced immune responses in lymphoid tissues such as spleen and Peyer’s patches. Thus, AG consumption potently ameliorated IBD symptoms and improved immune signaling in lymphoid tissues.


2012 ◽  
Vol 263-266 ◽  
pp. 1961-1968
Author(s):  
Yong Chao Song ◽  
Bu Dan Wu ◽  
Jun Liang Chen

According to the feature of the JBPM workflow system development, the target code generated is determined by analyzing the process of JBPM workflow development and the architecture of J2EE. The code generation tool generates code by parsing the static form source code and loading the code generation template. The code generation tool greatly shortens the JBPM workflow system development cycle and reduces the cost of software development which has the good practicality and scalability.


Sign in / Sign up

Export Citation Format

Share Document