Victor Pozzobon

Wendie Levasseur

Elise Viau

Emilie Michiels

Patrick Perré Lgpm

Centralesupélec

Tiphaine Clément

Machine learning processing of microalgae flow cytometry readings: illustrated with Chlorella vulgaris viability assays

Keywords: Flow cytometry, Dual staining, Machine learning, DBSCAN, cryopreservation

A flow cytometry viability assay protocol is proposed and applied to model microalgae Chlorella vulgaris. The protocol relies on concomitant dual staining of the cells (Fluorescein DiAcetate (FDA), Propidium Iodide (PI)) and machine learning processing of the results. Protocol development highlighted that working at 4 °C allows to preserve the stained sample for 15 minutes before analysis. Furthermore the inclusion of an extracellular FDA washing step in the protocol improves the signal to noise ratio, allowing better detection of active cells. Once established, this protocol was validated against 7 test cases (controlled mixtures of active and non-viable cells). Its performances on the test cases is good: -0.19 %abs deviation on active cell quantification (processed by humans). Furthermore, a machine learning workflow, based on DBSCAN algorithm, was introduced. After a calibration procedure, the algorithm provided very satisfactorily results with -0.10 %abs deviation compared to human processing. This approach permitted to automate and speed up (15 folds) cytometry readings processing. Finally, the proposed workflow was used to assess Chlorella vulgaris cryostorage procedure efficiency. The impact of freezing protocol on cells viability was first investigated over 48 hours storage (-20 °C). Then the most promising procedure (pelleted, -20 °C) was tested over one month. The observed trends and values cell in viability loss correlate well with literature. This shows that flow cytometry is a valid tool to assess for microalgae cryopreservation protocol efficiency.

Introduction

Mankind is currently confronted to several challenges, the most striking ones being resources dwindling and climate change. In both cases, microalgae can be of assistance thanks to their variety of applications ranging from food and feed to carbon neutral biofuel productions [START_REF] Brennan | Biofuels from microalgae-A review of technologies for production, processing, and extractions of biofuels and co-products[END_REF][START_REF] Enamala | Production of biofuels from microalgae -A review on cultivation, harvesting, lipid extraction, and numerous applications of microalgae[END_REF]. In addition, over the recent years, microalgae have risen as a promising way to produce high added-value molecules such as pigments, essential fatty acids, specific carbohydrates, antioxidant [START_REF] Levasseur | A review of high value-added molecules production by microalgae in light of the classification[END_REF]. While food and feed productions rely on classical culture protocols, biofuel and high added-value molecules productions sometimes require stressing strategies to achieve proper yields (nitrogen deficiency and/or excessive light [START_REF] Pancha | Nitrogen stress triggered biochemical and morphological changes in the microalgae Scenedesmus sp[END_REF]). Furthermore, once produced those molecules have to be extracted from microalgae, which is not an easy task. Indeed molecules recovery can be highly endergonic as it is hindered by cell wall resistance [START_REF] Rizwan | Exploring the potential of microalgae for new biotechnology applications and beyond: A review[END_REF]. In all these aspects of microalgal culture, it is important to monitor cells viability. On one hand, it ensures product quality (food and feed), confirms that cells are coping with stressful conditions (biofuel and high added value molecules production). On the other hand, it validates the efficiency of cell disruption techniques (molecules extraction).

Different types of viability assay can be found: serial dilution followed by agar plating and colony counting [START_REF] Health Association | American Water Works Association, Water Pollution Control Federation, Standard methods for the examination of water and wastewater[END_REF], Evans blue or Nile red staining [START_REF] Dressel | Vital staining to sort dead and live copepods[END_REF][START_REF] Crippen | The Use of Neutral Red and Evans Blue for Live-Dead Determinations of Marine Plankton (With Comments on the Use of Rotenone for Inhibition of Grazing)[END_REF], enzyme digestion and microscope counting [START_REF] Darzynkiewicz | Essential Cytometry Methods[END_REF], ATP assay [START_REF] Bajerski | ATP Content and Cell Viability as Indicators for Cryostress Across the Diversity of Life[END_REF], cytometry analysis [START_REF] Selvin | Use of Fluorescein Diacetate (FDA) as a Single-Cell Probe of Metabolic Activity in Dinoflagellate Cultures[END_REF]. While the first one is time consuming as it requires to wait for a population to grow, it does not require much manpower. The second and third ones deliver results faster, at the price of Malassez cell counting and may be biased by human subjectivity. The fourth one requires numerous manipulations. The last one delegates this task to a machine. It allows to analyse thousands of cells per second, still proper protocols for both flow cytometer operation and results analysis have to be developed. While the first type of viability assays are nowadays routinely implemented, flow cytometry is still rising into power in microalgal biotechnology laboratories [START_REF] Fachet | Flow cytometry enables dynamic tracking of algal stress response: A case study using carotenogenesis in Dunaliella salina[END_REF][START_REF] Pereira | Fluorescence activated cell-sorting principles and applications in microalgal biotechnology[END_REF].

Flow cytometry analysers revolve around two key technologies: hydrodynamic focusing and optoelectronic. Hydrodynamic focusing allows to individualize cells from a suspension and to carry those single cells into a laser beam. At this point, cells interacts with this laser through scattering mechanisms. Forward scattering is tied to the cell size, while side scattering is linked to cell cytoplasm complexity, as it originates from beam deviation by organelles. The resulting luminous signals are acquired by photomultipliers and sent to a computer. In addition to those simple informations, light can be collected on different wavelength channels using passband filters. This allows to detect cell fluorescence. This fluorescence can be of natural origin (pigments) or induced by fluorescent chemicals acting as cell status probes. This technique induces a limitation that is that analysed microalgae strains have to be somewhat mechanical stress tolerant.

Flow cytometry and Fluorescence Assisted Cell Sorting (usually referred to as FACS) are well established approaches in mammalian biology field [START_REF] Herzenberg | The History and Future of the Fluorescence Activated Cell Sorter and Flow Cytometry: A View from Stanford[END_REF]. For example, cells cryopreservation efficiency assay via flow cytometry is routine for this community [START_REF] Fleming | Cryopreservation of hematopoietic stem cells: Emerging science, technology and issues[END_REF][START_REF] Singh | Cryopreservation of Buffalo (bubalus Bubalis) Semen: Current Status and Future Prospective[END_REF], while no mention of this approach can be found in microalgal cryopreservation community (except one on coral [START_REF] Lin | Use of luminometry and flow cytometry for evaluating the effects of cryoprotectants in the gorgonian coral endosymbiont Symbiodinium[END_REF]. The transfer of flow cytometry and FACS to microalgal biotechnology as a whole would require both protocol development and data analysis methods, in addition to equipping laboratories.

Regarding protocol development, several authors have already communicated about flow cytometry assays adapted to microalgae for specific invetsigations. These assays classically feature one or two fluorescent dyes that deliver key information. The most popular ones being Fluorescein DiAcetate (FDA) which indicates esterase activity inside of the cell, and Propidium Iodide (PI) which probes cell membrane permeability. Briefly, FDA is a non-fluorescent non-polar ester, able to pass through cell membranes, regardless the cell status. Once inside the cell, non-specific esterases hydrolyze the ester bonds of the FDA producing two acetates and one fluorescein. This latter molecule fluoresces green when illuminated by blue light [START_REF] Jochem | Dark survival strategies in marine phytoplankton assessed by cytometric measurement of metabolic activity with fluorescein diacetate[END_REF]. PI is a fluorescent dye, blocked by functional membranes, that intercalates with double stranded nucleic acids which produces red fluorescence when excited by blue light [START_REF] Ormerod | Flow Cytometry[END_REF]. The protocol reported in this work can be seen as an improvement over [START_REF] Franklin | Development of an Improved Rapid Enzyme Inhibition Bioassay with Marine and Freshwater Microalgae Using Flow Cytometry[END_REF] and [START_REF] Liu | Effects of tetrabromobisphenol A on the green alga Chlorella pyrenoidosa[END_REF] works with an emphasis on operating temperature and FDA washing.

Regarding data analysis, first of all, the structure of the data themselves has to be acknowledged. Indeed, for each cell at least five parameters are collected: Forward SCattering (FSC, proxy of size), Side SCattering (SSC, proxy of cytoplasm complexity), as well as three fluorescence channels, or more -all this over thousands of cells per second. Hence those data are intrinsically dense and complex to analyse. Classically, populations are identified using 2D plots, and successive gating. While helpful, this strategy requires both human time and expertise. In order to automate, speed up and make the process user-independent, machine learning processing was introduced in mammalian cell flow cytometry readings analysis [START_REF] Aghaeepour | Critical assessment of automated flow cytometry data analysis techniques[END_REF]. Such algorithms are capable of encompassing all the parameters describing a cell at once and discover emerging patterns, usually population clusters.

The purpose of this work is to deliver an updated dual staining procedure and introduce machine learning processing of flow cytometry readings to the microalgal biotechnology community. The context for this study was Chlorella vulgaris viability assays. First, the flow cytometry protocol is detailed, then is validated against highly controlled conditions. In a second step, using these test conditions, machine learning processing is compared to human manual processing. As illustration, this workflow is applied to cell cryostorage survival, as it has not been done for microalgae. Finally, results are compared with classical literature findings.

Materials and methods

Strain & culture

The strain used for this study was Chlorella vulgaris (CV 211-11b) obtained from SAG Culture Collection, Germany. Cells were subcultured using BBM medium [START_REF] Andersen | Algal Culturing Techniques Appendix A-Recipes for Freshwater and Seawater Media[END_REF]. The passaging procedure was characterized by 1/100 sampling, 250 mL flasks, 50 mL culture medium, 75 µmol photon m -2 s -1 , 20 °C, duplicate. Cells produced by subculturing were used to develop the protocol. Still, variations may arise from one subculture to the other. This could induce a bias in the results and prevent proper data comparison. Hence, in order to avoid this pitfall, the results presented hereinafter were produced using cells coming from a single batch. This batch was produced using a 5-liter photobioreactor. The growth conditions were: BBM medium, average light of 300 µmol photon m -2 s -1 , 0.1 vvm 2.5 %CO2-enriched air, Rushton impeller at 100 rpm, 20 °C. Culture was stopped at the end of exponential phase, leaving cells no time to age. Cells were stored at 4 °C in the dark for one week. This allowed to conduct all the tests with cells originating from the same batch.

Flow cytometry assay

The viability assays were conducted with Sysmex CyFlow Space flow cytometer, mounted with blue laser (488 nm), FSC, SSC detectors as well as three fluorescence channels (FL1 to FL3, 536/40, 590/50 and 675/30 nm respectively). This setup allows to acquire three different signals from unstained Chlorella vulgaris cells: size (FSC), complexity (SSC) and chlorophyll auto-fluorescence (FL3). In addition to those basic informations, FDA (FL1) and PI (FL2) were chosen as viability probes for the study. Indeed, they show complementary properties which enable to characterize the viability of the whole population of microalgae. Namely, FDA identifies living cells (valid estarase activity) from non-viable cells and debris, PI permits the differentiation between non-viable cells (compromised membrane permeability and DNA presence) and debris. As aforementioned, the reported protocol is a variation over [START_REF] Franklin | Development of an Improved Rapid Enzyme Inhibition Bioassay with Marine and Freshwater Microalgae Using Flow Cytometry[END_REF] and [START_REF] Liu | Effects of tetrabromobisphenol A on the green alga Chlorella pyrenoidosa[END_REF] proposed methods. During the protocol development several variations were investigated. Only the key findings of those preliminary tests are reported here, before introducing the protocol itself.

Stock and working solutions

The stock solution of FDA (Sigma Chemicals F-7378) was prepared by dissolving 100 mg of FDA into 100 mL of DMSO (Fischer scientific, >99), yielding a 12 mM stock solution. It was then aliquoted in opaque 2 mL Eppendorf tubes and stored at -20 °C. A special care was taken during all these manipulations to avoid FDA and DMSO light exposure. The working solution was prepared by diluting 100 µL of FDA stock solution into 10 mL of milliQ water at 4 °C (100 fold dilution, 120 µM working solution). Since FDA is light-and thermo-sensitive, the working solution was kept on ice in the dark to minimize its degradation and fresh working solutions were made every 3 hours (following [START_REF] Widholm | The use of fluorescein diacetate and phenosafranine for determining viability of cultured plant cells[END_REF] recommendation).

The working solution of PI (Sigma Chemicals P-4170) was prepared by dissolving 10 mg of PI into 10 mL of milliQ water, yielding a 1.5 mM working solution. PI working solution was stored in opaque vial at 4 °C.

Preliminary investigations

Among the investigated operating parameters, the most influential ones were temperature and FDA washing. Operating at 4 °C, and preserving the sample in melting ice bath, improved results repeatability and sample stability over time. Room temperature operation yielded stained samples with moderate repeatability usable for 5 minutes, while 4 °C operation yielded highly stable stained samples usable for 15 minutes (see Supplementary Materials). Furthermore, including a centrifuge run in order to wash extracellular FDA considerably improved the signal to noise ratio on FL1 detector. Other parameters, such as FDA concentration (50 µM instead of 25 µM) or the use of phosphate buffer vs. milliQ water had only marginal impact.

Dual staining procedure

First, the sample cell concentration is acquired using particle counter (Beckman Coulter Multisizer 4). Using the obtained value, sample cell concentration is adjusted to about 40 10 6 cell mL -1 by dilution to allow later pelleting. Then 780 µL of 40 10 6 Cell mL -1 cell suspension is introduced in 1.5 mL Eppendorf tube. To this, 210 µL of the FDA working solution and 10 µL of the PI stock solution are added (final volume of 1.0 mL). Right after this step, the samples are introduced in 4 °C cooled centrifuge. The incubation with the fluorochromes takes place during the centrifugation (16000 g, 4 °C, 5 min). This step allows both low temperature incubation and extracellular FDA washing. After centrifugation, the supernatant is removed and the pellet is resuspended in 1 mL of 4 °C milliQ water. Finally, the resuspended cells are diluted with 4 °C milliQ water to reach a concentration of 1.0 10 6 cell mL -1 (suitable for flow cytometry analysis according to manufacturer recommendation) and sent to flow cytometer for analysis.

With this procedure, if need be, the final state samples can be stored on ice, in the dark for 15 minutes before being processed.

Flow cytometry analysis

Before every cell analysis, the flow cytometer tubing was cleaned by processing 1 mL of milliQ water. Then, cell sample was presented. Suspension flow rate was set at 1 µL s -1 , photomultipliers gains were set at 140, 230, 425, 500 and 410 for FSC, SCC, FL1 to 3, respectively. Then, 100 thousands events were acquired in about 60 seconds.

To assess for analysis repeatability of the cytometer itself, samples were first analysed in triplicates. As repeatability was very good (below 1 % deviation in final population quantification), only one flow cytometer run per sample was performed.

Finally, before applying this protocol to actual samples, it had to be challenged against controlled test cases (Sec. 2.4).

Machine learning processing

In our case, the aim of the machine learning processing was to segregate the three populations (active cells, non-viable cells and debris) automatically. In order to automate population identification, machine learning scientists have developed a specific type of algorithms: clustering algorithms. A popular all-rounder algorithm of this category is DBSCAN (Density Based Spatial Clustering of Applications with Noise) [START_REF] Ester | A density-based algorithm for discovering clusters in large spatial databases with noise[END_REF], owing its success to its efficiency, simplicity and ability to detect outliers. While numerous refinements exist, such as grid introduction speed-up [START_REF] Ye | Ultrafast clustering of single-cell flow cytometry data using FlowGrid[END_REF], we chose this algorithm in its basic form for the sake of simplicity. The algorithm working principle is briefly reviewed here. The algorithm starts by randomly picking a point, i.e. a flow cytometry event in this case. Then, it determines the number of neighbouring points in a given distance (called ) from this first point. If this number is higher than a given threshold (called N ), then the point is considered as part of a cluster (if not, it is marked as noise). Indeed, having N neighbours, or more, within an distance means that density is high in the vicinity of the selected point. Then the previously identified neighbouring points go through the same procedure recursively.

As long as the algorithm finds points with high density neighbourhoods, the cluster grows. A cluster is fully identified once this set of neighbouring points is exhausted. Then, the algorithm picks another point, outside of the identified cluster, and repeats the procedure until all points are classified as part of a cluster or noise.

The main weakness of this procedure is that, in all generality, and N parameters are cluster dependent, as together those parameters form the density of the cluster. Therefore, as our flow cytometry readings featured two clusters (active and non-viable cells), a set of and N parameters should be selected for each cluster. Luckily, as pointed out by the authors of DBSCAN themselves, the sensitivity to N parameter is quite low. In our case, preliminary tests showed that a value corresponding to 1000 events (1 % all the whole population) was providing satisfactory results. Thus a two-step procedure with different parameters, was implemented in order to better isolate one cluster from the other. It is difficult to identify proper parameter values beforehand, as it would mean being able to assign a specific value cells clusters densities. Thus, a screening was led to determine the two best parameter values; one for each of the two clusters ( active for the active cells and non-viable for the non-viable cells). The possible valued for active and non-viable were explored within finite ranges. They were defined by 0.05 < non-viable < 0.5 and 0.05 < active < 0.7. Like for assessing the quality of the experimental procedure, this parameter screening required controlled test cases to be produced. These cases are described in the next Section.

From a technical point of view, the workflow was coded under Python 3.6 programming language. DBSCAN implementation was directly drawn from Scikit Learn 0.22.1 machine learning framework [START_REF] Pedregosa | Scikit-learn: Machine Learning in Python[END_REF].

Thermal treatment -test cases

Two objectives were associated with the production of the test cases. The first one was to challenge the viability assay procedure by comparing flow cytometer results (processed by human and machine learning) to a known standard. The second one was to calibrate DBSCAN workflow. The test cases were built up by mixing controlled quantity of active and non-viable cells.

Active cells processing by the proposed protocol resulting in successful FDA staining, while no PI fluorescence could be detected. In addition, staining the cells did not alter FSC (size), SSC (complexity) and FL3 (chlorophyll) signal compared to unstained cells.

Non-viable cells were produced by heat treatment (100 °C, 10 min, suspended, covered). Microscope observation confirmed that cell integrity was conserved. Running the protocol on non-viable cells resulted in successful PI staining while FDA could not be found. In addition, FSC, SSC and FL3 did not change compared to active cells.

The active/non-viable cells test case solutions were produced by volumetric mixing. The targeted active cells fractions were: 20 %, 25 %, 40 %, 50 %, 60 % and 80 %, covering a broad range of configurations. Still, as flow cytometry readings yields population in terms of number and not volume fractions, those volume fractions had to be converted to number fractions. To do so, cells concentration in both active and non-viable cells solutions was obtained from particle counter. Active cells solution concentration was 50.55 10 6 Cell mL -1 , while non-viable cells one was 49.72 10 6 Cell mL -1 . Thus knowing the concentration of the two mother solutions, it was possible to calculate accurately the expected fraction of active (or non-viable) cells.

Finally, flow cytometry results were analysed by three different human operators (not influenced by one another) as well as the proposed machine learning algorithm.

Cell cryopreservation -illustration cases

Chlorella vulgaris survival to several cryopreservation procedures was tested in order to both introduce flow cytometry in microalgae cryopreservation field and assess the protocol capability. First of all, the impact of the storage vessel size was examinated. Samples, made of cell suspension, were frozen in 1.5, 15 and 50 mL tubes. Second, the impact of freezing speed was investigated: samples were left to freeze at -20 °C, or directly put into liquid nitrogen (-196 °C). Third, sample preparation variations were introduced. Sample were either pelleted (16000 g, 5 min, 4 °C) or supplemented, while suspended, with glycerol (20 %vol) [START_REF] Valeri | The In Vivo Survival, Mode of Removal of the Non-Viable Cells, and the Total Amount of Supernatant Hemoglobin in Deglycerolized, Resuspended Erythrocytes[END_REF], or both.

After freezing, the sample were stored at -20 °C for 48 hours before being thawed at room temperature. Furthermore, in order to check for longer term survival, the most promising sample (1.5 mL, pelleted, -20 °C freezing, see Sec. 3.4) was stored for 1 month before being analysed again. Furthermore, in order to reproduce common cryopreservation assay procedure, cells were resuspended in 5 mL culture medium and visually checked twice daily for signs of growth (in triplicate for each sample, hence 9 flasks).

All the tests were carried out in triplicates.

Results

The tested cases unfolded smoothly. All flow cytometry readings exhibited the two expected cell populations (active and nonviable) and debris. In addition, results showed a good run to run repeatability. As a consequence, results are illustrated using the case with the most challenging of the test cases: the 50/50 active/non-viable cells mixture, median test case hereinafter.

Protocol output

Figure 1 reports the five parameters for the median test case. As one can see, FSC and SSC signals feature two zones: one for debris, the other one for cells (active and non-viable). FL1 and FL2 signal exhibits three peaks. On FL1 channel, the lowest intensity peak corresponds to debris, the medium one to non-viable cells and the strong one to active cells. On FL2 channel, the three peaks correspond to debris, active cells and non-viable cells. Finally, FL3 signal only presents one peak for both active and non-viable cells. The stability of FL3 signal is troubling and is alleged to be due to poor fluorescence compensation during our experiments. While it is technically possible to identify cluster from this type of raw presentation of the results, 2D maps are still preferred. Analysing further the median test case, Figure 2 presents the FL2 vs. SSC (a) and FL2 vs. FL1 (b) maps. FL2 vs. SSC map does not permit to draw a clear distinction between clusters as only one of the two parameters is discriminant. On the contrary, on the FL2 vs. FL1 map the three populations can be easily identified: active cells (high FL1 and low FL2 values), non-viable cells (low FL1 and high FL2, values) and debris (low FL1, low FL2). This highlights the interest of a dual vs. single staining procedure. From a qualitative point of view, the two cell clusters exhibit clear frontiers. In addition, non-viable cells cluster appears denser than active cells one. Finally, debris seems to host different sub-clusters with low density and loose edges. These populations could be made of cellular debris, particles in suspension or unstained cells. Before moving further onward, the debris population was analysed using a FSC strategy in order to isolate a potential unstained cell population. Only the cells with FSC signal higher than 7 were conserved. Results show that no unstained cell population could be found (see Supplementary Materials).

Algorithm parameter screening

As aforementioned, before starting performance comparison, the dependence of the algorithm to non-viable and active parameters had to be screened. The metrics used to quantify algorithm performance is the Sum of Squared Errors (SSE) defined as:

SSE = 7 i=1 (fa,i -fe,i) 2 (1)
where fa,i is the reported active cell fraction of condition i and fe,i is the expected cell fraction of condition i, both in percent. As non-viable and active parameters were screened simultaneously, this procedure yielded a heat map of SSE versus those two parameters (Fig. 4). For the sake of readability, SSE map has been plotted in log scale (lowest value corresponding to best performances). The proposed procedure exhibits a wide range (0.24 < non-viable < 0.48 and 0.30 < active < 0.65, in purple) of parameters couples for which it yields good results (SSE below 10 %abs, cumulative). Away from this cuvette, the SSE increases dramatically fast. For low parameters values, the algorithm is not able to detect cluster anymore. For high parameters values, it merges the clusters together. Luckily the cuvette is wide enough to provides results than can be considered repeatable and not artefacts. As a consequence, the two parameters were chosen in the middle of this stability zone, i.e. non-viable = 0.4 and active = 0.5.

Human operators and algorithm performances -test cases

The next step was to quantitatively analyse the results obtained by flow cytometry. To do so, population fractions obtained by flow cytometry readings processing were compared to expected values set when preparing the test cases (ranging from 20 to 80 % active cells). Figure 5 presents the active cells fractions obtained for all the test cases. As one can see, the three human operators and the algorithm were able to quantify the cell populations very satisfactorily. Still, this kind of display offers a broad overview of the quality of the results but prevents proper error analysis. In order to go further in depth, the results are plotted in term of relative discrepancy to the particle counter value (Fig. 6). This plot emphasizes the mismatch between expected and obtained active cell fractions. Human operators averaged deviation ranged from -0.12 to -0.19 %abs, while the algorithm deviation is of -0.25 %abs. Furthermore, those errors are within, or not far away from, particle counter measurement uncertainty.

Cell survival -illustration cases

Cell survival rates as a function of freezing vessel size and freezing speed are reported in Figure 7. Regardless of the vessel size, -20 °C freezing of suspended cultures yielded around 60 % survival rate. Liquid nitrogen freezing exhibited poor performances, the best survival rate (24 %) being achieved for 1.5 mL tubes. 15 mL tubes only left 3 % of the culture active while using 50 mL tubes did not allowed any cell to survive. From this, it could be concluded that -20 °C freezing was better suited than nitrogen plunging. In addition, while not statistically significant for this freezing speed, it could be concluded from liquid nitrogen results that 1.5 mL tube would be better suited for this kind of experiments. In a second step, variation around this protocol were tested. The impact of pelleting the culture and adding glycerol are reported in Figure 8. Sole pelleting yielding the best 24-hour survival rate, around 95 %. The addition of glycerol reduced cells survival down to 54 ± 7 %, without pelletisation and to 51 ± 3 % with pelletisation.

Suspended Pelleted Suspended + Glycerol

Pelleted + Glycerol Finally, the most promising procedure (-20 °C freezing, pellet, no glycerol, 1.5 mL tube) was analysed after one month storage. The three tested samples yield 69, 52 and 35 % survival rate (52 ± 17 %). These latter cultures were resuspended in BBM medium and incubated. The two first became obviously green after 5 days (for the 6 flasks), while the last one needed 7 days (for the 3 flasks), which is coherent with flow cytometry results.

Discussion

The proposed dual staining protocol allowed both human operators and machine learning algorithm to differentiate efficiently active and non-viable cells on the test cases. It also permitted to precisely quantify the relative amount of active and non-viable cells in samples. Furthermore, when looking closely at the deviations (Fig. 6), one can see that human operators and machine learning algorithm always deviate in the same direction. Thus, it is possible to infer that these deviations are more likely due to experimental uncertainty when preparing the test cases than intrinsic bias of the protocol. Keeping this point in mind, the relevant criterion for the algorithm performances evaluation should be the machine vs. humans error, and not the machine vs. expectations. In this case, the average algorithm error falls down to -0.10 %abs. A point of note is that while processing the 7 cases takes around 15 minutes to a human being, it takes only 1 minute to the algorithm. This represents an important time savings especially when numerous readings have to be analysed. If streamlined, this data processing procedure can be deployed by an operator who would not require flow cytometry expertise.

Unlike test cases, the cryostorage experiments had no absolute reference, hence the obtained trends and values have to be compared with other authors findings to assess from their reliability. The first comment is that efficient long term cryopreservation is an art per se [START_REF] Taylor | Cryopreservation of eukaryotic algae -a review of methodologies[END_REF][START_REF] Day | Cryopreservation-recalcitrance in microalgae: novel approaches to identify and avoid cryo-injury[END_REF][START_REF] Day | Cryopreservation: fundamentals, mechanisms of damage on freezing/thawing and application in culture collections[END_REF]. The minimum requirements are strain adaptation to cold, two-step freezing procedure and at least -80 °C storage. Luckily, actual strain preservation was not the aim of this work. In order to observe large viability decrease, we deliberately chose poor performing cryopreservation procedures.

Over one month, with our freezing protocol, both the trend and the magnitude of the viability decrease (about 43 %) are comparable to authors findings. [START_REF] Kapoore | Effects of cryopreservation on viability and functional stability of an industrially relevant alga[END_REF] obtained 33 % viability reduction rate of Chlorella vulgaris after 1 month storage at -15 °C. In addition, three tested variations of the protocol had detrimental effects on cells survival, namely: large freezing vessel size, liquid nitrogen freezing and glycerol addition. This calls for comments.

Cell survival to direct nitrogen plunging seems to be strain dependent, with few species withstanding it [START_REF] Day | Long-term viability of preserved eukaryotic algae[END_REF]. Furthermore, when successful, direct plunging yields poor results (50 % slower growth than a two step-protocol) [START_REF] Abreu | Cryopreservation of some useful microalgae species for biotechnological exploitation[END_REF]. Detrimental effects are thought to be associated to the presence of supercooled water inside of the cell that will result in mechanical damages in addition to the osmotic imbalance induced by rapid freezing [START_REF] Taylor | Cryopreservation of eukaryotic algae -a review of methodologies[END_REF]. These explain why -20 °C freezing yielded better results than direct liquid nitrogen plunging in our case.

The detrimental effect of large capacity vessel during rapid freezing procedures has long been established [START_REF] Christensen | Cryopreservation of channel catfish spermatozoa: Effect of cryoprotectant, straw size, and formulation of extender[END_REF]. In our case, combining 15 and 50 mL tubes with nitrogen cooling was obviously excessive. Hence, it is not surprising that no cell survived it. Furthermore, 1.5 mL vessel seems to also be too large to ensure proper storage (24 % survival). It is also not surprising, as point of comparison, crypropreservation straws volume are classically of 0.25 mL. Here again, mechanical damages induced by ice crystals formation can be an explanation. Small freezing vessels ensure rapid cool down, promoting the formation of small ice crystals. On the contrary, high capacity containers favour larger, hence more damaging, ice crystals.

Findings regarding the addition of glycerol are mixed. Some authors reported that it had no beneficial effects [START_REF] Ohnuma | Optimization of cryopreservation conditions for the unicellular red alga Cyanidioschyzon merolae[END_REF], while others highlighted positive effects [START_REF] Cordero | Viability of mass algal cultures preserved by freezing and freeze-drying[END_REF]. Finally, as pointed out in [START_REF] Mortainbertrand | A method for the cryoconservation of Dunaliella salina (Chlorophyceae): Effect of glycerol and cold adaptation[END_REF], the key point is the time allowed for glycerol incorporation. Indeed, it has to be low enough to avoid osmotic stress. The addition protocol was very quick in our case, hence it may explained the observed adverse effect of glycerol on cell viability.

All these observations allow to draw the conclusion that flow cytometry is technically well suited for microlagae cryopreservation efficiency assays. One more argument advocating for the introduction of flow cytometry in the microalgal cryopreservation community is the tremendous amount of laboratory time to be saved using this technique. Indeed, assessing cell viability by agar plating or growth rate comparison requires both time (order of week) and human effort (several samples to be taken and analysed). On the contrary, a flow cytometry run requires only quarter of a hour, plus machine start-up and shutdown time.

Conclusion

A flow cytometry viability assay protocol has been proposed and applied to model microalga Chlorella vulgaris. The protocol relies on concomitant dual staining of the cells using Fluorescein DiAcetate (FDA), to probe esterase activity, and Propidium Iodide (PI), to assess cell membrane integrity. Its development highlighted the beneficial effects of two key operating parameters. Working at 4 °C allowed to preserve the stained samples for 15 minutes before analysis. The addition of an extracellular FDA washing step improved the signal to noise ratio.

This protocol was successfully validated against 7 test cases (-0.19 %abs deviation) where known active/non-viable cells fractions had to be retrieved. In addition to classical human processing, a machine learning workflow, based on DBSCAN algorithm, was introduced. After a calibration procedure, the algorithm provided very satisfactorily results with -0.10 %abs deviation compared to human processing. Furthermore, this approach permits to speed up (15 folds) and automated flow cytometry reading processing.

Finally, as illustration case, the dual staining procedure and machine learning processing were used to assess Chlorella vulgaris cryostorage procedure efficiency. The impact of freezing on cells viability was first investigated over 48 hours storage. Then the most promising procedure (pelleted, -20 °C) was tested over one month. The observed trends and values in viability loss correlates well with literature. Thus, one can conclude that flow cytometry is well suited to assess for microlagae cryopreservation efficiency.

Figure 1 :

 1 Figure 1: The five acquired parameters for 50 % active, 50 % non-viable cells test case. Cluster identification: A -Active, N -Non-viable, N -Debris/Noise. Number of events: 100 thousands

Figure 2 :

 2 Figure 2: (a) FL2 vs. SSC map. (b) FL2 vs. FL1 map. Both for 50 % active, 50 % non-viable cells test case. Cluster identification: A -Active, N -Non-viable, N -Debris/Noise. Colormap: blue to red, low to high density. Number of events: 100 thousands

Figure 3 :

 3 Figure 3: FL2 vs. FL1 map for 50 % active, 50 % non-viable cells test case, cluster identified by the algorithm. Left: active cells, right: non-viable cells. Colormap: blue to red, low to high density. non-viable = 0.4 and active = 0.5 Number of events: 100 thousands

Figure 4 :

 4 Figure 4: Sum of Square Errors (SSE) as a function of non-viable and active parameters over the 7 test cases. The lower the value, the better the couple of non-viable and active segregate active cells and non-viable cells from one another and debris

Figure 5 :

 5 Figure 5: Fraction of cell in the associated cluster for the 7 test cases. The three users are independent operators

Figure 6 :

 6 Figure 6: Difference between reported and expected fraction for the 7 test cases. Error bars: cell counter induced uncertainty

Figure 7 :

 7 Figure 7: Cell survival rate versus freezing vessel size and freezing procedure. Light gray: -20 °C freezing, dark gray: liquid nitrogen freezing. Error bars: standard deviation (n=3)

Figure 8 :

 8 Figure 8: Cell survival rate versus freezing protocol variations. Freezing procedure: left at -20 °C. Error bars: standard deviation (n=3)

Declaration of author contributions

WL, PP and VP initiated and designed the study. EV led the experimental work with the help of WL, EM, TC and VP. All the authors critically interpreted the results. EV and VP drafted the manuscript, the other authors corrected it. All authors approve the manuscript.

Conflict of interest

The authors declare that they have no conflict of interest.

Supplementary materials


Amal Ait Brahim

Rabah Tighilt Ferhat

Gilles Zurfluh

MDA Process to Extract the Data Model from Document-oriented NoSQL Database

Keywords: Big Data, NoSQL, Model Extraction, Schema Less, MDA, QVT

In recent years, the need to use NoSQL systems to store and exploit big data has been steadily increasing. Most of these systems are characterized by the property "schema less" which means absence of the data model when creating a database. This property brings an undeniable flexibility by allowing the evolution of the model during the exploitation of the base. However, query expression requires a precise knowledge of the data model. In this article, we propose a process to automatically extract the physical model from a documentoriented NoSQL database. To do this, we use the Model Driven Architecture (MDA) that provides a formal framework for automatic model transformation. From a NoSQL database, we propose formal transformation rules with QVT to generate the physical model. An experimentation of the extraction process was performed on the case of a medical application.

INTRODUCTION

Recently, there has been an explosion of data generated and accumulated by more and more numerous and diversified computing devices. Databases thus constituted are designated by the expression "Big Data" and are characterized by the so-called "3V" rule [START_REF] Chen | Data-intensive applications, challenges, techniques and technologies: A survey on Big Data[END_REF]. This is due to the volume of data that can exceed several terabytes and the variety of these data that are described as complex. In addition, these data are often entered at very high frequency and must therefore be filtered and aggregated in real time to avoid unnecessary saturation of the storage space.

Traditional implantation techniques, based primarily on the relational paradigm, have limitations in managing massive databases [START_REF] Angadi | Growth of New Databases & Analysis of NOSQL Datastores[END_REF]. Thus, new data storage and manipulation systems have been developed. Grouped under the term NoSQL [START_REF] Han | Survey on NoSQL database[END_REF], these systems are well suited for managing large volumes of data with flexible models. They also bring great scalability and good performance in response time [START_REF] Angadi | Growth of New Databases & Analysis of NOSQL Datastores[END_REF].

Most of the NoSQL DBMS are characterized by the "schema less" property which corresponds to the absence of the data schema when creating a database. This property appears in many NoSQL systems such as MongoDB, CouchDB, HBase and Neo4j. Note however that it is absent in some systems such as Cassandra and Riak TS. The "schema less" property offers undeniable flexibility by allowing the model to evolve easily. For example, the addition of new attributes in an existing line is done without modifying the other lines of the same type previously stored; something that is not possible with relational DBMS, where all elements of the model are fixed before data entry. However, the model of a database is an essential knowledge element for data manipulation. Indeed, the knowledge of the model of the base proves necessary, even indispensable, to express a query where appear the names of the tables, the names of the attributes and values compatible with a type. And this is all the more important if the queries are written by decision-makers, who are not supposed to be non-computer scientists.

Currently, NoSQL systems characterized by the property "schema less" do not have a feature to dynamically display the database model. In this article, we propose a process to automatically extract the model from the data stored on a NoSQL DBMS. The goal is to allow users to visualize the data model on demand.

The rest of the paper is structured as follows: Section 2 motivates our work using a case study in the healthcare field; Section 3 reviews previous work on extracting the data model; Section 4 introduces our MDA-based approach; A model to model a "schema less" system, it does not provide this model, either in textual form or in graphical form. This case study is a typical example of applications where users need a tool to display the database model. Indeed, doctors enter measures regularly for a cohort of patients. They can also recording new data in cases where the patient's state of health evolve over time. Few months later, doctors will analyze the entered data in order to follow the evolution of the pathology. For this, they need to use a model to express their queries.

In our view, it's important to have a precise and automatic solution that guides and facilitates the data model extraction task within NoSQL systems. For this, we propose the Query2Model process presented in the next section that extracts the physical model of a database stored in MongoDB.

RELATED WORK

In industry, several integration systems and access to heterogeneous data such as Apache Drill [START_REF] Drill | Apache Drill[END_REF][START_REF] Cloudmdsql | CloudMdsQL Compiler[END_REF] and BigIntegrator (BigIntegrator, 2018), allow to extract the physical model of a NoSQL database, [START_REF] Bondiombouy | Query processing in cloud multistore systems[END_REF]. For example Apache-Drill, which appears as the most successful system, allows to query heterogeneous data stored on different types of systems. The user can obtain the data model by applying a shell script to the NoSQL database.

On the other hand, research work has been proposed in order to extract a physical model from a NoSQL database of type "schema less", mainly for document-oriented databases such as MongoDB. transformation is presented in this section to automatically extract the data model from a NoSQL database; Section 5 details our experiments; Section 6 presents the positioning of our work and Section 7 concludes the paper and announces future work.

MOTIVATION

To motivate and illustrate our work, we present a case study in the healthcare filed. This case study concerns international scientific programs for monitoring patients suffering from serious diseases. The main goal of this program is (1) to collect data about diseases development over time, (2) to study interactions between different diseases and (3) to evaluate the short and medium-term effects of their treatments. The medical program can last up to 3 years. Data collected from establishments involved in this kind of program have the features of Big Data (the 3 V) (Doug, 2001). Indeed, the amount of data collected daily from all the establishments in three years can reach several terabytes. Furthermore, data entered while monitoring patients come in different types; it could be structured as the patient's vital signs (respiratory rate, blood pressure, etc.), semistructured document such as the package leaflets of medicinal products, unstructured such as consultation summaries, paper prescriptions and radiology reports. Finally, some data are produced in continuous way by sensors; it needs a real time process because it could be integrated into a time-sensitive processes (for example, some measurements, like temperature, require an emergency medical treatment if they cross a given threshold). This is a typical example in which the use of a NoSQL system is suitable. On the one hand, in the medical application, briefly presented above, the database contains structured data, data of various types and formats (explanatory texts, medical records, x-rays, etc.), and big tables (records of variables produced by sensors). On the other hand, NoSQL data stores are ideally suited to this kind of applications that need a database which can cope with large amounts of disparate data. Therefore, we are convinced that a NoSQL DBMS, like MongoDB, is the most adapted system to store the medical data.

As an illustration, Figure 1 gives an excerpt from the data model of the medical application. This is the graphical description of the data structures stored in the MongoDB (MongoDB, 2018) system that we used in our experiment. Note now that MongoDB is Thus, a process has been proposed in [START_REF] Klettke | Schema extraction and structural outlier detection for jsonbased nosql data stores. Datenbanksysteme für Business[END_REF] to extract the model from a collection of JSON documents stored on MongoDB. The model returned by this process is in JSON format; it is obtained by capturing the names of the attributes that appear in the input documents and replacing their values with their types. Attribute values can be atomic type, lists or nested documents.

In the article of [START_REF] Sevilla | Inferring versioned schemas from NoSQL databases and its applications[END_REF], the authors propose another process of extraction of the model of a document-oriented NoSQL database which can include several collections. The returned result is not a unified model for the whole database but it gives the different versions of models for each collection. The extraction process is composed of two successive steps. The first one runs through the database and, for each distinct template version, generates a document in a collection called "Template". In the second step, the process provides a model of each version by instantiating the JSON meta-model.

We can also mention the work of [START_REF] Gallinucci | Schema profiling of document-oriented databases[END_REF] which proposes a process called BSP (Build Schema Profile) to classify the documents of a collection by applying rules corresponding to the requirements of the users. These rules are expressed through a decision tree whose nodes represent the attributes of the documents; the edges specify the conditions on which the classification is based. These conditions reflect either the absence or the presence of an attribute in a document or its value. As in the previous article [START_REF] Sevilla | Inferring versioned schemas from NoSQL databases and its applications[END_REF], the result returned by this approach is not a unified model but a set of version models; each of them is common to a group of documents.

Regarding the state of the art, the solutions proposed to extract the model of a NoSQL database, only partially answer our problem. Indeed, in [START_REF] Klettke | Schema extraction and structural outlier detection for jsonbased nosql data stores. Datenbanksysteme für Business[END_REF] and [START_REF] Gallinucci | Schema profiling of document-oriented databases[END_REF], the authors propose processes that take as input a single collection of documents. As a result, the links between the collections are not studied. Similarly, the work of [START_REF] Sevilla | Inferring versioned schemas from NoSQL databases and its applications[END_REF] does not deal with links although they consider several collections. In our process, we propose a solution to take into account the links between the collections.

ToNoSQLmodel PROCESS

The purpose of this article is to automate the extraction of the model from NoSQL databases of type "schema less" which generally divided into four categories: key / value, columns, documents and graphs. We limit ourselves to the type documents which is the most complete in terms of expression of the links (use of references and nestings). ToNoSQLmodel process that we propose, automatically extracts the model from a documentoriented NoSQL database.

To formalize and automate our process, we use OMG's Model Driven Architecture (OMG, 2018), which provides a formal framework for automating model transformations. The purpose of this architecture is to describe separately the functional specifications and implementation specifications of an application on a given platform [START_REF] Hutchinson | Model-driven engineering practices in industry[END_REF]. For this, it uses three models representing the abstraction levels of the application. These are (1) the Computational Independent Model (CIM) in which no IT considerations appear, (2) the Independent Platform Independent Model (PIM) model of analysis and design. Execution platforms and (3) Platform Specific Model (PSM) specific to a particular platform. Since the input of our process is a NoSQL database and its output is a physical model, we only retain the PSM level.

The passage of a NoSQL database to its model is done via a sequence of transformations. We will formalize these transformations using the standard QVT (Query View Transformation) defined by the EMF. Figure 2 shows an overview of our process. In the following sections, we detail the components of our process by specifying the following three elements: (a) the source, (b) the target, and (c) the transformation rules.

Source

A document-oriented NoSQL database (DB) is defined as a pair (N, CLL), where:

-N is the DB name,

-CLL = { , … , } is a set of collections ∀ i ∈ [1..n],
∈ DB. CLL is a pair (N, ), where: , where:

-AFL IN = { , … ,
} is a set of atomic fields, where:

∀ i ∈ [1..k],
∈ AFL IN is defined as a pair (N, V), where:

-.N is the name of , -.V is the value of , -CFL IN = { , … , } is a set of complex fields, where:

∀ i ∈ [1..l],
∈ CFL IN is defined as a pair (N, ′), where:

-.N is the name of , -. ′ ∈ is the set of fields that contains.

To express a link between the collections, we used a field called: reference field, denoted by ℎ (MongoDB, 2018). This one is a special case of a complex field. ℎ is composed of two atomic fields ℎ and ℎ , each of them is defined as a pair (N, V), where: We present these different concepts through the meta-model of Figure 3. Note that all the metamodels presented in this article are formalized with the standard Ecore language [START_REF] Ecore | The eclipse modeling framework project[END_REF].

Target

The NoSQL model noted M generated by our process, is stored in a collection . This is defined as a pair (N, D), where:

-. N is the model name, -. D = { , … , } is a set of documents that contains. ∀ i ∈ [1.

.n], is defined as a pair (Id, ), where -. Id is the identifier of , -.

= { , … , } is a set of imput fields of , where :

-AFL OUT = { , … , } is a set of atomic fields of , where:

∀ i ∈ [1..k],
∈ AFL OUT is defined as a pair (N, Ty), where:

-.N is the name of , -

.Ty is the type of . Note that the type of can be either predefined (for example: String, Boolean, Integer, ...) or defined by the user (for example: Patient, Doctors, ...).

-CFL OUT = { , … , } is a set of complex fields of , where:

∀ i ∈ [1..l],
∈ CFL OUT is defined as a pair (N, ′), where:

-.N is the name of , -. ′ ∈ is the set of fields that contains.

Transformation Rules

We have formalized the concepts present in the source (document-oriented database) and in the target (NoSQL physical model). In this section, we present our process as a sequence of transformation rules described below.

R1:

The DB model is stored in a collection . This is defined as a pair (N,D), where:

-.N= DB.N, -.D is generated by applying R2.

R2:

For each collection ∈ DB. CLL with i ∈ [1..n], we create a document , where:

-

.N = . - .
is generated by applying R3 or R4.

Note that contains a unified template for all documents that contains. This means that our process generates a unique collection model grouping all the fields of the documents. We therefore do not consider several versions of models for the same input collection.

R3:

Each atomic field ∈ .AFL IN is transformed into a field with i ∈ [1.
.n] and j ∈ [1..k], where:

- . = .N - .
is generated according to the form of the value of .

For example, if . = " ", then . =

String. And, If . = {" "," ", … " "}, then .

= Set (String).

R4: Each complex field ∈ .CFL IN is transformed into a field with i ∈ [1.
.n] and j ∈ [1..l], where:

- . = .N - .
′ is generated as follows: -Apply R3 for each atomic field ∈ .

′.

-Apply the R4 for each complex field ∈ . ′

R5:

A reference field ℎ is transformed into a complex field with j ∈ [1..2], where :

- . N = ℎ .N - . Ty = ObjectID - . N = ℎ .N - . Ty = ℎ .V

EXPERIMENTS

Technical Environment

We briefly describe the techniques we used to implement the approach presented in Figure 2. Since our approach is model driven, we used a technical environment suitable for modeling, meta-modeling and model transformation. We used the Eclipse Modeling Framework (EMF) (EMF, 2018). EMF provides a set of tools for introducing a model-driven development approach within the Eclipse environment. These tools provide three main features.

The first is the definition of a meta-model representing the concepts used by the user. The second is the creation of the models instantiating this meta-model and the third is the transformation from model to model and from model to text [START_REF] Budinsky | Eclipse modeling framework: a developer's guide[END_REF]. Among the tools provided by EMF, we used:

(1) Ecore: a meta-modeling language used for the creation of our meta-models. Figure 3 and Figure 4 illustrate the source and target Ecore meta-models used by our ToNoSQLmodel process. (2) XML Metadata Interchange (XMI): which is a standard used to represent models in XML.

(3) QVT (Query, View, and Transformation): which is a standardized language for expressing model transformations. The choice of QVT was based on criteria specific to our approach. Indeed, the transformation tool must be integrated into the EMF environment so that it can be easily used with modeling and meta-modeling tools. Thus, we used the operational QVT language.

We have implemented our process on medical data presented in section 2. The essential aspect, showing the interest of our process, lies in the variety of data used: text, multivalued data, and structured documents. Since we did not study the performance of our prototype, the Volume dimension of the data was not significant; our experiment was therefore limited to a BD of about 500GB. Step 1: We create Ecore meta-models corresponding to the source (Figure 3) and the target (Figure 4).

Implantation of the ToNoSQLmodel Process

Step 2: we build an instance of the source metamodel to produce the document-oriented NoSQL database (see Figure 5); this database is an extract from the medical application data described in section 2 and stored as an XMI file.

Step 3: We implement the transformation rules using the QVT language provided by EMF. An excerpt from the QVT script is shown in Figure 7; the comments in the script indicate the rules used.

Step 4: We test the transformations by running the QVT script created in step 3. This script takes as input the source model created in step 2 and outputs the NoSQL physical model. The result is provided as an XMI file, as shown in Figure 6.

Our source database contains various data as shown in Figure 5: multivalued fields (such as Firstname in the Patients collection), complex fields (Address in the Patients collection) as well as monovalued (Medical-history) and multivalued links (Competent). Figure 6 shows the data model resulting from our ToNoSQLmodel process. This model is generated in the Json formalism but it corresponds to the graphical representation that we gave in Figure 1.

POSITIONING OF OUR WORK

We position our work against Apache Drill system and the state-of-the-art presented in Section 3. The script input Apache-Drill system does not display a complete model for data stored under MongoDB. Indeed, only the names of the collections and the fields of the first level are displayed, which means that the nested fields do not appear. However, our process gives, for each collection, its name as well as all the names and types of the fields, that these are atomic or complex.

On the other hand, for the three research works cited in the state of the art, the proposed solutions do not consider the links between collections. However, in the application presented in section 2 (see Figure 1), the links between collections are useful for treatments and requests made by doctors. Thus, our process proposes a solution to take into consideration the links between the collections and formalize them in the resulting data model.

Finally, it should be emphasized that our process is based on the MDA architecture. This brings both a standard formalism of description of the transformation rules and a way of automating the sequences of transformations.

CONCLUSION AND PERSPECTIVES

Figure 1 :

 1 Figure 1: Excerpt from the physical model of data.

Figure 2 :

 2 Figure 2: Overview of ToNoSQLmodel process.

  ∪ CFL IN , is a set of input fields of

  is the name of the collection that contains the referenced document.

Figure 3 :

 3 Figure 3: Source Metamodel.

Figure 4 :

 4 Figure 4: Target Metamodel.

Figure

  Figure 5: Source Model.

Figure 6 :

 6 Figure 6: Target Model.

Figure 7 :

 7 Figure 7: Excerpt of the QVT code.

  FieldIName::toFieldName():Update::FieldUName{NameU: =self.NameI;} mapping Insert::FieldIValue::toFieldValue1():Update::FieldUValue{ if ((self.FieldIValue = "True") or (self.FieldIValue = "False")) {FieldUValue:= "Boolean";} FieldUValue:= "Number"; endif;} mapping Insert::FieldIValueForm::toFieldValue2():Update::FieldUValue { if (self.FieldIValueForm = "") {FieldUValue:= "String";} endif; if (self.FieldIValueForm = --/--/--/) {FieldUValue:= "Date";}endif;} --Transforming Structured Fields mapping Insert ::StructuredIField::toStructuredField():Update::StructuredUFiel d{ The script output

Our work is part of the evolution of databases towards Big Data. Our studies are currently focused on the extraction mechanisms of the data model from a NoSQL database in order to facilitate the expression of queries.

In this article, we have proposed an automatic process to extract the physical model from a document-oriented NoSQL database. This process is based on the Model Driven Architecture (MDA) architecture that provides a formal framework for automating model transformations. Our process generates a NoSQL physical model from a NoSQL database by applying a sequence of transformations formalized with the QVT standard. The returned model describes the structure of the collections that make up the database and their links. We have experimented our process on the case study in healthcare filed. This case study concerns scientific programs for monitoring patients having serious diseases; the database is stored on MongoDB system.

As future work, we plan to study the update of the data model as the database is being exploited. Indeed, the data volume can reach several terabytes, the generation of the model requires the scan of the entire database. It is therefore not possible for a user to restart the process each time he wishes to express a new query.


D Giraud

B Ristagno

J Fontchastagner

D Netter

N Labbe

V Lanfranchi

N Takorabet

Simple method to reduce computation time in planar airgap 3D FEM non-linear problems

Keywords: Air gaps, Electromagnetic forces, Finite element analysis, Iterative methods, Nonlinear magnetics

In the present work, an easily implementable method to reduce CPU time for some 3D FEM problems is presented. A translational displacement between two parts on both sides of a planar airgap is taken into account with a change of coordinates in the airgap region along the z-axis. To achieve this, formulation and post processing are slightly adapted. The proposed method is applied to an academic problem and to an axial electric rotating machine. Results are compared to a usual method. Time saving, ease of implementation and precision on results are really encouraging with a strong reduction of CPU time keeping a low relative deviation. The method could be easily applied to any configurations with planar airgap as axial motor.

I. INTRODUCTION

In 3D finite element analysis, CPU time is a crucial issue. For multiple static problems with displacement, there are three main difficulties. The mesh has to be adapted for each position, either by fully or partially remeshing, or by applying a deformation to each element [START_REF] Li | Adaptive mesh morphing method for numerical analysis of electromagneto-mechanical coupling using lagrangian approach[END_REF]. Moreover, in case of non linear material, re-using the previous solution to initialyze the next iterative process is sometimes difficult. Finally, the thickness of the airgap can cause a poor quality mesh. Therefore, some methods (as shell elements [START_REF] Sathyan | Computation of magnetic forces using degenerated airgap element[END_REF] for instance) are used in FEM problems including thin region. For FEM problems with translational displacement, the proposed method solves these difficulties by slightly adapting the weak formulation without changing the mesh. This paper is an extension of 2D dilation method ( [START_REF] Fontchastagner | Dilated subregions for solving FEM problems with thin airgaps : First step, 2D magnetostatic cases[END_REF] and [START_REF] Risnen | How can we deal with moving objects on a fixed mesh?[END_REF]) to 3D electric motors. The main benefit of the proposed method is its ease of implementation. To move away the two parts on both sides of a planar airgap, a variable substitution is made in the airgap region along the Z-axis. Keeping the mesh unchanged allows the initialization of the non-linear resolution with the previous solution. First, an academic problem is proposed to highlight the advantages of this method, already shown in [START_REF] Risnen | How can we deal with moving objects on a fixed mesh?[END_REF] for 2D cases, using free software Gmsh/GetDP [START_REF] Geuzaine | Gmsh: a three-dimensional finite element mesh generator with built-in pre-and post-processing facilities[END_REF] [START_REF] Dular | GetDP reference manual: the documentation for GetDP, a general environment for the treatment of discrete problems[END_REF]. Then, the method is applied to an axial claw pole motor.

II. DILATION FACTOR METHOD

A. Formulation

The proposed method can be applied to a magnetic device with two parts (Ω 1 and Ω 2 ) separated by a planar airgap (Ω e ) as in Fig 1 . Ω 1 has a translational displacement along the Z-Axis. With this method, the model is meshed for a constant airgap value e d and the problem is solved for all the airgap values e i without changing the geometry. A dilation factor α is used for each position. The constant airgap

Ω d (x d , y d , z d )
is the result of the dilation along the Z-Axis of the real airgap Ω e (x, y, z) as: x d = x, y d = y, z d = αz (see Fig. 1).

Ω 2

Ω e e

Meshed geometry Real geometry The jacobian J corresponding to the change of coordinates and its determinant are simply:

Ω d Ω 1 Ω = Ω 1 ∪ Ω d ∪ Ω 2 y x Ω = Ω 1 ∪ Ω e ∪ Ω 2 z e d = α e
(1)

J =   1 0 0 0 1 0 0 0 1 α   , | J |= 1 α
Magnetic scalar potential (ϕ) formulation is used in this method. A dummy magnetic field h s is calculated to replace the electric current j in the sources domain Ω s . Without dilation, the weak formulation in the total domain Ω is:

(2)

Ωs µ 0 h s • ∇ϕ dΩ - Ω µ(|∇ϕ|) ∇ϕ • ∇ϕ dΩ = 0
To solve another position (Ω e ) keeping the geometry (Ω d ), the gradient of ϕ in Ω e has to be express as a function of the gradient of ϕ in Ω d . With a symmetric second order tensor ᾱ:

(3)

∇ϕ |Ω e =    ∂ϕ ∂x ∂ϕ ∂y ∂ϕ ∂z    =    ∂ϕ ∂x d ∂x d ∂x ∂ϕ ∂y d ∂y d ∂y ∂ϕ ∂z d ∂z d ∂z    =    ∂ϕ ∂x d ∂ϕ ∂y d ∂ϕ ∂z d α    =   1 0 0 0 1 0 0 0 α   ᾱ ∇ϕ |Ω d
Only the term corresponding to the dilated subregion is modified in the weak formulation. Considering (3) in (2) it becomes:

(4) Ωs µ 0 h s • ∇ϕ dΩ - Ω1∪Ω2 µ(|∇ϕ|) ∇ϕ • ∇ϕ dΩ - Ω d µ 0 | J | ᾱᾱ T ∇ϕ |Ω d • ∇ϕ |Ω d dΩ = 0
After solving the problem, Post processing quantities have to be adapted in the dilated region by means of the tensor ᾱ. This approach has already been proven and implemented for a 2D case in [START_REF] Risnen | How can we deal with moving objects on a fixed mesh?[END_REF].

C. Magnetic Coenergy: Wco

Magnetic Coenergy is a global quantity and has to be integrated. The integration volume in dilated region has to be ajusted with (5)

| J |= 1 α . • Usual method: W co = Ωe 1 2 µ 0 | ∇ϕ | 2 , dΩ e • Dilation method: W co = 1 α Ω d 1 2 µ 0 | ᾱ∇ϕ | 2 ,
Tm = 1 µ 0    b x 2 -|b| 2 2 b x b y b x b z b x b y b y 2 -|b| 2 2 b y b z b x b z b y b z b z 2 -|b| 2 2   
The surface ∂Ω f goes to the domain frontier where b•n = 0. The part of the surface with b = 0 has a normal n along the dilation axis as shown Fig. 2.

A. FEM problem

The method is illustrated with an academic problem where structured mesh is strongly difficult and is compared to a usual method meshing all positions. An axial electromagnet with an off-centre iron plate (see Fig. 3) is chosen. The aim is to calculate the force in any directions on the iron plate for several airgap lengths. Using the dilated subregion method, only one meshing with a given e 0 value is necessary. e 0 is chosen to have a good quality of mesh elements without expending the element number. Then the dilation factor α = e0 e is calculated, e being the real aigap length. α is used in the weak formulation as explained in section II.

For three calculations corresponding to three airgap values (see Fig. 4) using the usual method, 3 meshes and 3 FEM resolutions are needed. Then, CPUTime = 3 MeshingTime + 3 ResolutionTime. To solve the same three FEM problems using the proposed method, e 0 = 3mm is chosen (as in Fig. 3) and the three factors

α i = e0
ei are calculated as:

• α 1 = 3/1 =

B. Result

The problem has been solved for 100 airgap lengths with a linear and then a non-linear permeability µ(b) in iron. Comparing the two methods, with and without remeshing, the maximum relative deviation on the three force components and the Coenergy is about 6% and lower than 2% in most cases as shown in Fig. 5, Fig. 6 and Fig. 7. With the proposed method, only one geometry is meshed instead of 100 with the usual method both for linear and nonlinear resolution. For linear problem, resolution time is the same using the two method. With the non-linear permeability µ(b), resolution time decrease using the dilation factor method. This is due to a better initialization of the fixed-point iterative process. Indeed, the proposed method keeps the mesh unchanged for all positions and the non-linear resolution is initialized with the solution of the previous position. Convergence criterion is reached in 2 or 3 iterations instead of 8

IV. AXIAL CLAW POLE MOTOR A. FEM problem

The method is applied to an axial claw pole motor with double airgap shown in Fig. 8 (the winding head are taken into account in calculations but are not represented)

The torque is calculated for several airgap values. As previously, with the dilation method, only one meshing is made for an angular position with a constant airgap e d . The torque is calculated for all the airgap values by applying several dilations factors. The non-linear resolution is initialized with the solution of the previous airgap value. The method is compared to an usual method meshing all positions and all airgap values.

B. Results

The problem has been solved for 10 angular positions and 10 airgap values from 0.6mm to 1.5mm with a periodic model using a non linear permeability (see Fig. 9). The geometry is meshed for e d = 1.5mm and dilation factor is between 1 and 2.5. All curves are plot with torque in per unit as: With too large airgap e d , dofs number and CPU time drastically increase, which makes this method irrelevant. Moreover, dilation factor can not be too high. Indeed, a high dilation factor corresponds to a very thin airgap. In this case, meshing with usual method is impossible and comparison can not be performed. In practical, for the two applications of this paper, choosing 1 < α < 6 (and then e d = 6 min (e)) gives satisfactory results. For other devices, this criterion has to be validated case by case comparing dilation and usual method with one computation using α = 6.

V. CONCLUSION

Displacement or different airgap values has been taken into account by slightly adapting the weak formulation. The relative deviation between coenergy, force or torque is only about 6% with a reduction of CPU time. Time saving depends on magnetic saturation, on number of mesh elements and mainly on the number of calculations/positions. It could be easily applied to any configurations with planar airgap such as axial motor or maybe with thin conductors.

Fig. 1 .

 1 Fig. 1. Dilation along the Z-Axis.

  B. Magnetic flux density: b • Usual method: b = -µ 0 ∇ϕ • Dilation method: b = -µ 0 ᾱ∇ϕ |Ω d Keep in mind that ϕ |Ω d is not the magnetic scalar potential but a modified scalar potential which assures that the flux density b is div-free.

  dΩ d D. Maxwell stress tensor: T m With the Maxwell stress tensor used on a surface ∂Ω f , Force = ∂Ω f Tm dS with:

  By using an average on a skin volume with a thickness e d :Force = 1 e d Ω fT m ndV The dilation method also uses the equation 3. Only the calculation of flux density is different.

Fig. 2 .

 2 Fig. 2. Maxwell stress tensor surface

Fig. 3 .

 3 Fig. 3. Electromagnet geometry

e = 1 mm e = 2 mm e = 3 mmFig. 4 .

 34 Fig. 4. Three positions with usual method

  3 to solve e = 1 mm. • α 2 = 3/2 = 1.5 to solve e = 2 mm. • α 3 = 3/3 = 1 to solve e = 3 mm. In this case, as only one position is meshed, CPUTime = MeshingTime + 3 ResolutionTime.

Fig. 5 .

 5 Fig. 5. Electromagnet: Force along Z-Axis

Fig. 6 .

 6 Fig. 6. Electromagnet: Force along X-Axis and Y-Axis

Fig. 8 .

 8 Fig. 8. Synchronous axial claw pole motor

T

  Fig. 10. Axial claw pole motor: Torque and time resolution by 1.8 due to a better initialization of the

TABLE I .

 I

TABLE II AXIAL

 II CLAW POLE MOTOR: TIME RESULTS N bp = 10 positions Usual method Dilation factor method N ba = 10 airgap Meshing Time: N bp N ba • 17s = 28min N bp • 17s = 2min50s Moreover, convergence criterion is reached in 4 iterations instead of 10, because of a better starting point. Time results are summarized inTABLE II.

	Resolution Time	1h37min	54min
	CPU Time	2h 5min	57min
	iterative process.