ATLaS: Assistant Software for Life Scientists to Use in Calculations of Buffer Solutions

: Many solutions such as percentage, molar and buffer solutions are used in all experiments conducted in life science laboratories. Although the preparation of the solutions is not difficult, miscalculations that can be made during intensive laboratory work negatively affect the experimental results. In order for the experiments to work correctly, the solutions must be prepared completely correctly. In this project, a software, ATLaS (Assistant Toolkit for Laboratory Solutions), has been developed to eliminate solution errors arising from calculations. Python programming language was used in the development of ATLaS. Tkinter and Pandas libraries were used in the program. ATLaS contains five main modules (1) Percent Solutions, (2) Molar Solutions, (3) Acid - Base Solutions, (4) Buffer Solutions and (5) Unit Converter. Main modules have sub - functions within themselves. With PyInstaller, the software was converted into a stand - alone executable file. The source code of ATLaS is available at https://github.com/cugur1978/ATLaS.


INTRODUCTION
There is a high demand for computer-based support for diverse scientific research, but the software that suits the need cannot always be found [1,2]. While researchers lack the necessary programming skills to develop the required software, software developers are generally unfamiliar with scientific research [3]. Although it is necessary to conduct interdisciplinary studies to solve this problem, it is important to train software developers who are experts in certain scientific fields [4,5]. Because the cooperation to be achieved by the design, development and distribution of free software by scientists will enable researchers to spend more time on their research [6].
Using programming languages such as C++, Python, Fortran or Pearl, a variety of software, pipelines and packages have been developed to meet all analysis demands of scientific or industrial researchers. Examples of these software include BioCoder [7], Tellurium [8], Biotite [9]. Various web-based tools allow researchers to handle their studies outside of the command-line environment; however, these programs need a stable internet connection and thus hinder offline analysis. Internet-free software with a graphical user interface (GUI) has greatly helped researchers in their work [10].
Python is an interpreted, object-oriented, open-source language, has possibly become the actual standard for investigative, interactive, and computation-driven scientific research [11]. Its ease of learning and use combined with the open-source nature of the language make it an ideal platform for scientific computing [8]. Python help develop computational research tools by providing a balance of clarity and flexibility without decreasing performance [12]. Python stands out with its scientific libraries as well as features such as object oriented and functional programming [13]. Scientific softwares use of a very rich available collection of scientific libraries such as SciPy, NumPy, and Matplotlib. SciPy, for example, has become the de facto standard for leveraging scientific algorithms in Python, with over 600 unique code contributors, thousands of dependent packages, more than 100,000 dependent repositories [14].
In scientific applications, requirements can vary greatly, from basic scripts for usual data analysis with pre-existing toolkits and software to complex general-purpose structures that search to automate and facilitate a wide variety of computational jobs [15]. The place of experimental study in laboratories has always supposed a high profile at all levels of science. However, errors in laboratory experiments can occur in any step of the process. Casadevall et al. [16] reported that more than half of all error-related retractions were attributed to laboratory error. Experimental errors have negative effects in terms of cost, time and effort. In addition, insufficient description of materials and methods limits the reproducibility of the scientific researches [17]. Methods reproducibility mentions to the providing of adequate detail about study protocols and data so the same protocols could, in theory or in actuality, be completely repeated [18]. Protocols need to be highly detailed in order to reduce experimental errors and increase the reproducibility of experiments. However, methods in the literature are usually given without a detailed and complete account of procedures [7].
In this study, we are introducing a stand-alone software ATLaS (Assistant Toolkit for Laboratory Solutions), which is an assistant toolkit that includes basic and widespread calculations of solutions with a user-friendly GUI. This toolkit developed to save time and energy of wet-lab researchers from various calculations of preparing solutions. Additionally, the purpose of this software is to minimize calculation errors in solution preparation in experiments. The code of ATLaS is open, where the software's code could be altered, enhanced or combined in various laboratory softwares. ATLaS is a basic package software that carries out a range of calculations to prepare various solutions for a variety of scientific experiments. Considering that not every laboratory has access to the internet, ATLaS is intended to be software independent from the internet.

IMPLEMENTATION
ATLaS is platform-independent software that can be run under all operating systems. The code of the software has been licensed under MIT and freely available at https://github.com/cugur1978/ATLaS. ATLaS was developed using Python 3.8.5, an interpreted object-oriented high-level programming language that has become broadly adopted in the scientific community due to its clean and open syntax with uncomplicated semantics that make it instinctive to learn, active developer community and free availability [19,20]. Additionally, Python is very beneficial while building a prototype more quickly with less code. PyCharm 2020.3.2 was used as the coding editor. PyCharm offers a smart code editor and a powerful graphical debugger [21]. Tkinter package is very useful to construct the GUI that contain components such as windows, list boxes, entries etc. Tkinter supplies usability to link codes and functions by pressing buttons and show the output in a variety of options determined by the developer [22].
Modularization is the process of organizing the code into reusable and parametrizable components. Modularization prevents errors, makes code more readable and testable, and simplifies code reuse over redundant duplication [15]. Therefore, ATLaS is designed to consist of 5 main modules. Functions are placed in these modules. A function is a block of code that expresses the solution to a small, independent problem or task. Structuring a program by functions also helps with the modularity and interpretability of the program code and ultimately simplifies the debugging process -an important consideration in all programming projects [19]. The modules used in the calculation of percent and molar solutions contain 3 functions each. These functions perform (1) calculation of percent/molar solutions, (2) dilution and (3) percent/molar conversions. Chemicals in Acid & Base and Buffer Modules are presented to the user as a list. Information such as empirical formula, formula weight of these chemicals are saved in Microsoft Excel files. ATLaS makes calculations by calling these values from the Excel files. Unit Converter module performs concentration conversions under volume, mass and density options. PyInstaller was used to convert ATLaS to a standalone executable software. PyInstaller gathers packages accessed in python software and assemblies locally installed packages in the directory where the application can find the packages in this directory and take the required function from these packages in place of the function in the system. The flow chart used in the design of the software is given in Fig. 1.

RESULTS AND DISCUSSION
The research in life science laboratories requires a diverse collection of software tools. These tools range from laboratory equipment software to data analysis software, and custom software developed to handle the relatively numerous calculations. Researchers increasingly depend on these tools to handle complicated laboratory protocols. Ultimately, research needs in laboratory motivated us to develop an assistant toolkit called ATLaS. The goal of ATLaS is to assist wet-lab scientist with various domains in life science laboratory researches. The benefits it provides at a functional level are unified functions, interface simplicity and efficient usage. Solution calculator is the first domain in ATLaS. We developed a calculator for preparing solutions in experimental studies. In this software, we focused our attention on reducing calculation errors in solution preparation by researchers. Thus, this domain allows researchers to prevent time, labor and financial losses by hindering experimental errors raised from faulty calculations in solution preparation. Although solution calculations are made on various websites on the Internet, not every site can meet all the calculations needed. For this reason, the researcher may have to navigate various sites to make the calculation he/she wants. In addition, the lab may not have stable internet access or internet connection speeds may be low. ATLaS collects the calculations that may be needed while preparing solutions by life scientists in a single software. It does not require internet connection with its stands-alone structure. The versatility of a program comes from the variety of functions it has. ATLaS includes 10 functions under 5 modules. Since the documentation will become more important in software development, modules and the overall functions of ATLaS were illustrated in the user manual and available at https://github.com/cugur1978/ ATLaS/blob/main/ATLaS_User_Manuel.pdf The modular development of ATLaS provided an advantage in debugging. The modules written separately were brought together after the errors were corrected. In this way, the codes can be read more easily for those who want to develop ATLaS by cloning. A good GUI makes an application intuitive and easy to use. Tkinter, which is default graphical user interface widget set for Python, was used for GUI. Tkinter was selected because of its availability on all operating systems [23]. Graphical user interfaces allow the user to send information into the program without accessing the code [24]. One of our main purposes was that the GUI of ATLaS had a simple interface. It can be confusing to present all parameters in a single interface, so ATLaS is designed modularly. Thus, even the first person to use the program can make calculations without difficulty.
Scientific software developed by researchers typically appeals to a very narrow audience [25]. Effective scientific software should be coded to meet the needs of the researcher over a long period. Scientific software may produce the intended results in developers hands, however, the potential new user may not benefit in a similar manner. In order to enable ATLaS be flexible enough to adapt to a variety of laboratories, chemical information did not inserted into the codes. Taking into account the difference of the solutions or chemicals needed in different laboratories, ATLaS allows the researcher to create a chemical database in Acid-Base and Buffer solution modules. The information in these modules is called from the Microsoft Excel file located in the same folder as ATLaS. Python language uses the Pandas library for processing spreadsheet-format data such as Excel and therefore to read the data in Excel files, Pandas library was imported to ATLaS. If the researcher enters the information of the chemicals required, depending on the format in the Excel file, ATLaS will use this information in calculations. Finally, calculation results are reported to the user as a recipe. Thus, the results were made more understandable especially for students and young researchers who start working in research laboratories. As an example, the calculations required for preparing 0.5 M and 0.5 N phosphoric acid solutions are shown in the application in Fig. 2. Acid and Base Solution module in ATLaS contains 16 acids and bases. The formulas, formula weights and equivalent values of these chemicals are called from the Excel file. The researcher could add more acid and bases to this Excel file, thus the chemical database could be expanded by the user. However, density and weight percentage values are requested from the user. This is because these values may differ according to the brands of chemicals used in laboratories. As seen in Fig. 2, when phosphoric acid is selected from the list and the relevant fields are filled, the outputs can be seen when the molarity or normality buttons are pressed. Instead of giving the calculated values directly to the user, the preparation of the solution comes as a recipe as more understandable laboratory instructions. For this, the calculated values are assigned to the defined variables and placed in the codes containing instructions.
The open-source code of ATLaS enables the developers to be able to better understand the methodology and reproduce the results. Open-source software development has had remarkable effect on scientific research. Open sharing not only enables the scientific approach through replication, validation, and error checking, sharing is the key to a sustainable forthcoming for computational research, and publishers require open-source code for reviewing the software used to generate results [26]. However, the retainability of softwares after publication is presumably the most important problem faced by scientists who develop it [27]. Additionally, version control is necessary for sustainable software development [25]. In order to overcome these issues, ATLaS uploaded to GitHub, which is a popular web-based hosting service for Git version control. GitHub provides a useful software development platform, wherein developers can upload their open-source projects. The most important issue in a repository is having a license that clearly defines the permissions and restrictions attached to the code and other files in the repository [28]. Since ATLaS was deposited in GitHub under the license of MIT, which gives permissions without limitation to use copy and modify, it is possible for other developers to develop this software.

CONCLUSIONS
We took into account "Release early, release often" as an open-source mantra, and reported the first version of ATLaS in this study. We aim to present new versions to researchers by adding different modules to ATLaS. Scientific software development is a significant need that has to be fulfilled. It is essential that experiments be analyzed in a reproducible manner. Computational research software systems allow for the standardization of analysis pipelines, thus enables the scientific studies repeatable in different laboratories.As scientists, we need assistant softwares that will standardize laboratory protocols and calculations. Development of opensource software is a collective process and therefore our expectation is that different scientists and software developers will be involved in the development of ATLaS.