From 5452759ec72d5d9b7e4f7892eb9e649b73450af4 Mon Sep 17 00:00:00 2001 From: The Open Journals editorial robot <89919391+editorialbot@users.noreply.github.com> Date: Wed, 17 Jul 2024 21:34:51 +0100 Subject: [PATCH] Creating 10.21105.joss.06831.jats --- .../paper.jats/10.21105.joss.06831.jats | 807 ++++++++++++++++++ 1 file changed, 807 insertions(+) create mode 100644 joss.06831/paper.jats/10.21105.joss.06831.jats diff --git a/joss.06831/paper.jats/10.21105.joss.06831.jats b/joss.06831/paper.jats/10.21105.joss.06831.jats new file mode 100644 index 0000000000..d06d23a7a8 --- /dev/null +++ b/joss.06831/paper.jats/10.21105.joss.06831.jats @@ -0,0 +1,807 @@ + + +
+ + + + +Journal of Open Source Software +JOSS + +2475-9066 + +Open Journals + + + +6831 +10.21105/joss.06831 + +pyQCM-BraTaDio: A tool for visualization, data mining, +and modelling of Quartz crystal microbalance with dissipation +data + + + +https://orcid.org/0000-0001-6483-9858 + +Pardi +Brandon + + + + +https://orcid.org/0000-0002-2719-9641 + +Ahmed +Syeda Tajin + + + + +https://orcid.org/0009-0005-4841-4901 + +Flores +Silvia Jonguitud + + + + +https://orcid.org/0009-0001-1462-4688 + +Flores +Warren + + + + +https://orcid.org/0000-0003-4888-7133 + +Friedt +Jean-Michel + + + + +https://orcid.org/0000-0001-7558-9399 + +Mears +Laura L. E. + + + + +https://orcid.org/0000-0002-4273-6513 + +Soto +Bernardo Yáñez + + + + +https://orcid.org/0000-0002-5209-4112 + +Eguiluz +Roberto C. Andresen + + + +* + + + +Department of Materials Science and Engineering, University +of California Merced, Merced, California 95344, United States of +America + + + + +Institute of Applied Physics, Technische Universitaet Wien, +Vienna 1030, Austria + + + + +Instituto de Física, Universidad Autónoma de San Luis +Potosí, San Luis Potosí 78000, Mexico + + + + +Health Sciences Research Institute, University of +California Merced, Merced, California 95344, United States of +America + + + + +FEMTO-ST Time & Frequency department, 26 Rue de +l’Épitaphe, 25000 Besançon, France + + + + +* E-mail: + + +19 +1 +2024 + +9 +99 +6831 + +Authors of papers retain copyright and release the +work under a Creative Commons Attribution 4.0 International License (CC +BY 4.0) +2022 +The article authors + +Authors of papers retain copyright and release the work under +a Creative Commons Attribution 4.0 International License (CC BY +4.0) + + + +Python +Quartz Crystal Microbalance with Dissipation +QCM-D +Crystal resonators +Sauerbray +thin film in liquid + + + + + + Summary +

Here, we present a Python-based software that allows for the rapid + visualization, data mining, and basic model applications of quartz + crystal microbalance with dissipation data. Our implementation begins + with a Tkinter GUI to prompt the user for all required information, + such as file name/location, selection of baseline time, and overtones + for visualization (with customization capabilities). These inputs are + then fed to a workflow that will use the baseline time to scrub and + temporally shift data using the Pandas + (McKinney + & others, 2010) and NumPy + (Harris + et al., 2020) libraries and carry out the plot options for + visualization. The last stage consists of an interactive plot, that + presents the data and allows the user to select ranges in + MatPlotLib-generated panels + (Hunter, + 2007), followed by application of data models, including + Sauerbrey, thin films in liquid, among others, that are carried out + with NumPy and SciPy + (Virtanen + et al., 2020). The implementation of this software allows for + simple and expedited data visualization and analysis, in lieu of time + consuming and labor-intensive spreadsheet analysis.

+
+ + Statement of need +

QCM-D has gained popularity in many different scientific fields due + to its experimental simplicity and versatility. QCM-D (or just QCM if + not quantifying energy losses) can be combined with a variety of + instruments for in situ complementary measurements, such as atomic + force microscopy (AFM), + (Friedt + et al., 2003) microtribometry, + (Borovsky + et al., 2019) surface plasmon resonance (SPR), + (Bailey + et al., 2002) or electrochemistry, + (Levi + et al., 2016) among others. However, one drawback rests in that + any QCM-D experiment, real-time monitoring of sensor + surface-environment generates large volumes of data entries, and + packages used to collect data do not typically possess straightforward + data visualization, data mining capabilities, and basic model + applications. Furthermore, programs associated with QCM-D data + collection and analysis are often proprietary with limited access. + There exists other open-source packages, such as RheoQCM + (Shull + et al., 2020) and pyQTM + (Johannsmann + et al., 2023), however, they focus on more complex data + modeling rather than data mining. + pyQCM-BraTaDio can serve as a complement to + these two packages. Here, we present an intuitive Python-based, + open-source software that is QCM-D manufacturer agnostic of + multi-harmonic collecting systems for (1) simple and fast data + visualization and interaction, (2) data mining and reduction, and (3) + basic model applications. The supported models include (i) Sauerbrey, + for rigid thin films, (ii) viscoelastic thin film in a Newtonian + liquid, (iii) viscoelastic thin film in air, and (iv) quartz crystal + thickness determination.

+
+ + Software interaction + +

User interface of pyQCM-BraTaDio. (1) Initialization + conditions, (2) selection of frequencies and dissipation for data + mining, visualization, and modeling, (3) interactive plotting + options for data range selection, and (4) selection of plotting + options and modeling.

+ +
+

The interaction with pyQCM-BraTaDio is via a + GUI, which allows the user to utilize the software with minimal to no + console interaction. It operates following the workflow shown in SI + figure 2, The main window is organized into four main regions, shown + in Figure 1. These regions are (1) initialization conditions, (2) + selection of frequencies and dissipation for data mining, + visualization, and model application purposes, (3) interactive plots + for data mining, and (4) selection of plotting options and models.

+
+ + Notable features of + <monospace>pyQCM-BraTaDio</monospace> + + Expedited basic visualizations + +

Raw data plots generated by BraTaDio for film + formed from a solution of BSA at 1 mg/mL in PBS adsorbed to an + Au-coated quartz crystal. (a) Absolute frequency + + + fn + as a function of time + + t, + (b) corresponding absolute dissipation + + + Dn + as a function of time for + + n + = 3, 5, 7, 9, 11, and 13. The peaks seen in panel (b) correspond + to transition periods, that is, pumping BSA after the PBS baseline + was established ( + + t + = 5 min), and the second to a PBS wash + ( + + t + = 55 min).

+ +
+

As in any experimentally obtained data, visual inspection is + crucial for an initial assessment of baseline stability, anomalies, + such as presence of undesired air bubbles, leaks, signal loss, among + others. Two basic visualization options are implemented in the + pyQCM-BraTaDio tool: (i) a full data range + visualization referred here as raw data, Figure 2, and (ii) the + experimental data, referred here as reference level adjusted data, + Figure 3. For these options, the user can select the overtone + order(s) to visualize the frequency and dissipation in various + plotting formats. Figure 2(a) and (b) show the absolute frequency + + + fn + and dissipation + + Dn + as a function of time + + t + for + + n=1,3,5,7,9,11 + and + + 13 + for a bovine serum albumin (BSA) solution absorbing to a gold + substrate. The relevant experimental data can be visualized by + selecting the ‘Plot shifted data’ option. For example, change in + frequency as a function of time, + + Δfn + vs time + + t, + Figure 3(a), change in normalized frequency as a function of time, + + + Δfn/n + vs time + + t, + Figure 3(b), change in dissipation + + ΔDn + vs time + + t, + Figure 3(c), combined change in frequency and change in dissipation + as a function of time, + + Δfn + and + + ΔDn + vs time + + t, + Figure 3(d), combined change in normalized frequency and change in + dissipation as a function of time, + + Δfn/n + and + + ΔDn + vs time + + t, + Figure 3(e), the temperature + + T + as a function of time, + + T + vs + + t, + Figure 3(f), which is critical to determine any temperature effects + in collected data. Finally, change in dissipation as a function of + change in frequency, + + ΔDn + vs + + Δfn, + Figure 3(g), and change in dissipation as a function of change in + normalized frequency, + + ΔDn + vs + + Δfn/n, + Figure 3(h) to obtain qualitative insights of the adsorbed film + rigidity.

+ +

Plots generated by BraTaDio for a film formed + from a solution of BSA at 1 mg/mL in PBS adsorbed to an Au-coated + quartz crystal. (a) Change in frequency + + + Δfn + as a function of time + + t, + (b) change in frequency normalized by overtone order, + + + Δfn/n + as a function of time + + t, + (c) corresponding change in dissipation + + + ΔDn + as a function of time, (d) change in frequency + + + Δfn + and corresponding change in dissipation + + + ΔDn + as a function of time, (e) change in frequency + + + Δfn/n + normalized by overtone order and corresponding change in + dissipation + + ΔDn + as a function of time, (f) temperature + + + T + as a function of time, (g) change in dissipation + + + ΔDn + as a function of change in frequency, + + + Δfn/n + and (h) change in dissipation + + ΔDn + as a function of change in frequency normalized by overtone order, + + + Δfn/n. + Data collected with a QCM-I system.

+ +
+
+ + Data mining via an interactive plot (Figure 4) + +

The interactive plot of pyQCM-BraTaDio. + (a) Input line for time range selection, (b) change in frequency + interactive plot, (c) zoomed-in region from the change in + frequency interactive plot and frequency drift, (d) change in + dissipation interactive plot, and (e) zoomed-in region from the + change in dissipation interactive plot and dissipation + drift.

+ +
+

To facilitate the procedure of data mining (Figure 4), that is, + selection of frequency and dissipation ranges for time ranges of + interest, it is possible to interact with the data via an + interactive plot. pyQCM-BraTaDio will compute the average and + standard deviation of the data points contained within the selected + range for each overtone selected and display the selection with a + linear fit, every time a selection is made. Through the use of user + dictated range identifiers, multiple selections can be made without + overwriting data. Overwriting only occurs when further selections + are made without updating the range identifier ex + ante (Figure 4)

+
+ + Applications of models +

Matching QCM-D experimental data to models that provide physical + interpretation is key for the quantitative characterization of + liquids interacting with the quartz crystal surfaces or nanofilms. + With pyQCM-BraTaDio, it is possible to apply + models of steady state (in equilibrium) thin films using one of the + following models: (i) the Sauerbrey equation for very thin films, + (Sauerbrey, + 1959) (ii) shear-dependent compliance of a thin viscoelastic + film in a Newtonian liquid, + (Du + & Johannsmann, 2004) and (iii) determination of the + quartz crystal thickness. + (Reviakine + et al., 2004) These models are described in the SI, + accompanied with experimental examples.

+
+
+ + Conclusions +

pyQCM-BraTaDio is a Python software implemented ad hoc to expedite + the process of data mining and analysis of QCM-D experimental data. + Beginning with a Tkinter GUI for metadata collection, the inputs and + data are fed to several routines to mine and reference level adjust + data with the Pandas and NumPy libraries. The user is able to interact + with QCM-D data in a novel way via a Matplotlib interactive plot + widget towards the end of the workflow. This interaction offers the + user to apply several models such as Sauerbrey, thin film in liquid, + thin film in air, and crystal thickness. This tool is key for + efficient data analysis in preference over laborious spreadsheet + evaluation.

+
+ + Author contributions +

Conceptualization: Brandon Pardi, Syeda Tajin Ahmed, Roberto C. + Andresen Eguiluz; data curation: Syeda Tajin Ahmed, Silvia Jonguitud + Flores, Warren Flores, Bernardo Yáñez Soto, Roberto C. Andresen + Eguiluz; formal analysis: Brandon Pardi, Syeda Tajin Ahmed, + Jean-Michel Friedt, Laura L.E. Mears, Bernardo Yáñez Soto, Roberto C. + Andresen Eguiluz; funding acquisition: Bernardo Yáñez Soto, Roberto C. + Andresen Eguiluz; investigation: Brandon Pardi, Syeda Tajin Ahmed, + Roberto C. Andresen Eguiluz; methodology: Brandon Pardi, Syeda Tajin + Ahmed, Jean-Michel Friedt, Bernardo Yáñez Soto, Roberto C. Andresen + Eguiluz; project administration: Brandon Pardi, Roberto C. Andresen + Eguiluz; resources: Brandon Pardi, Syeda Tajin Ahmed, Laura L.E. + Mears, Bernardo Yáñez Soto, Roberto C. Andresen Eguiluz; software: + Brandon Pardi, Jean-Michel Friedt; supervision: Brandon Pardi, + Bernardo Yáñez Soto, Roberto C. Andresen Eguiluz; validation: Brandon + Pardi, Syeda Tajin Ahmed, Silvia Jonguitud Flores, Warren Flores, + Jean-Michel Friedt, Laura L.E. Mears, Bernardo Yáñez Soto, Roberto C. + Andresen Eguiluz; visualization: Brandon Pardi, Syeda Tajin Ahmed, + Laura L.E. Mears, Roberto C. Andresen Eguiluz; writing & original + draft: Brandon Pardi, Syeda Tajin Ahmed, Silvia Jonguitud Flores, + Bernardo Yáñez Soto, Roberto C. Andresen Eguiluz; writing & review + & editing: Brandon Pardi, Syeda Tajin Ahmed, Silvia Jonguitud + Flores, Laura L.E. Mears, Bernardo Yáñez Soto, Roberto C. Andresen + Eguiluz.

+
+ + Conflicts of interest +

The authors declare no conflicts of interest.

+
+ + Acknowledgements +

R.C.A.E. acknowledges funding from the NSF-CREST: Center for + Cellular and Biomolecular Machines through the support of the National + Science Foundation (NSF) Grant No. NSF-HRD-1547848. R.C.A.E. and B.P. + acknowledge funding from the CAREER grant NSF CMMI Grant No. #2239665 + awarded to R.C.A.E. R.C.A.E. and W.F. acknowledge funding from the + LEAP HI grant NSF CMMI Grant No. #2245367 awarded to R.C.A.E

+
+ + Supporting information +

The authors have compiled additional supporting information in a + separate document containing more details on the software’s execution, + as well as demonstrating the efficacy of the software across multiple + QCM-D devices.

+
+ + + + + + + + FriedtJ-M + ChoiKang-Hoon + FrederixFilip + CampitelliAndrew + + Simultaneous AFM and QCM measurements: Methodology validation using electrodeposition + Journal of The Electrochemical Society + IOP Publishing + 2003 + 150 + 10 + 10.1149/1.1603255 + H229 + + + + + + + BorovskyBP + GarabedianNT + McAndrewsGR + WieserRJ + BurrisDL + + Integrated QCM-microtribometry: Friction of single-crystal MoS2 and gold from \mum/s to m/s + ACS applied materials & interfaces + ACS Publications + 2019 + 11 + 43 + 10.1021/acsami.9b15764 + 40961 + 40969 + + + + + + BaileyLarry E + KambhampatiDev + KanazawaKay K + KnollWolfgang + FrankCurtis W + + Using surface plasmon resonance and the quartz crystal microbalance to monitor in situ the interfacial behavior of thin organic films + Langmuir + ACS Publications + 2002 + 18 + 2 + 10.1021/la0112716 + 479 + 489 + + + + + + LeviMikhael D + DaikhinLeonid + AurbachDoron + PresserVolker + + Quartz crystal microbalance with dissipation monitoring (EQCM-d) for in-situ studies of electrodes for supercapacitors and batteries: A mini-review + Electrochemistry Communications + Elsevier + 2016 + 67 + 10.1016/j.elecom.2016.03.006 + 16 + 21 + + + + + + ShullKenneth R + TaghonMeredith + WangQifeng + + Investigations of the high-frequency dynamic properties of polymeric systems with quartz crystal resonators + Biointerphases + AIP Publishing + 2020 + 15 + 2 + 10.1116/1.5142762 + + + + + + JohannsmannDiethelm + LanghoffArne + LeppinChristian + ReviakineIlya + MaanAnna MC + + Effect of noise on determining ultrathin-film parameters from QCM-d data with the viscoelastic model + Sensors + MDPI + 2023 + 23 + 3 + 10.3390/s23031348 + 1348 + + + + + + + SauerbreyGünter + + Verwendung von Schwingquarzen zur Wägung dünner Schichten und zur Mikrowägung + Zeitschrift fur Physik + 195904 + 155 + 2 + 10.1007/BF01337937 + 206 + 222 + + + + + + DuBinyang + JohannsmannDiethelm + + Operation of the quartz crystal microbalance in liquids: Derivation of the elastic compliance of a film from the ratio of bandwidth shift and frequency shift + Langmuir + ACS Publications + 2004 + 20 + 7 + 10.1021/la035965l + 2809 + 2812 + + + + + + ReviakineIlya + MorozovAlexander N + RossettiFernanda F + + Effects of finite crystal size in the quartz crystal microbalance with dissipation measurement system: Implications for data analysis + Journal of applied physics + American Institute of Physics + 2004 + 95 + 12 + 10.1063/1.1737049 + 7712 + 7716 + + + + + + McKinneyWes + others + + Data structures for statistical computing in python + Proceedings of the 9th python in science conference + Austin, TX + 2010 + 445 + 10.25080/majora-92bf1922-00a + 51 + 56 + + + + + + HarrisCharles R + MillmanK Jarrod + Van Der WaltStéfan J + GommersRalf + VirtanenPauli + CournapeauDavid + WieserEric + TaylorJulian + BergSebastian + SmithNathaniel J + others + + Array programming with NumPy + Nature + Nature Publishing Group UK London + 2020 + 585 + 7825 + https://doi.org/10.1038/s41586-020-2649-2 + 10.1038/s41586-020-2649-2 + 357 + 362 + + + + + + HunterJohn D + + Matplotlib: A 2D graphics environment + Computing in science & engineering + IEEE + 2007 + 9 + 3 + 10.1109/mcse.2007.55 + 90 + 95 + + + + + + VirtanenPauli + GommersRalf + OliphantTravis E. + HaberlandMatt + ReddyTyler + CournapeauDavid + BurovskiEvgeni + PetersonPearu + WeckesserWarren + BrightJonathan + van der WaltStéfan J. + BrettMatthew + WilsonJoshua + MillmanK. Jarrod + MayorovNikolay + NelsonAndrew R. J. + JonesEric + KernRobert + LarsonEric + CareyC J + Polatİlhan + FengYu + MooreEric W. + VanderPlasJake + LaxaldeDenis + PerktoldJosef + CimrmanRobert + HenriksenIan + QuinteroE. A. + HarrisCharles R. + ArchibaldAnne M. + RibeiroAntônio H. + PedregosaFabian + van MulbregtPaul + SciPy 1.0 Contributors + + SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python + Nature Methods + 2020 + 17 + 10.1038/s41592-019-0686-2 + 261 + 272 + + + + +