Software tools for cell culture-related 3D printed structures

Three-dimensional (3D) printing technology allowed fast and cheap prototype fabrication in numerous segments of industry and it also became an increasingly versatile experimental platform in life sciences. Yet, general purpose software tools to control printer hardware are often suboptimal for bioprinting applications. Here we report a package of open source software tools that we developed specifically to meet bioprinting requirements: Machine movements can be (i) precisely specified using high level programming languages, and (ii) easily distributed across a batch of tissue culture dishes. To demonstrate the utility of the reported technique, we present custom fabricated, biocompatible 3D-printed plastic structures that can control cell spreading area or medium volume, and exhibit excellent optical properties even at 50 ul sample volumes. We expect our software tools to be helpful not only to manufacture customized in vitro experimental chambers, but for applications involving printing cells and extracellular matrices as well.


Introduction
The recent spread of 3D printing technology allowed fast and cheap prototype fabrication in numerous segments of industry and it also became an increasingly versatile experimental platform in life sciences. Bioprinting now is efficient and accurate to build in vitro tissue models with the potential to provide pathologically relevant responses and thus model human disease mechanisms. Bioprinted structures increasingly yield phenotypic endpoints that are comparable with clinical studies and can provide a realistic prediction of clinical efficacy [1]. Several excellent papers review the various materials and bioprinting systems as well as their promise of clinical applications [2][3][4][5][6].
As a relevant example, a recent study describes bioprinting of three dimensional, cell-laden, vascularized tissues that exceed 1 cm in thickness [7]. These constructs could be perfused on a microfluidic chip for long time periods exceeding six weeks. Remarkably, the device can integrate up to three tissue types (parenchyma, stroma, and endothelium)-differentiated from human mesenchymal stem cells (hMSCs) in a customized extracellular matrix environment. In a similar effort, an artificial vascular network was reported by 3D printing of rigid sugar filament networks, followed by embedding in a fibrin hydrogel. After dissolving the sugar, the a1111111111 a1111111111 a1111111111 a1111111111 a1111111111 resulting tunels can be populated with endothelial cells and perfused with blood under highpressure pulsatile flow [8]. Using a novel coaxial printing method a functional blood vessel can be fabricated, where the lumen is filled with a water-soluble material, while the bio-ink for the wall is a composite of ECM proteins and endothelial progenitor cells [9]. The structure of the extracellular environment can be also shaped by 3D printing technology. As an important example, follicle explants can be cultured in a suitable gelatin mesh structure, and can be used as a functional ovarian implant in surgically sterilized mice [10]. Such implanted, follicleseeded scaffolds become highly vascularized and ovarian function was fully restored: pups are born through natural mating and thrive through maternal lactation.
Affordable 3D-printing also allows the development of specialized devices for in vitro cell technology. As an example, 3D printed inserts can be used to grow and stimulate neurons within geometrically constrained compartments [11]. By fabricating structures in culture dishes, one can control cell spreading, hence local cell density, or by restricting medium volume, decrease the amount of necessary reagents. 3D-printing technology also allows a simple in-lab fabrication of channels and reservoirs in cell culture dishes-on a cruder scale than litography-based microfluidic chambers, but without requiring specialized equipment and at a fraction of the cost [12,13]. While 3D-printers, with small modifications, are capable bioengineering tools, these applications also require software tools that have distinct requirements from general-purpose slicer applications that convert a 3D solid object into a sequence of machine movements, conventionally encoded in g-code [14]. Most importantly, bioengineering applications like cell printing or fabricating cell-scale environments often require welldefined, specialized motion patterns and an ability to reproduce it in parallel targets, like an array of culture dishes. Prescribing each machine movement by manually editing the low-level g-code sequence is laborious, error-prone and time-consuming. For this reason we developed a software package which can represent machine movements or g-code elements by simple functions of a high level programming language such as python or C#. We also created a graphic user interface, PetriPrinter, which distributes the programmatically defined printer movements into several culture dishes organized in a grid pattern.

Cell lines and culture conditions
P31 cells were a kind gift from Prof. K. Grankvist (University of Umea, Sweden). 3T3 cells were obtained from American Type Culture Collection (ATCC; CCL-92). Primary hippocampal culture was a kind gift of Katalin Schlett and Krisztian Tarnok (Eötvös University, Hungary), and was established according to the animal welfare permit PEI/001/1108-4/2013 and PEI/001/1109-4/2013, in agreement with European Union and Hungarian legislation.

Cytotoxicity screening
Cytotoxicity was evaluated by measuring the cellular protein content according to previously published protocol [16]. Cells were plated in the inner 40 wells of a 96-well plate. After 48 h exposure to various amounts of polylactic acid (PLA), cell monolayers were fixed with 10% trichloroacetic acid and stained for 15 min with sulforhodamine B (SRB). Cells were repeatedly washed with 1% (v/v) acetic acid to remove excess dye. The protein-bound dye was dissolved in 10 mM Tris and the optical density of the sample was determined at 570 nm using a microplate reader (EL800, BioTec Instruments, Winooski, VT, USA).

Live/dead assay
To characterize overall cell culture health, the Live/dead viability/cytotoxicity Kit (Invitrogen) was used according to manufacturer's protocol. Briefly, live cells were labeled with 4 μM calcein-AM in cell culture medium (DMEM supplemented with 10% fetal bovine serum) at 37˚C for 30 minutes. Subsequently, dead cells were labeled with 8 μM ethidium homodimer-1 in cell culture medium at 37˚C for 30 minutes. Cells were fixed with 4% paraformaldehyde in phosphate buffered saline.

Microscopy imaging
All images were made on a Zeiss Axio Observer Z1 inverted microscope with 10x Plan-Neofluar or 5x EC Plan-Neofluar objective. The microscope was equipped with a Zeiss Axiocam MRM CCD camera.

Sterilization
3D printing in Petri dishes took place in open environment. After the printing process dishes were sterilized with 70% (v/v) ethanol for 10 min then dried for 2 h under a sterile hood.

Quantitative analysis of image contrast
To measure the quality of phase contrast images, we utilized the Fiji programming environment [17]. First, wells were selected by an ellipse ROI (region of interest) applied to a composite mosaic image, built from multiple adjacent field of views. To detect the local brightness changes, images were filtered through a Sobel edge detector. Cells were identified by a suitable threshold value applied to the Sobel-filtered image. The Sobel filter values were then averaged over pixels belonging to cells yielding a score for each image.

Software tools
Our software consist of an application programming interface (API) and two graphic user interface applications (Fig 1). As described in more detail below, the API (gCodeAPI.NET) provides a convenient function library to represent g-code objects. The gCode Editor application visualizes g-code from third party slicer applications and allows their manual modification and optimization for cell culture applications. Finally, the PetriPrinter application distributes g-code objects into several culture dishes for batch printing. All parts of this software package require at least a Windows XP system and a Microsoft.NET Framework 4 package, and are licensed under the Apache License 2.0.
3.1.1 gCodeAPI.NET. Native computer numerical control (CNC) programming language (g-code) is a very limited programming language which does not contain variables or logical operators and it is inconvenient to read by humans. This API encapsulates g-code commands into functions of high-level programming languages such as C# or python (see code examples in S1 Appendix). Besides the availability of the entire repertoire (variables, loops, flow control) of these languages, gCodeAPI.NET adds easily interpretable commands such as line, arc, relative and absolute position, speed, extrude or temperature. Documentation of the command library as well as code tutorials are available at the http://petriprinter.elte.hu website and on github (http://github.com/gulyasmarton/PetriPrinter). As demonstrated in the S1 Appendix, one can define a simple object like a cylinder surface with a few lines of code.
3.1.2 gCode Editor. Generic purpose CAD programs allow the design of complex structures in a more convenient way than building it up from the elements of our g-code API. Slicer programs, which generate g-codes from a 3D solid model, do not offer a detailed control over the tool movements. When printing delicate structures, however, some extruder head movements may pull thin, undesired PLA threads and deposit them on the tissue culture surface. Close proximity of the hot extruder head and the tissue culture surface during head travel can also deteriorate the surface. Thus, there is a need to re-route such movements away from regions where cells are expected to adhere. Finding such problematic machine movements in the raw g-code, however, is quite difficult.
To make such tasks easier, our gCode Editor combines features of printing path viewers and text editors: One can navigate among the g-code commands while a parser function translates the code to human readable format and the Path Viewer draws the printing path. Using this visual information and GUI tools, one can identify and replace the problematic head movements: travel paths can be augmented by inserting new control points and existing control points can be relocated by mouse clicks. The output of the editor is an API object which is compatible with the PetriPrinter program.

PetriPrinter.
The PetriPrinter application is a g-code generator program which handles model files and aligns them into suitable positions to be printed into culture dishes. Using a graphic user interface one can assign an arbitrary combination of distinct objects to the available positions. The software provides collision-safe and optimized entry, exit and movement between the dishes.
Simple PLA-printable dish positioning objects like grids and rings are distributed as examples with the program package. The application can be adjusted to various hardware platforms by specifying settings such as printing temperature, start height, and row/column distances.
When using dish holders, determining the heights of culture surfaces is crucial to obtain reliable prints. According to our measurments, the average print-by-print variation of the culture dish surfaces is 0.2 mm (15 wells, 8 independent runs), larger than the height of a single layer. Thus, we augmented the printer with a microswitch probe to measure the surface height of each dish (see below), and utilize this information by the PetriPrinter software.

Validation.
To test if the gCodeAPI commands are translated into correct g-Codes, we translated test objects utilizing the basic elements of the API such as lines and ellipses. We extracted the coordinates from the generated g-Codes, and determined the distance between the points and the corresponding mathematical curve. For each object we found the distance between the g-Code points and the mathematical curve to fall wihin the numerical precision limit (10 − 8 mm).

Modification of printer hardware.
To print into tissue culture dishes, we modified a hobby-level 3D printer (Ultimaker Original, Ultimaker B.V., The Netherlands). The fan shroud was changed to increase the rate of air flow and to allow an air gap between the top of the dish wall and the bottom of the shroud. The heater block was replaced by one with a cylindrical neck above the nozzle socket, in order to fit into culture dishes and to increase the printable area within the dishes (Fig 2).
To keep the tissue culture dishes at a pre-determined grid, one can either attach PLAprinted sockets to the build plate (object submitted to thingiverse upon acceptance), or replace the build plate with a dedicated stage where machined sockets are lined with O-rings to keep the dishes in place. In this latter approach the z coordinate of each dish is determined by a dedicated probe with a microswitch (Fig 2). This approach is precise (repeatable) within the resolution of the printer's z axis positioning (12 μm).
3.2.2 PLA wells can provide optimal phase contrast optics. PLA wells can be shaped in such a way that minimizes the deterioration of phase contrast optics by eliminating the curvature of the medium interface. If wells have an appropriate conical shape, the equilibrium contact angle between the wall and the medium is achieved by a flat medium-air interface.
To determine the suitable slope angle of the conical surface, we made a series of models with angles ranging from vertical to outward leaning cones with an aperture angle of 100˚. As  Fig 3 demonstrates, for DMEM within a PLA container the phase contrast quality gradually improves until the aperture of the cone reaches 80˚, i.e. the slope of the walls is 40˚. This improvement reflects both a decreasing curvature of the medium surface and an increasing distance of the medium-wall contact area.

PLA structures in tissue culture dishes.
We demonstrate the utility of the approach by some simple 3D printed structures in 35 mm culture dishes that are useful in various experimental studies. Such dishes are convenient for time-lapse studies as they offer better phase contrast images than 24 or 96 well plates.
Dish 1 (Fig 4A) allows to maintain seven independent cultures within the same 35 mm dish, without sharing media and without deterioration of optical quality. Each well consists of a 3 mm tall cylindrical wall, which expands into a conical surface of 1 mm high with the previously determined apex angle of 100˚. Dish 2 ( Fig 4B) contains a small ring to limit the spreading of cells and a higher, larger diameter outer wall to set the volume of medium within the same 35 mm dish. Limiting cell spreading to a certain area can be used to locally set cell density. In particular, high cell densities can be maintained with a high medium volume/cell ratio, enabling long term observation of cultures [18]. Dish 3 (Fig 4C and 4D) contains 1 mm 2 miniwells that can be used to isolate cell clones, possibly obtained with a single cell sorter [19]. A microscopic image of the single layer PLA wall indicates the resolution limits obtainable with such technology: the 0.4 mm wide extrusion nozzle yields 120 μm tall and 920±90 μm wide PLA barriers on the tissue culture plastic. The mean area between the barriers was determined to be 1.82 mm 2 , while the standard deviation of individual cell areas was found to be 1.6.

Biocompatibility of PLA structures.
To test the acute (short-term) cytotoxicity of fusion-deposited PLA structures, we exposed two well-established cell lines, 3T3 fibroblasts and p31 mesothelioma tumor cells, to various amounts of PLA. After two days in culture, the total protein content of the cells, as a viability score, was determined by the SRB assay. As Fig 5 indicates, the viability of the cells was not affected by the presence of PLA.
Long term cytotoxicity was assayed using a primary hippocampal neuron culture (Fig 6). Cells were seeded onto Poly-L-lysine-coated surfaces at a density of 900 cells/mm2. The Yellow area: modified shroud to increase clearance to the stage and improve airflow. Blue area: a heater block that fits into the tissue culture dish. Red area: holder for a removable microswitch sensor, used to map the height of each dish. C: Printhead with microswitch sensor installed (orange). Another microswitch sensor, mounted on the stage (dark red) is used to calculate the height difference between the removable sensor and the nozzle.   Software tools for cell culture-related 3D printed structures culture dish contained three PLA rings to limit cell spreading and to maintain high medium/ cell ratio. These conditions are favorable for long-term cell culture. After 7 days in vitro, cell viability was determined using a fluorescent live/dead staining kit, which indicated a cell death rate of less than 2.2.

Conclusions
3D printing is becoming wide-spread in life sciences, either to provide cost-effective alternative to existing experimental devices, or to fabricate highly specialized structures that are specifically designed to meet certain experimental requirements. To effectively transfer 3D printing know-how, some uniformization-a common language-is required. Our approach can represent a variety of objects by sufficient detail and precision, yet in a conceptionally clearer form than a sequence of machine-specific low-level movement commands. We hope that this platform will thus facilitate both the distribution as well as the development of new, experiment-specific devices or in vitro cell technologies.
Supporting information S1 Appendix. Example codes using the gCodeAPI. A cylinder surface is defined in C# (A) or python (B) language. (PDF)