I developed a software I needed as a beginner programmer with Python

Ugur Comlekcioglu (PhD)
4 min readMay 30, 2022

As a scientist, it is routine to design experiments and collect and analyze data from these experiments. Solving the problems, you encounter in these experiments and developing new methods are essential skills for a scientist. In this context, as a scientist, Python has become a crucial tool for me to use in my laboratory work. Python is an excellent tool for analyzing and visualizing data. It is also possible to perform statistical analyzes with Python’s statistical libraries. In addition to these, I can use Python not only for data analysis but also to develop various software that can help me in the lab. The great thing with Python is that I can do all this without a professional developer.

The biggest reason I use Python is that Python codes are understandable and intuitive. I can access all kinds of information from the internet while coding, and I can find answers to the problems I encounter. Apart from analyzing my data, I also started using Python to produce software that would facilitate some of my work in the lab. I developed my first software for an easy but needed a lot job in the lab.

Solutions are used a lot in studies in the field of microbiology, molecular biology and biochemistry. Calculations are necessary for the preparation of various solutions, including buffer solutions. The accuracy of these calculations and the precision of solutions are essential for the correct operation of experiments. I developed a small software, ATLaS, to prevent miscalculations in this context. You can access the codes of ATLaS on Github. Also, I published a paper about ATLaS, and you can access the article in Technical Journal or Researchgate.

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 flowchart used in the development of ATLaS.

As an example, the calculations required for preparing 0.5 M and 0.5 N phosphoric acid solutions are shown in the application in the figure below. The “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.

Acid and base solution module (A), Excel file called from ATLaS (B) and Normal Calculation output ©

As seen in the figure, 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 with more understandable laboratory instructions. For this, the calculated values ​​are assigned to the defined variables and placed in the codes containing instructions.

It is essential that experiments are analyzed in a reproducible manner. Computational research software systems allow for the standardization of analysis pipelines, thus enabling the scientific studies repeatable in different laboratories. As scientists, we need assistant software that will standardize laboratory protocols and calculations. Therefore, I plan to develop a more comprehensive software that I can use as an assistant in various jobs in the laboratory by adding new modules to ATLaS.

You can follow me from Medium on my journey to data analysis and software development with Python.

--

--

Ugur Comlekcioglu (PhD)

I share my data analysis and software development journey with Python. You can also find articles about the environment, critical thinking and education here.