Exposure to positively-and negatively- charged plasma cluster ions impairs IgE-binding capacity of indoor cat and fungal allergens

Kazuo Nishikawa
†
Takashi Fujimura
Yasuhiro Ota
†
Takuya Abe
Kareem Gamal Elramlawy
Miyako Nakano
Tomoaki Takado
Akira Uenishi
Hidechika Kawazoe
Yoshinori Sekoguchi
Akihiko Tanaka
Kazuhisa Ono
Seiji Kawamoto
Exposure to positively-and negatively- charged plasma cluster ions impairs IgE-binding capacity of indoor cat and fungal allergens
10.1186/s40413-016-0118-zO R I G I N A L R E S E A R C H Open Access
Background: Environmental control to reduce the amount of allergens in a living place is thought to be important to avoid sensitization to airborne allergens. However, efficacy of environmental control on inactivation of airborne allergens is not fully investigated. We have previously reported that positively-and negatively-charged plasma cluster ions (PC-ions) reduce the IgE-binding capacity of crude allergens from Japanese cedar pollen as important seasonal airborne allergens. Cat (Felis domesticus) and fungus (Aspergillus fumigatus) are also important sources of common airborne allergens in living spaces throughout the year, and early sensitization with those allergens is considered to be a risk factor for future development of allergic rhinitis, pollinosis and asthma. The aim of this study is to examine whether the PC-ions reduce the IgE-binding capacity of a cat major allergen (Fel d 1) and fungal allergens in an experimental condition.

Background

High amounts of airborne allergens that can be found in living spaces can be a risk factor for sensitization to allergens and elicitation of allergic symptoms, such as rhinitis and asthmatic attacks. Environmental control to clean air pollutants can lead to the amelioration of allergic symptoms. Moreover, environmental control using an air filtration unit resulted in the significant reduction of the quantity of inhaled airborne allergens in a room. Such reductions in the amounts of airborne allergen may result in positive impacts that can improve clinical symptoms [1,2]. We previously reported that environmental control using an air cleaner with positively-and negatively-charged plasma cluster ions (PC-ions) induced protein degradation and inactivation of atomized Japanese cedar (Cryptomeria japonica) pollen allergens [3]. Therefore, we hypothesized that PC-ions might also degrade and inactivate common airborne allergens. In this study, we focused on cat and fungal allergens as common indoor airborne allergens, because cats and fungal allergens represent a significant risk factor to induce respiratory disorders including asthmatic attacks throughout the year [4,5]. It is more important to investigate PC-ions can inactivate perennial airborne allergens than seasonal allergens for allergic patients. Therefore, we analyzed whether the PC-ions can impair IgEbinding capacity of a cat major allergen, Fel d 1, and fungal allergens as important environmental airborne allergens to induce allergic rhinitis and asthma attacks throughout the year.

Cat (Felis domesticus) allergens represent some of the most important airborne allergens that can induce severe allergic rhinitis and asthma. Sensitization to cat allergens in childhood is thought to be a risk factor for the future development of pollinosis, asthma, and allergic eczema [4,6]. In Japan, a survey of 504 asthma patients conducted in 1993-1994 reported that 70 % of 44 patients who kept cats and 34 % of 394 patients who had never kept cats were positive for cat-specific IgE, as indicated by CAP-RAST score ≥2 [7]. Notably, individuals who never had a cat can also be sensitized to airborne cat allergens as a consequence of exposure to airborne cat allergens outdoors and in public institutions. Cat allergens have been detected in school classrooms in the absence of cats; furthermore, indoor airborne pollutants are more toxic than those that are found outdoors, and these could induce inflammatory and allergic reactions [8]. Airborne cat allergens are thought to be transferred and deposited indoors when attached on the clothes or hair of cat owners [9]. Therefore, sensitization to cat allergens can occur in individuals who do not keep a cat.

Feline uteroglobin was identified as a major allergen for cat allergy and was termed Fel d 1 [10]. Fel d 1 is a tetrameric glycoprotein that is formed by two heterodimers and has an apparent~38 kDa molecular weight. The heterodimer is composed of two separate chains with apparent molecular weight of 4-5 and 14-20 kDa under denatured condition, as chain 1 and chain 2, respectively [11,12]. Immunoblotting analysis showed both chain 1 and chain 2 had IgE-binding capacity with cat-allergic patients' sera and the IgE-binding frequency was 100 % (6/6) and 33 % (2/6) for the chain 1 and chain 2, respectively, in six cat-allergic patients' IgE. The chain 1 and chain 2 were dissociated in native Fel d 1 after denaturation by such high pH condition or reduced condition with SDS [12]. IgE titers specific to Fel d 1 in cat-sensitized asthma patients were significantly higher than those in cat-sensitized rhinitis patients. Therefore, elevated titers of Fel d 1-specific IgE are thought to be a risk factor for asthma in children who are allergic to cats [13]. These reports showed the immunological importance of Fel d 1 as a major allergen related to cat allergy.

Allergenic fungus (Aspergillus fumigatus) is also an important source of airborne allergens and has been a major course of allergic bronchopulmonary aspergillosis. Twenty three allergens from A. fumigatus have registered on the official website for the systematic allergen nomenclature that is approved by the World Health Organization and International Union of Immunological Societies (WHO/ IUIS) Allergen Nomenclature Sub-committee. Asp f 1 and Asp f 2 are reported to be major allergens for A. fumigatus among the registered allergens [14]. Asp f 1 has identified as an IgE-binding protein belonged to mitogillin family of cytotoxins from A. fumigatus. Asp f 1 is an 18 kDa protein with 85 % (11/13) IgE-binding frequency within asthma or allergic bronchopulmonary aspergillosis patients [15]. Airborne fungal allergen exposures increase degree of atopy and visit to emergency department or urgent care for asthma [5]. Environmental control including decrease of airborne fungal allergens is considered to be important to reduce the incidence of asthma attacks for both childhood and adult asthma.

Herein, we showed the degradation and impairment of IgE-binding capacity of Fel d 1, crude fungal allergen, and Asp f 1 by PC-ions in experimental cylindrical condition.

Methods

Reagents and plasma

A cat major allergen, Fel d 1, and a fungal major allergen, Asp f 1, were purchased from INDOOR Biotechnologies (Charlottesville, VA, USA). Crude fungal extract (CFE) was purchased from ITEA (Tokyo, Japan). All chemicals were purchased from Katayama Chemical Industries (Osaka, Japan), Sigma-Aldrich (St. Louis, MO, USA) or Nacalai Tesque (Kyoto, Japan) unless otherwise indicated. Plasma was obtained from two cat-allergic asthma patients who exhibited positive CAP-RAST score to Fel d 1 and from three fungi-allergic asthma patients who showed positive CAP-RAST score to Asp f 1. The plasma were stored at −30°C until use. All studies that used human samples were approved by the institutional ethics committee at Showa University School of Medicine (Tokyo, Japan).

Treatment of positively-and negatively-charged plasma cluster ions

Airborne allergens; Fel d 1, CFE and Asp f 1, were treated with positively-and negatively-charged plasma cluster ions (PC-ions), as described previously [3]. Briefly, a cylindrical apparatus (14.5 cm diameter × 52.5 cm height) was filled with PC-ions (2.5 × 10 4 PC-ions/cm 3 ) for 6 h, and then 221 mL of 1 mg/ml Fel d 1 solution or 666 ml of 40 ng/ml CFE or Asp f 1 solution was nebulized from top of the apparatus to expose the PC-ions. Nebulized solution was collected in a 10 cm petri dish (BD Biosciences, San Diego, CA, USA) that was placed underneath the apparatus ( Fig. 1). Sham-treated allergen was prepared in the same condition, but without generating the PC-ions.

Quantification of Fel d 1 and Asp f 1 by ELISA and mass spectrometric analysis

Amount of Fel d 1 and Asp f 1 was quantified using a Fel d 1-or Asp f 1-specific enzyme-linked immunosorbent assay (ELISA) kit (INDOOR Biotechnologies) following the manufacturer's instructions. Prior to quantification of Fel d 1 by ELISA, CFE and Fel d 1 solution after PC-ions or sham treatment were 1,250-fold concentrated by lyophilization. Fel d 1 that was collected after PC-ions or sham treatment was separated by sodium dodecyl sulfate polyacrylamide gel electrophoresis (SDS-PAGE) under reducing condition and proteins were visualized by silver staining following the manufacturer's instructions (Cosmo Bio, Tokyo, Japan). Proteins separated on SDS-PAGE were identified by liquid chromatography (LC) connected to a mass spectrometer (MS, LTQ Orbitrap XL, Thermo Fisher Scientific, Rockford, IL, USA) using a HPLC column (Develosil ODS-HG-5, Nomura Chemical, Aichi, Japan) and Xcalibur software v2.0.7 (Thermo Fisher Scientific), as described elsewhere [16].

ELISA inhibition

The immunoglobulin E (IgE)-binding capacity of PC-ionstreated allergens for pooled plasma from patients sensitized with each allergen was analyzed using an ELISA inhibition assay, as described previously with slight modifications [3]. Briefly, a 96-well microtiter plate (NUNC maxisorp, Thermo Fisher scientific) was coated with 0.1 ml of 200 ng/ml sham-treated Fel d 1, CFE or Asp f 1 dissolved in 100 mM bicarbonate buffer (pH 9.4) overnight at 4°C. After washing three times with phosphate buffered saline containing 0.05 % Tween 20 (PBST), plate were blocked with PBST containing 3 % skim milk and 1 % bovine serum albumin (BSA) for 2 h. Pooled plasma was diluted 80-fold from two Fel d 1-positive asthmatic patients or 12.5-fold from three Asp f 1-positive asthmatic patients, which was preincubated with serial dilutions of PC-ions-or shamtreated Fel d 1, CFE or Asp f 1 overnight at 4°C. Then, pooled plasma was applied to sham-treated Fel d 1-, CFEor Asp f 1-coated plates, which were incubated for 12 h at 4°C. After washing with PBST three times, plates were incubated with biotinylated anti-human IgE monoclonal antibody (Vector Laboratories, Burlingame, CA, USA) diluted 1:1,000 for 1 h at room temperature, followed by 1 h incubation with alkaline phosphate-conjugated streptavidin (Jackson ImmunoResearch Laboratories, West Grove, PA, USA). To determine the amount of IgE-binding, Attophos substrate solution (Promega, Fitchburg, WI, USA) was added to the plate and fluorescence intensity was measured using a Wallac 1420 ARVOsx Multilabel Counter (Perkin-Elmer, Downers Grove, IL, USA).

Statistical analysis

Statistical analyses were performed using non-repeated ANOVA. For differences that were found to be significant, post-hoc analysis using a Student-Newman-Keuls test was performed. A threshold for statistical significance was set at P < 0.01.

Results

PC-ions decrease protein content of a cat major allergen, Fel d 1

We previously reported that PC-ions inactivated the allergenic activity of crude allergen extracted from Japanese cedar (Cryptomeria japonica) pollen [3]. This finding Fig. 1 Cylindrical apparatus for PC-ions exposure. PC-ions were generated in four Plasma cluster™ devices (shown as gray boxes) that were placed inside of wall of the apparatus. PC-ions were emitted from the devices and filled the apparatus at 2.5 × 10 4 ions/cm 3 . A "mist" solution containing allergen was generated from a nebulizer located on the top of the apparatus, which is shown in a box with horizontal stripe. The solution was shed at 2.5 L/min (flow rate) and 3.3 m/s (linear velocity). A petri dish was placed beneath the apparatus to collect the PC-ions-or sham-treated allergen solution prompted us to investigate whether PC-ions could also inactivate the IgE-binding activity of cat and fungal allergens, as these are among the most important airborne indoor allergens that can induce severe allergic rhinitis and asthma attacks. After treatment with PC-ions, the concentration of Fel d 1 was significantly reduced compared with those measured before treatment and after sham treatment (351.1, 52.6, and 11.4 ng/ml for before treatment, after sham and PC-ions treatments, respectively; Fig. 2a). Concentration of Fel d 1 after sham treatment was also significantly reduced compared with that before treatment. The reduction was thought to be a consequence of non-specific degradation by vaporization of solution in the apparatus (Fig. 1). Indeed, the concentration of Fel d 1 was reduced by 79.3 % after PC-ions treatment compared with that after sham treatment. SDS-PAGE analysis indicated that both the 16.0 kDa (chain 2) and 6.5 kDa (chain 1) proteins were significantly reduced after PC-ions treatment compared with those before treatment and after sham treatment (Fig. 2c). We confirmed that the 16.0 and 6.5 kDa proteins were subunits of Fel d 1 by analyzing of internal amino acid sequences after trypsin digestion using LC-MS (data not shown).

PC-ions impair the IgE-binding capacity of Fel d 1

We then analyzed the IgE-binding capacity of Fel d 1 after PC-ions or sham treatment. We tested IgE-binding capacity of PC-ions-treated Fel d 1 by inhibitory activity between sham-treated Fel d 1 and a pooled plasma from Fel d 1-positive patients, as only nebulization could reduce IgE-binding capacity for Fel d 1, as suggested by the protein degradation analysis (Fig. 2a and c). The inhibition curve for Fel d 1 after PC-ions treatment was shifted towards a higher allergen dose compared with that of sham treatment (Fig. 3a). The amount of protein needed achieve 50 % inhibition of binding between sham-treated-Fel d 1 and pooled plasma was 53.5 and 12.4 ng for PC-ions-and sham-treated Fel d 1, respectively. This finding showed 76.9 % of IgE-binding capacity was impaired by PC-ions treatment. These data strongly suggested that PC-ions inactivated indoor cat allergens by degrading Fel d 1.

A C B Fig. 2 Degradation of Fel d 1 and CFE after PC-ions treatment. Concentrations of Fel d 1 (a) or Asp f 1 contained in CFE (b) in solution before and after sham or PC-ions treatment, as measured by ELISA, are represented as pre-treated, sham-treated and ion-treated, respectively. Concentrations of allergens are represented as means ± standard deviation. Significant differences at the level of **P < 0.01 was estimated by the post-hoc Student-Newman-Keuls test after non-repeated ANOVA. c Solutions of Fel d 1 before treatment and collected in the petri dish after sham or PC-ions treatment were loaded on a SDS-PAGE gel under reducing condition, which were labeled as pre-treated, sham-treated, and ion-treated, respectively. After visualizing bands by silver staining, the amino acid sequences of the main 15.0 and 6.5 kDa bands (chain 2 and chain 1, respectively) were analyzed by LC-MS and were confirmed to match the amino acid sequence of Fel d 1. Chain 1 and chain 2 for Fel d 1 were indicated with arrows. The lane labeled as Marker represents a molecular weight marker

PC-ions also impair the IgE-binding capacity of fungal allergens

We also analyzed the impairment of IgE-binding capacity of fungal allergens by PC-ions treatment. The amount of Asp f 1 in CFE after both sham and PC-ions treatments was significantly decreased compared with that before treatment as same as the case of Fel d 1, and the amount of Asp f 1 after PC-ions treatment was significantly reduced compared with that after sham treatment (1.97, 0.38 and 0.14 pg/ml before treatment and after sham or PC-ions treatment, respectively; Fig. 2b). We also nebulized a purified Asp f 1 in the cylindrical apparatus. The amount of the Asp f 1 was also significantly decreased after nebulizing in the apparatus as well as the case of CFE, however, the amount of Asp f 1 after PC-ions treatment was comparable with that after sham treatment (6.1, 1.9 and 1.7 ng/ml before treatment and after sham or PCions treatment, respectively; data not shown).

We then analyzed IgE-binding capacity of CFE and Asp f 1after PC-ions treatment. The inhibition curve for PCions-treated CFE was shifted to high dose of inhibitors compared to sham-treated CFE (Fig. 3b). The amount of inhibitors to achieve 50 % inhibition of sham-treated CFE and a pooled plasma were 159 ng for sham-treated CFE and 601 ng for PC-ions-treated CFE, respectively (Fig. 3b). The result showed 73.5 % reduction of IgE-binding capacity by PC-ions treatment for CFE. To confirm the inactivation of IgE-binding capacity of Asp f 1 by PC-ions, IgE-binding capacity of Asp f 1 after PC-ions treatment was analyzed. For the inhalation as a purified Asp f 1, the amount of inhibitors to achieve 50 % inhibition of shamand PC-ions-treated Asp f 1 were 1.99 ng for sham treatment and 10.93 ng for PC-ions treatment, respectively (Fig. 3c). The result showed 81.8 % reduction of IgEbinding capacity after PC-ions treatment and this reduction was comparable with that for CFE.

Discussion

Sensitization to cat allergens in childhood represents a strong risk factor for developing pollinosis, asthma, and atopic eczema in school children and adults [4]. To avoid sensitization to cat allergens, it is not sufficient to avoid keeping or approaching a cat, because airborne cat allergens can be carried with clothes and hairs of cat-owners into kindergartens, school class rooms, and public institutions [9]. We found that PC-ions could effectively degrade and inactivate an airborne cat allergen, Fel d 1 (Figs. 2a, c  and 3a). PC-ions significantly degraded both chain 1 and chain 2 for Fel d 1 and the chain 2 disappeared almost completely after PC-ions treatment by SDS-PAGE analysis (Fig. 2c). Degradation and modification of the tertiary PC-ions treatment of purified Asp f 1 also impaired IgEbinding capacity of Asp f 1, although exposure with PCions had no significant effect on the protein amount of Asp f 1 as quantified by sandwich ELISA (Fig. 3c and data not shown). Our ELISA inhibition assay showed that PC-ions treatment impaired IgE-binding capacity for CFE and purified Asp f 1, which indicated that 73.5 % and 81.8 % of their IgE-binding capacities were lost upon exposure to PC-ions ( Fig. 3b and c). These degree of impaired IgE-binding capacity were comparable to that seen in PC-ions-treated Fel d 1 (76.9 %) (Fig. 3a). One possible explanation for the decreased IgE-binding capacity in purified Asp f 1 is that conformational epitopes of Asp f 1 might be destroyed by treatment with PC-ions to impair its IgE-binding capacity without affecting protein amount. Although our data suggest that induction of protein degradation is the predominant effect of PC-ions, another possibility that PC-ions induce any structural changes in purified Asp f 1 (e.g. induction of protein denaturation and/or aggregation) needs to be addressed by further analysis.

PC-ions can be generated by the discharge of plasma in a Plasma Cluster™ device. Plasma discharge can produce OH radicals from atmospheric hydrogen oxide to generate H 3 O + (H 2 O) n positive-cluster and O 2 − (H 2 O) n negative-cluster ions. It has been considered that charged PC-ions attach to the protein surface, hydroxyl radicals appear on it as a results of chemical interactions between the ions, and degrade it nonspecifically [17]. Neither NO x nor SO x are detectable during the production of PC-ions by plasma discharge (data not shown). There are several reports to show the degradation of protein and inactivation of virus by oxidation by ozone, it can be cogenerated with PC-ions by plasma discharge and other air-cleaning devices [18][19][20]. However, the amount of ozone cogenerated with PC-ions from our devices was negligible (less than 0.01 parts per million) and considered not to affect the protein degradation, significantly [17]. Therefore, we considered the degradation and impairment of IgE-binding capacity of the allergens were mediated by the generation of hydroxyl radicals produced by generation of PC-ions neither by generation of ozone.

We previously showed capacity of PC-ions to inactivate pollen allergens [3]. To further confirm the usefulness of PC-ions on environmental control of allergens, here we have focused on cat and fungal allergens, since those are common and clinically important indoor allergens existed throughout the year. Present data implicate that PC-ions could be useful for inactivation of indoor allergens to avoid clinical symptoms. The actual efficacy of PC-ions in normal living conditions should be confirmed by future clinical studies. In addition, the precise mechanisms whereby PCions degrade and/or inactivate airborne allergens needs to be further clarified.

Conclusion

In this present study, we showed that inactivation of crude and purified airborne allergens by PC-ions in experimental cylindrical apparatus could occur. We will need to establish whether a PC-ions-generating device can degrade and inactivate airborne allergens in indoor living spaces and ameliorate allergic symptoms that can be elicited by airborne allergens in double-dummy, sham device-controlled, randomized clinical studies. Together, our data suggests that PC-ions can effectively inactivate a cat major allergen and fungal allergens by reducing the amount of allergens and impairment of their IgE-binding capacities.

Fig. 3
3Impairment of IgE-binding capacity of Fel d 1, CFE and Asp f 1 after PC-ions treatment. The IgE-binding capacity of Fel d 1 (a), CFE (b) or Asp f 1 (c) after PC-ions treatment was analyzed by ELISA inhibition assay. Inhibition of binding between a pooled plasma from patients and sham-treated Fel d 1, CFE or Asp f 1 was analyzed using sham-and PC-ions-treated Fel d 1, CFE or Asp f 1, shown as open diamonds with a broken line (sham-treated) and filled circles with a line (ion-treated), respectively structure of Fel d 1 by PC-ions may also significantly lead to the impairment of its IgE-binding capacity.
AcknowledgementNot applicable.FundingThis study was financially supported in part by the SHARP Corporation.Availability of data and materialsAuthors' contributions KN, TA, YO, TT, AU, HK, YS and AT contributed acquisition of data, analysis, and interpretation of data; MN, KO and SK contributed conception and design of the study; TF was involved in analysis and interpretation of data, in drafting and revising the manuscript; KGR contributed acquisition and analysis of data and drafting and revising the manuscript; SK gave final approval of the version to be published; KN, TF and SK agree to be accountable for all aspects of the work in ensuring that questions related to the accuracy or integrity of any part of the work with appropriately investigated and resolved. All authors read and approved the final manuscript.Competing interestFive authors of this study are employees of the SHARP Corporation as described in the affiliations section. This study was financially supported in part by the SHARP Corporation. None of the authors has other potential conflict of interest to the report.Consent for publication Not applicable.Ethics approval and consent to participate All studies that used human samples were approved by the institutional ethics committee at Showa University School of Medicine (Tokyo, Japan). Written informed consent was obtained from each patient prior to participation in the study. Submit your next manuscript to BioMed Central and we will help you at every step:
Air filtration units in homes with cats: can they reduce personal exposure to cat allergen?. R B Gore, S Bishop, B Durrell, L Curbishley, A Woodcock, A Custovic, Clin Exp Allergy. 33Gore RB, Bishop S, Durrell B, Curbishley L, Woodcock A, Custovic A. Air filtration units in homes with cats: can they reduce personal exposure to cat allergen? Clin Exp Allergy. 2003;33:765-9.

Clinical effects of air cleaners in homes of asthmatic children sensitized to pet allergens. Heide S Van Der, W M Van Aalderen, H F Kauffman, A E Dubois, J G De Monchy, J Allergy Clin Immunol. 104van der Heide S, van Aalderen WM, Kauffman HF, Dubois AE, de Monchy JG. Clinical effects of air cleaners in homes of asthmatic children sensitized to pet allergens. J Allergy Clin Immunol. 1999;104:447-51.

Decrease in the allergenicity of Japanese cedar pollen allergen by treatment with positive and negative cluster ions. S Kawamoto, M Oshita, N Fukuoka, S Shigeta, T Aki, T Hayashi, K Nishikawa, K Ono, Int Arch Allergy Immunol. 141Kawamoto S, Oshita M, Fukuoka N, Shigeta S, Aki T, Hayashi T, Nishikawa K, Ono K. Decrease in the allergenicity of Japanese cedar pollen allergen by treatment with positive and negative cluster ions. Int Arch Allergy Immunol. 2006;141:313-21.

Allergic sensitization to cat in childhood as major predictor of incident respiratory allergy in young adults. T Schafer, G Wolke, J Ring, H E Wichmann, J Heinrich, Allergy. 62Schafer T, Wolke G, Ring J, Wichmann HE, Heinrich J. Allergic sensitization to cat in childhood as major predictor of incident respiratory allergy in young adults. Allergy. 2007;62:1282-7.

Fungal exposure, atopy, and asthma exacerbations in Puerto Rican children. J Blatter, E Forno, J Brehm, E Acosta-Perez, M Alvarez, A Colon-Semidey, P S Thorne, N Metwali, G Canino, J C Celedon, Ann Am Thorac Soc. 11Blatter J, Forno E, Brehm J, Acosta-Perez E, Alvarez M, Colon-Semidey A, Thorne PS, Metwali N, Canino G, Celedon JC. Fungal exposure, atopy, and asthma exacerbations in Puerto Rican children. Ann Am Thorac Soc. 2014;11:925-32.

Associations between cat keeping, allergen exposure, allergic sensitization and atopic diseases: results from the Children of Lubeck Allergy and Environment Study (KLAUS). T Schafer, B Stieger, R Polzius, A Krauspe, Pediatr Allergy Immunol. 20Schafer T, Stieger B, Polzius R, Krauspe A. Associations between cat keeping, allergen exposure, allergic sensitization and atopic diseases: results from the Children of Lubeck Allergy and Environment Study (KLAUS). Pediatr Allergy Immunol. 2009;20:353-7.

High prevalence of sensitization to cat allergen among Japanese children with asthma, living without cats. K Ichikawa, E Iwasaki, M Baba, M D Chapman, Clin Exp Allergy. 29Ichikawa K, Iwasaki E, Baba M, Chapman MD. High prevalence of sensitization to cat allergen among Japanese children with asthma, living without cats. Clin Exp Allergy. 1999;29:754-61.

Airborne indoor particles from schools are more toxic than outdoor particles. S Oeder, R A Jorres, I Weichenmeier, G Pusch, W Schober, F Pfab, H Behrendt, R Schierl, A Kronseder, D Nowak, S Dietrich, E Fernandez-Caldas, J Lintelmann, R Zimmermann, R Lang, J Mages, H Fromme, J T Buters, Am J Respir Cell Mol Biol. 47Oeder S, Jorres RA, Weichenmeier I, Pusch G, Schober W, Pfab F, Behrendt H, Schierl R, Kronseder A, Nowak D, Dietrich S, Fernandez-Caldas E, Lintelmann J, Zimmermann R, Lang R, Mages J, Fromme H, Buters JT. Airborne indoor particles from schools are more toxic than outdoor particles. Am J Respir Cell Mol Biol. 2012;47:575-82.

Human hair is a potential source of cat allergen contamination of ambient air. A S Karlsson, A Renstrom, Allergy. 60Karlsson AS, Renstrom A. Human hair is a potential source of cat allergen contamination of ambient air. Allergy. 2005;60:961-4.

Amino acid sequence of Fel dI, the major allergen of the domestic cat: protein sequence analysis and cDNA cloning. J P Morgenstern, I J Griffith, A W Brauer, B L Rogers, J F Bond, M D Chapman, M C Kuo, Proc Natl Acad Sci U S A. 88Morgenstern JP, Griffith IJ, Brauer AW, Rogers BL, Bond JF, Chapman MD, Kuo MC. Amino acid sequence of Fel dI, the major allergen of the domestic cat: protein sequence analysis and cDNA cloning. Proc Natl Acad Sci U S A. 1991;88:9690-4.

Studies on the biochemical structure of the major cat allergen Felis domesticus I. O A Duffort, J Carreira, G Nitti, F Polo, M Lombardero, Mol Immunol. 28Duffort OA, Carreira J, Nitti G, Polo F, Lombardero M. Studies on the biochemical structure of the major cat allergen Felis domesticus I. Mol Immunol. 1991;28:301-9.

Structure of the major cat allergen Fel d I in different allergen sources: an immunoblotting analysis with monoclonal antibodies against denatured Fel d I and human IgE. F J Van Milligen, P Van Swieten, R C Aalberse, Int Arch Allergy Immunol. 99van Milligen FJ, van Swieten P, Aalberse RC. Structure of the major cat allergen Fel d I in different allergen sources: an immunoblotting analysis with monoclonal antibodies against denatured Fel d I and human IgE. Int Arch Allergy Immunol. 1992;99:63-73.

Higher immunoglobulin E antibody levels to recombinant Fel d 1 in cat-allergic children with asthma compared with rhinoconjunctivitis. H Gronlund, J Adedoyin, R Reininger, E M Varga, M Zach, M Fredriksson, M Kronqvist, Z Szepfalusi, S Spitzauer, R Gronneberg, R Valenta, G Hedlin, M Van Hage, Clin Exp Allergy. 38Gronlund H, Adedoyin J, Reininger R, Varga EM, Zach M, Fredriksson M, Kronqvist M, Szepfalusi Z, Spitzauer S, Gronneberg R, Valenta R, Hedlin G, van Hage M. Higher immunoglobulin E antibody levels to recombinant Fel d 1 in cat-allergic children with asthma compared with rhinoconjunctivitis. Clin Exp Allergy. 2008;38:1275-81.

Indoor exposure to mould allergens. L Prester, Arh Hig Rada Toksikol. 62Prester L. Indoor exposure to mould allergens. Arh Hig Rada Toksikol. 2011;62:371-80.

Aspergillus fumigatus allergen I, a major IgE-binding protein, is a member of the mitogillin family of cytotoxins. L K Arruda, T A Platts-Mills, J W Fox, M D Chapman, J Exp Med. 172Arruda LK, Platts-Mills TA, Fox JW, Chapman MD. Aspergillus fumigatus allergen I, a major IgE-binding protein, is a member of the mitogillin family of cytotoxins. J Exp Med. 1990;172:1529-32.

A direct-infusion-and HPLC-ESI-Orbitrap-MS approach for the characterization of intact PEGylated proteins. I C Forstenlehner, J Holzmann, K Scheffler, W Wieder, H Toll, C G Huber, Anal Chem. 86Forstenlehner IC, Holzmann J, Scheffler K, Wieder W, Toll H, Huber CG. A direct-infusion-and HPLC-ESI-Orbitrap-MS approach for the characterization of intact PEGylated proteins. Anal Chem. 2014;86:826-34.

Bactericidal effects of plasma-generated cluster ions. I Digel, A Temiz Artmann, K Nishikawa, M Cook, E Kurulgan, G M Artmann, Med Biol Eng Comput. 43Digel I, Temiz Artmann A, Nishikawa K, Cook M, Kurulgan E, Artmann GM. Bactericidal effects of plasma-generated cluster ions. Med Biol Eng Comput. 2005;43:800-7.

Degradation of amino acids and structure in model proteins and bacteriophage MS2 by chlorine, bromine, and ozone. J K Choe, D H Richards, C J Wilson, Mitch Wa, Environ Sci Technol. 49Choe JK, Richards DH, Wilson CJ, Mitch WA. Degradation of amino acids and structure in model proteins and bacteriophage MS2 by chlorine, bromine, and ozone. Environ Sci Technol. 2015;49:13331-9.

Control of human norovirus surrogates in fresh foods by gaseous ozone and a proposed mechanism of inactivation. A Predmore, G Sanglay, J Li, K Lee, Food Microbiol. 50Predmore A, Sanglay G, Li J, Lee K. Control of human norovirus surrogates in fresh foods by gaseous ozone and a proposed mechanism of inactivation. Food Microbiol. 2015;50:118-25.

Analysis of bactericidal material generated by electrical devices advertising bactericidal ability against bacteria on the agar gel plates. H Nishimura, Kansenshogaku Zasshi. 86in JapaneseNishimura H. Analysis of bactericidal material generated by electrical devices advertising bactericidal ability against bacteria on the agar gel plates. Kansenshogaku Zasshi. 2012;86:723-33. in Japanese.


Python as a Federation Tool for GENESIS 3.0
2012

H Cornelis
A L Rodriguez
A D Coop
J M Bower
Python as a Federation Tool for GENESIS 3.0

PLoS ONE
San Antonio, Texas; San Antonio, Texas; San Antonio, Texas, United States of America; San Antonio, Texas, Citation71290182012Received April 8, 2011; Accepted November 18, 2011;1 United States of America Funding: Creative Research Actions (CREA) Financing program (CREA/07/027) of the K.U.Leuven, Belgium, EU (www.kuleuven.be) to Dr. Marc Van Hulle. National Institutes of Health grant 3 R01 NS049288-06S1, 5R01NS049288-07, 5R01NS049288-06, 3R01NS049288-06S1, 2R01NS049288-05, 5R01NS049288-04, 5R01N S049288-03 (www.nih.gov). The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript. Competing Interests: The authors have declared that no competing interests exist. *
The GENESIS simulation platform was one of the first broad-scale modeling systems in computational biology to encourage modelers to develop and share model features and components. Supported by a large developer community, it participated in innovative simulator technologies such as benchmarking, parallelization, and declarative model specification and was the first neural simulator to define bindings for the Python scripting language. An important feature of the latest version of GENESIS is that it decomposes into self-contained software components complying with the Computational Biology Initiative federated software architecture. This architecture allows separate scripting bindings to be defined for different necessary components of the simulator, e.g., the mathematical solvers and graphical user interface. Python is a scripting language that provides rich sets of freely available open source libraries. With clean dynamic object-oriented designs, they produce highly readable code and are widely employed in specialized areas of software component integration. We employ a simplified wrapper and interface generator to examine an application programming interface and make it available to a given scripting language. This allows independent software components to be 'glued' together and connected to external libraries and applications from user-defined Python or Perl scripts. We illustrate our approach with three examples of Python scripting. (1) Generate and run a simple single-compartment model neuron connected to a stand-alone mathematical solver.(2) Interface a mathematical solver with GENESIS 3.0 to explore a neuron morphology from either an interactive command-line or graphical user interface. (3) Apply scripting bindings to connect the GENESIS 3.0 simulator to external graphical libraries and an open source three dimensional content creation suite that supports visualization of models based on electron microscopy and their conversion to computational models. Employed in this way, the stand-alone software components of the GENESIS 3.0 simulator provide a framework for progressive federated software development in computational neuroscience.

Introduction

The GEneral NEural SImulation System (GENESIS, http:// genesis-sim.org/) is a general purpose simulation platform originally developed to support the simulation of neural systems ranging from sub-cellular components and biochemical reactions to complex models of single neurons, simulations of large networks, and systems-level models.

GENESIS was one of the first broad scale modeling systems in computational biology to encourage modelers to develop and share model features and components. For these people, it was the object-oriented approach taken by the simulator along with its high-level simulation language and Script Language Interpreter (SLI), that allowed the exchange, modification, and reuse of models or model components. It was this community of developers and users that ultimately drove the development of the GENESIS platform.

The development of the GENESIS simulator was initiated during the 1980's through research projects that addressed specific scientific questions in computational neuroscience. Simulator functionality was expanded through life cycles of research project extension. For example, libraries for kinetic pathway modeling were added for projects investigating how signaling networks store learned behavior [1] and how light controls photoreception by regulating calcium release from intracellular calcium stores [2]. A fast implicit solver was developed for complex Purkinje cell modeling [3,4] and more recently synaptic learning rules have been implemented [5]. In principle such linear or single-threaded development processes can continue forever. However, repetitive extension of GENESIS with source code of diverse functions and origin has made the code structure so complicated that it is almost impossible to extend. The unitary nature and density of the source code has ultimately created a'monolithic' application. This marginalizes user contributions to simulator functionality, updates and releases have become less frequent, and the software life cycle is moved from extension to maintenance. GENESIS 3.0 (G-3) is a major reconfiguration and update of the GENESIS simulation system. This reconfiguration is based on the Neurospaces Project (http://neurospaces.sourceforge.net/) which was initiated in 1998 as a development center for software components for computational neuroscience simulators. It embodies many software components, each of which has been developed in full isolation. In it, the core GENESIS simulator functionality has been restructured such that it is the first neural simulator to comply with a more modular design, the Computational Biology Initiative federated software architecture (referred to as the CBI architecture, described in Materials and Methods and in more detail in [6]). The CBI architecture is specifically designed to support the integration of stand-alone software components and applications by using common integration technologies such as modern scripting languages. This not only results in improved simulator performance, portability, and code reusability but also enables both the use of new script parsers and user interfaces and the capacity to communicate with other modeling programs and environments and external model and data analysis and presentation software.

In the following sections we illustrate the use of the general purpose Python scripting language for making high performance simulation software coded in system programming languages accessible to neuroscientists and biologists. We note that equivalent functionality is available from G-3 through the Perl (http://www.perl.org/) scripting language.

Materials and Methods

In the following sections we overview the GENESIS software platform and its recent reconfiguration to comply with the CBI architecture (described below). We also introduce two scripting languages employed by G-3 (Python and Perl) and a simplified wrapper and interface generator (SWIG). We outline how they are suitable as federation tools for the continued extension of GENESIS functionality. Our approach to software development is based on, but not limited to, such languages and provides a paradigm that simplifies the extension, modification, and customization of complex neurobiological simulation software, not only for developers but also most importantly for users.

Starting from an existing source code base, and learning from previous experience in simulator development, G-3 is a modularization of the core functions of the GENESIS simulator. The guiding principles that define the implementation and function of the G-3 simulator are based on the CBI architecture, a modular abstracted architecture that layers the data in a simulator and separates data representations from the algorithms that process them.

GENESIS 1 and 2

GENESIS simulations are constructed from model components that receive inputs, perform calculations on them, and then generate outputs. Model neurons are constructed from basic parts, such as segments, and variable conductance ion channels. (Note: 'Segment' is a high level term employed to describe different parts of the biological model of a dendritic morphology. The equivalent low level (computational) term is 'compartment'. It refers to the numerical representation of a segment.) Channels are linked to their segments which in turn are linked to form multi-segment neurons of any desired level of complexity. Neurons may be then be connected to form neural circuits [7].

The GENESIS SLI was a high-level simulation language that provided a framework within which a modeler could extend the capabilities of the simulator and manipulate models or model components by exchange, modification, and reuse. The SLI interpreted statements in the GENESIS simulation language and constituted the operating system 'shell'. User-defined SLI scripts were then used to glue together the pieces of a simulation. These scripts also controlled the graphical objects used to define the front end of a simulation and the GENESIS data handlers. It was the commands the SLI recognized and the many GENESIS 'objects' available for constructing models and simulations that have most powerfully assisted in the sharing of model features amongst the broader modeling community.

Scripting Languages

Historically, there have been fundamental differences between the Unix shells and system programming languages such as C or C++ and scripting languages such as Perl [8], Python [9], Rexx [10], Tcl [11]. System programming languages typically start from the most primitive computer elements, usually the 'words' of memory. They are designed to manage the complexity of building data structures and algorithms from scratch and generally require pre-declared data types. Alternatively, as a replacement for shell scripts and shell communication pipes, scripting languages assume the existence of a set of software components and are primarily intended to assemble or glue together these components. In this way, scripting languages operate at a higher level than system programming languages in the sense that on average a single statement in a scripting language does more work. For example, a typical statement in a system programming language executes about five machine instructions, whereas, in a scripting language a typical statement may execute hundreds or thousands of machine instructions [12].

The strongly typed nature of system programming languages discourages reuse. Scripting languages, on the other hand, have actually stimulated significant software reuse. They use a model where interesting components are built in a system programming language and then glued together into applications. This division of labor provides a natural framework for reusability. When welldefined interfaces exist between components and scripts, software reuse becomes easy. In this sense scripting and system programming are symbiotic. Used together, they produce programming environments of exceptional power where applications can be developed five to ten times more rapidly than when a system programming language alone is used. Figure 1 gives the levels of programing available in G-3. They range from the C coding employed to create the independent components, through Python and Perl interface scripting, the declarative NDF file format used for model construction and the associated reusable NDF libraries coding membrane channels and synapses, to the highest level of coding via the G-Tube GUI. Also indicated is the location of the SLI in this coding hierarchy. In summary, system programming languages are well suited for building functional software components where there is a requirement for computing speed because data structures and algorithms are complex, whereas, scripting languages are well suited for assembling applications where the complexity is in the connections. With an increasing requirement for software integration, scripting is providing an important programming paradigm.

Python

Python is a powerful dynamic programming language comparable to Perl, Ruby, or Scheme. In September 2011, 4% of internet references to programing and scripting languages were to Python, making it the 8th most popular programming language (see Tiobe Index at http://www.tiobe.com/index.php/content/ company/Home.html. Note: Ratings are based on the number of skilled engineers world-wide, courses, and third party vendors. The search engines Google, Bing, Yahoo!, Wikipedia, YouTube and Baidu are used to calculate the ratings). It combines considerable power with very clear syntax and has modules, classes, exceptions, high level data types, and dynamic and loose typing. It runs on many hardware architectures, integrates with scientific and user interface libraries, and new modules are easily written in C or C++ (or other languages, depending on the chosen implementation). It is also usable as an extension language for applications written in other languages that need easy-to-use scripting or automated interfaces. It is currently the highest ranked scripting language.

Perl

Perl was one of the first open source scripting languages. First released in 1987 (http://groups.google.com/group/comp.sources. unix/msg/bb3ee125385ae25f?pli=1), it is unique in that it is very much informed by linguistic principles. Originally developed as a scripting language for UNIX, it aimed to blend the ease of use of the UNIX shell with the power and flexibility of a system programming language like C. With over 20 years of development and nearly half a million lines of code, Perl now runs on over 100 different platforms (http://www.perl.org/about.html). Currently, there are over 18,000 open source modules available from the Comprehensive Perl Archive Network (CPAN, http://www.cpan. org/), assisting in system integration, scientific application, and user interface development. Via the CPAN Inline module, Perl integrates seamlessly with both system programming languages such as C and C++, and scripting languages including Python.

(Note: italicized text indicates the names of Python modules, directory paths, and file names, whereas, Typewriter text is reserved for Python coding examples and the dimensions of physical quantities. Bold text indicates the names of software components in G-3.) Perl supports object-oriented programming, functional programming, and procedural programming paradigms. In September 2011, nearly 2.5% of internet references to programing and scripting languages were to Perl, making it the 9th most popular programming language (see Tiobe Index at http:// www.tiobe.com/index.php/content/company/Home.html).

Meta-Programming in Perl and Python

Meta-programming is a programming technique where a program generates a new program and then executes it. This technique is employed by the G-3 Python and Perl bindings to generate an additional layer of script code that provides increased flexibility for defining models and simulations. A predefined Python or Perl data structure defines high-level interfaces that are translated into strings containing Python or Perl code such as class and method definitions. During program initialization these are bound to the run-time environment using the Perl or Python eval functions.

SWIG for Federated Software Integration

SWIG is a software development tool that connects programs written in system programming languages such as C and C++ with high-level scripting languages such as Python or Perl. SWIG was chosen to facilitate the use of these bindings in G-3. It controls most aspects of wrapper generation and automates the generation of the required Perl and Python interfaces. SWIG uses a layered approach to build extension modules where different parts are defined in either C or the chosen scripting language. The C layer contains low-level wrappers whereas the script code is used to define high-level features. Considerably more flexibility is obtained by generating code in both languages as an extension module can then be enhanced with support code in either language. Table 1 gives an overview of the resulting code. As expected, low-level software components emphasize low-level languages and contain more code (e.g. C), whereas, high-level software components emphasize high-level languages and contain less code (e.g. Python, Perl).

The CBI Federated Software Architecture

The CBI architecture provides a modular paradigm that places stand-alone software components into logical relationships. Each software module is an independent component that allows development and maintenance to be implemented concurrently. A comparison of hand-written (H) and automatically generated (G) code that supports the functionality of the independent components of the GENESIS simulation platform. Software hand-written in a system programming language such as C contains more code (in bytes) than the equivalent functionality replicated in a scripting language. The amount of automatically generated code is considerably greater than that written by hand. doi:10.1371/journal.pone.0029018.t001

In this section we summarize the data-flow related concepts of the CBI architecture. For an in-depth explanation see the accompanying paper [6]. The important data-flow related components of the architecture are shown in Figure 2. On the bottom left are databases of neuronal models or experimental data that can be accessed by the simulator. Optional model processors (e.g. the Reconstruct interface) load a model into the Model Container which stores a model in memory and makes it available to other software components in different formats. One function of the Model Container is to translate biological concepts and properties into mathematical concepts that can be understood by the mathematical solvers. Thus, importantly and unlike other existing neural simulators, the mathematical solvers are independent of the biological representation of a model. A simulation controller orchestrates the actions taken by the Model Container (e.g. when to load a model, the definition of the stimulus, and when to export a model) and mathematical solvers (e.g. when to fetch a model from the Model Container, when to start calculations, and what the output variables are).

A scripting layer allows the simulation system to be driven from multiple scripting languages. Python and Perl are currently supported, as is (for backward compatibility) the GENESIS SLI. The G-3 GUI is shown at the top of Figure 2 and is being developed entirely in Python. It supports many functions and allows models to be imported from databases or constructed from scratch, the exploration of model structure and parameters, and the visualization of variables and model behavior.

Within the CBI paradigm each software component is self contained and can be run independently. This facilitates the interoperability of software obtained from different sources and has several important advantages for software development, including: (1) Reduced complexity of software components compared to a unitary system, (2) simplified documentation of components in terms of inputs and outputs, (3) simplified development and testing of components as stand alone software, (4) clear delineation of scope for the development of new components, and (5) independent update, enhancement, or replacement of individual components when needed, making the life cycle of a modular architecture smoother than that of a nonscalable application.

The CBI architecture provides a framework for the integration of independent software components into a functioning simulator using a scripting language of choice. Here, we specifically illustrate the use of Python for this purpose.

G-3 as a CBI Compliant Simulator

G-3 is a major revision and update of the GENESIS system. The core simulator functionality is restructured, with a more modern modular software design referred to as the CBI architecture. This not only results in improved simulator performance and portability, but allows the use of alternate script parsers and user interfaces that provide the ability to communicate with other modeling programs and environments.

Much existing software such as GUI libraries and plotting libraries, are application neutral. Other software packages are tailored to the needs of computational neuroscience. The Neurospaces project (http://www.neurospaces.org/) provides core software components for the G-3 simulator [13]. These include, the (1) Model Container: Stores two representations of a model, the first is conceptual and can be regarded as an enumeration of biological concepts and their relationships, the second is an expanded mathematical representation that, if complete, can be simulated, (2) Heccer: A fast compartmental solver based on the GENESIS hsolve object that can be instantiated from C, Python, Perl or other scripting languages, (3) SSP (Simple Scheduler in Perl): Binds Heccer and the Model Container, and activates them correctly, such that they work together on a single simulation, (4) Studio and G-Tube: Contain graphical tools for model construction, exploration, and simulation, (5) G-Shell (G-3 Interactive Shell): Dynamically loads other software components in an interactive environment, and the (6) Project Browser: For inspection of projects and simulation results. For completeness, we also mention (7) NS-SLI: The G-3 component that provides backward compatibility for the GENESIS SLI. All software can be downloaded from the GENESIS web site (http://genesis-sim.org/download/) and extensive installation instructions with examples are available from the GENE-SIS documentation website (http://www.genesis-sim.org/userdocs/ genesis-installation/genesis-installation.html). Simulator correctness can be established by running automated regression and integration tests.

Results

PyGENESIS (http://www.cs.caltech.edu/,mvanier/hacking/ pygenesis/pygenesis.tar.gz) was a version of GENESIS developed in the late 1990's. It replaced the standard GENESIS SLI with a Python interface. This Python-enabled version of GENESIS was never publicly released. However, with the increased sophistication of the Python platform and reconfiguration of GENESIS to comply with the CBI architecture, Python interfaces have been developed for several of G-3's core simulator components. While it is possible to drive each component in isolation from these interfaces, here we show how individual components may be integrated via Python to create a simple simulator, explore a dendritic morphology, and connect to external applications that support sophisticated model visualization and morphological analysis.

A Python Enabled Neural Simulator

Python uses modules to group related functions. G-3 employs Python's module system to group functions that provide an interface to each of its software components. As an example, the The CBI architecture defines the relationships between the necessary components of a computer-based neural simulation system. The architecture contains three layers that include a graphical user interface (GUI) connected to the functional components of a simulator by an interposed layer of application programming interfaces (APIs) and scripts. Components in the lowest layer are interconnected by APIs while their particular functionality is needed. GENESIS 3 is the first simulator to be implemented in compliance with the CBI architecture. doi:10.1371/journal.pone.0029018.g002 G-3 Python module nmc contains functions to simplify the storage of neuron models in computer memory. This module is a simple front-end to the Model Container, a G-3 component which for efficiency is coded in the system programming language C. Likewise, Heccer is a wrapper module for the Heccer component which in turn is an interface to a low-level single neuron solver written in C. Python bindings for the Discrete Event System to facilitate network modeling also exist.

Here we show a simple high-level Python script that runs a simulation of a single cylindrical segment. It is defined by standard values for the parameters of membrane resistance (RM), axial resistance (RA), and membrane capacitance (CM). (Note: This script is written for clarity of presentation rather than compactness or efficiency. Python version 2.6.6 is used on Linux Ubuntu 10.10 Maveric.) These parameters are given by their specific values (in SI units) as commonly reported in the literature, instead of their actual values scaled to the compartment surface area as used by a mathematical solver [14]. The script defines a Python function run_simulation that will load and run a model when invoked from a system command line on an appropriately configured computer. The script can also be imported into G-3 as a Python module, thus allowing access to this function. For convenience, we call this Python module example.

#-----------------------------------------------------------------------------# Link the output object to the address of the computed variable of interest. #-------------------------------------------------------------------------

Contrasting Levels of Expressibility

The CBI architecture allows G-3 to accommodate many user interfaces. As an example, the compartmental solver Heccer can be driven stand-alone from C code, Python, or Perl to run the simplest models, or it can be interfaced with the Model Container to run more realistic multi-compartment models based on morphological data. To illustrate this flexibility we now compare the above Python script with alternative implementations in C and the GENESIS SLI.

In the C code there is an abundance of low level detail that interfaces directly to the solver. For example, compartments are identified by their position in an array and parameters such as RM and CM must be provided as an unlabelled ordered sequence of their actual values (scaled to the compartment surface area).

The complexity of the GENESIS SLI interface falls between that of the Python interface and the C code interface. (Note: the G-2 SLI is supported by G-3 through its backward compatibility component NS-SLI.) While compartments and parameters have names and numerical values are given in a format used by solvers.

C reset step 0.5 -time While script language bindings are suitable for construction of toy models from scratch, it is better to use a domain specific language to construct the various parts of a model. For example, the Model Container is installed with a library of domain specific model components where the standard Hodgkin-Huxley channels are provided in the file channels/hodgkin-huxley.ndf. These channels can be included in the Python example given above by adding the statements: my_segment.ImportChild(''channels/hodgkin-huxley.ndf::/k'') my_segment.ImportChild(''channels/hodgkin-huxley.ndf::/na'') The Model Container can export models constructed in a scripting language as a library for incorporation into new models or for use with other G-3 components such as the Project Browser. These new models can then be imported by a call to the Model Container Read method. For example, importing a Purkinje cell model with over 4,000 compartments may be done with the following statement: my_nmc.Read(''cells/purkinje/edsjb1994.ndf'') After importation, the Model Container provides a set of functions to analyze the structure of a model morphology. For example, the names of the most distal segment of each dendrite can be obtained with: my_nmc.Query(''segmentertips/Purkinje'')

Interactive Query and Simulation

The G-Shell integrates other G-3 components and makes their functions available through an interactive environment available from a command line. Coded in Perl, the G-Shell is a communication abstraction layer for the Model Container, Heccer, SSP, DES and the Studio. After the G-Shell has been started from a system shell with genesis-g3 the list of loaded software components can be printed to the screen with the command: list components Each loaded software component will be shown with associated status information that helps diagnose possible problems. For example, after correct initialization of the Model Container the status information appears as: model-container: description: internal storage for neuronal models integrator: Neurospaces::Integrators::Commands module: Neurospaces status: loaded type: description: intermediary layer: 2 Integration of the G-Shell with the Model Container allows for real-time analysis of the quantitative and structural aspects of a neuronal morphology. The library of model components that is installed with the Model Container provides a definition of a model Purkinje cell in the file cells/purkinje/edsjb1994.ndf. The command:

ndf_load cells/purkinje/edsjb1994.ndf makes this model Purkinje cell available for interactive analysis. Alternatively, if the model is encoded in a GENESIS SLI script with the name PurkM9_model/CURRENT9.g, the command ndf_load can be replaced by sli_load:

sli_load PurkM9_model/CURRENT9.g This command imports the model that is specified in the SLI script without running the simulation. A similar command (pynn_load) is currently in active development to interface with the PyNN network modeling environment [15].

Given the name of one of its dendritic segments, the number of branch points between the segment and the soma can be determined. After indicating with the command morphology_summarize which paths of the dendritic tree to examine, the parameter SOMATOPETAL_BRANCHPOINTS contains the result, which can be obtained with: morphology_summarize/Purkinje show_parameter/Purkinje/segments/b1s06[182] SOMA-TOPETAL_BRANCHPOINTS If a dendritic segment contains a synaptic channel, it can be stimulated with a precomputed spike train stored in a file named, for example, event_data/events.yml:

set_runtime_parameter/Purkinje/segments/b1s06[182]/Pur-kinje_spine_0/head/par/synapse EVENT_FILENAME ''event_data/events.yml'' Finally, following the addition of an output for the somatic membrane potential: add_output/Purkinje/segments/soma Vm A simulation can then conveniently be started using: run/Purkinje 0.1 This simulation produces the somatic response to the given dendritic stimulus in a file named, by default, /tmp/output.

To query the parameters of the stimulated compartment the model can then be analyzed using the graphical front-end of the Studio with the command: explore Figure 3 shows sample output of running this command. Other capabilities of the Studio include rendering morphologies in three dimensions and generating overviews of network models (not shown). In the next section we explore some of the more graphical capabilities of G-3.

Integration of Pre-existing Applications and Libraries

The GENESIS Graphical User Interface (GUI) was supported by the X-Window System Output and Display Utility for Simulations (XODUS). XODUS provided graphical objects that could be connected to model components from within the SLI. Rather than providing a full GUI instance, the flexibility of XODUS came from its infrastructure which allowed modelers to easily develop new GUIs dedicated to their particular research or teaching projects. (Note: The official GENESIS software distribution contained both simple and sophisticated example GUIs.) However, the XODUS paradigm inevitably resulted in modelers contaminating their model script with GUI related statements.

As mentioned above, one advantage of the CBI architecture is that it defines how to interface simulator components with external applications. An obvious example is the use of existing 3D graphics software to examine and edit the spatial properties of a model neuron morphology. Others include, integration with external graphing and windowing software to plot the values of solved variables against simulation time, or to allow the construction of button-rich tutorial applications.

GUI libraries typically communicate with other software components using an event based system. The functional core of such a system is an event dispatching loop, usually called the main loop. The binding between a button click event and the main loop, and the visual layout of most contemporary GUI applications is conveniently constructed using one of a number of freely available user interface builders. One such builder is wxFormBuilder. (Note: This builder is a user interface designer for the wxPython toolkit and the Linux desktop environment GNOME. It is available from http://wxformbuilder.org/.) It can be used to construct a GUI with visual elements such as menus and buttons and writes a description of these elements and their bindings to a file known as an XML resource (XRC) file. The GUI definitions in this file can then be rendered with the wxWidgets library and its Python front end wxPython. Further integration with additional G-3 specific data bindings ensures that, for example, the data produced by a mathematical solver flows to a widget that plots the value of a variable against time. This functionality replaces the XODUS paradigm, which required SLI scripting to connect GUI components to model components and simulation actions, with a more contemporary paradigm that separates simulator and model scripts from GUI related statements.

In the following example, we create a wxPython application class called G3App. This demonstrates the Python scripting required to connect the software components that create a small GUI for G-3. We specifically show how to initialize the application (implementation of method OnInit), how to run a simple simulation based on the previous example (method OnRun), and how to plot output (method Plot). To achieve this, it is assumed that a XRC file with the name G3.xrc can be found that describes a GUI with one frame (here, mainFrame) which allows the simulation duration to be set via a text control widget and contains a button to start the simulation.

The first lines of code in the script load the necessary Python modules which in turn load low-level libraries coded in a system programming language. The widget output is shown in Figure 4.

import DataPlot import example import wx from wx import xrc class G3App(wx.App): def OnInit(self):

# Load the XML resource file self.res = xrc.XmlResource('G3.xrc') # Declare objects for each part of the gui, # we fetch the objects from the loaded XML resource # via the name we gave each component in the builder. self.frame = self.res.LoadFrame(None, 'mainFrame') self.runButton = xrc.XRCCTRL(self.frame, 'runButton') self.durationTextCtrl = xrc.XRCCTRL(self.frame,duration' TextCtrl') # Bind the gui objects to methods. # Figure 4. Simple Integration of G-3 with the wxPython widget set. The CBI architecture defines a separation between GUI statements and peripheral code. This allows GUI construction kits to be used for the creation of a user-friendly interface to a simulation. In this example wxFormBuilder was used to construct a text control widget and a button to start the simulation using its standard drag & drop interface. The same approach can be used for the development of research and educational projects. # Our main function where we perform the main loop if --name --= = ' --main --': app = G3App(False) app.MainLoop() In this example we have shown how the CBI architecture defines a separation between GUI statements and peripheral code such as input and output specifications, and model construction. Besides allowing common GUI construction kits to be used for the development of research and educational projects, our approach also allows G-3 to interface with highly specialized GUI kits.

Interfacing GENESIS with External Applications

As an example of how to interface GENESIS with specialized external applications, we now show how to validate and analyze models of the morphology of small dendritic segments obtained from electron microscopy data. The required geometrical algorithms are typically available in state-of-the-art rendering applications such as Blender (http://www.blender.org/). Blender is a free open source 3D content creation suite available for all major operating systems that have Python enabled bindings (Note: One restriction is that code must be run from inside the Blender specific Python interpreter.) In our example it replaces the functionality otherwise provided by the G-Shell.

Over the last several years we have used electron microscopy (EM) in conjunction with Reconstruct (http://www.bu.edu/ neural/Reconstruct.html, [16]) to obtain precise morphologies of small segments of Purkinje cell dendrites [17,18].

The Reconstruct interface converts the application into a G-3 simulator component by making it CBI compliant. This allows Reconstruct data to be imported into the Model Container. The core of the interface implements geometrical transformation algorithms that convert EM contours provided by Reconstruct to equivalent cylinders suitable for cable modeling. The necessary conversion algorithms are accessible from the Model Container via Python. The geometrical properties of the cylinders are stored in the native G-3 NDF file format and algorithms provided by the Model Container link them to the cable parameters required by the mathematical solvers. A simulation can then be run with the read and run methods given above.

The Python interface of Blender links it to the G-3 simulator to provide, to our knowledge, the first 3D model inspection tool for EM data available directly from a neural simulator. As an example, the Python script developed above can be run from within the Blender environment. Also, via the same Python interface, simulations can be started based on the 3D image data.

Interactive visualization of reconstructed dendritic segments is a valuable method of model validation and is available with the integration of G-3 and Blender (see Figure 5). However, the development of small focused plugins allows for more than just this functionality. For example, 3D measurement and manipulation of neuron morphology, computation of surface areas and volumes, and the generation of 3D cross-sections and 2D cuts also becomes possible.

Discussion

GENESIS is the first neural simulator to be reconfigured in compliance with the CBI federated software architecture. In it, the Python and Perl bindings embed similar functionality to that of the GENESIS SLI, although their purpose is different. While the SLI had as major goals the integration of model components, running simulations, and output collection, the primary goal of scripting languages has become application integration.

Through the Neurospaces project, GENESIS now provides a series of independent software components that can readily be combined to support computational modeling in the neurosciences. As examples of this scripted integration we have shown how to run a simple model using Heccer and the ability of the Model Container to query the structure of a neuronal morphology. In a third interactive example, synaptic stimulation was delivered to a Purkinje cell model.

We have described how scripting languages such as Python provide powerful integration tools and can be used to connect simulator components to general purpose external libraries and appropriately configured external applications. This expanded simulator functionality will lead to the development of considerably more sophisticated GUIs, result visualization, and data analysis.

It is notable that in the paradigm of the CBI architecture, although model parameters are stored and processed separately from stimulus protocols and the way simulations are run, the modularity of the software does not interrupt but actually enhances an integrated user experience. Simultaneously, this modularity greatly facilitates the development and maintenance of individual G-3 components.

Extensibility in The G-3 Software Federation

An important benefit of the CBI architecture is that third party software libraries become available to users. For example, wxFormBuilder can be employed to generate GUI bindings for wxPython and integrate them with the G-3 software platform.

To demonstrate the power of our approach, we interfaced G-3 with Reconstruct and Blender. This novel integrated software platform has been used for visual inspection and validation of reconstructed dendrites by connecting a model to the geometrical and analytical tools provided by the Blender plugin library. Further, we note that it is possible to use Blender to instantiate neural simulations and, for example, collect simulation output data for movie generation.

Complementary functionality to that provided by interfacing G-3 with Blender would be available after interfacing G-3 with neuroConstruct (http://www.neuroconstruct.org/), a software package designed to simplify the development of complex networks of biologically realistic neurons [19,20]. Implemented in Java, neuroConstruct uses the latest NeuroML specifications (see http://www.neuroml.org/, http://www.morphml.org/), can be used to visually validate network layout and design [21], and can be connected to Python applications (e.g. see http://www.jython. org/). In principle this allows it to be interfaced with other simulators that have Python bindings, including NEURON (http://www.neuron.yale.edu/neuron/, [22]) and NEST (http:// www.nestinitiative.org/index.php/About_Us, [23]).

A serial communication framework for event delivery of action potentials to afferent synapses has been developed. Called DES, it can be integrated with the mathematical solvers of G-3 using either Python or Perl. It allows a user to stimulate one or more synapses with a specific train of afferent impulses. DES is optimized for communication over serial hardware. However, it is straight forward to extend it to support communication frameworks for parallel hardware such as those provided by the MOOSE simulator [24] and the MUSIC framework [25].

The digital reconstruction of neuronal arborization is an important step in the quantitative investigation of cellular neuroanatomy. The NeuroMorpho.Org database of neuronal morphologies (http://www.neuromorpho.org/) is a centrally curated inventory of digitally reconstructed neurons [26]. It allows extensive morphometric analysis, when linked to a simulator and provides a first step in the large scale implementation of biophysical models of electrophysiology. Interfaced with the functionality of the Model Container it has the capacity to accelerate the development of neuronal models by providing a direct link to data from experiments. Preliminary implementations of this functionality are now part of an automated test framework for G-3.

G-3 also significantly extends the ability of GENESIS to transparently interact with experimental technologies such as open source dynamic clamp software. As an example, the modular approach taken by the RTXI platform for dynamic clamp [27,28] and the modular structure of G-3 mean that the solver, Heccer, can be directly integrated as an RTXI plug-in [29]. This greatly simplifies the required software development.

Ultimately, the extensibility of the CBI architecture provides an extremely plastic environment within which appropriately configured external applications can be integrated with a scripting language of choice.

Implications for Neuronal Simulator Interoperability

The current generation of neural simulators can be characterized as software applications that support a user workflow extending from model construction to data analysis. Due to their simplicity [30] and ease of use [31], many of these simulators support Python bindings. They range from Monte-Carlo simula- tors for reaction-diffusion systems [32] and dedicated large network simulators [33] to the general purpose simulators NEURON and GENESIS [7,34].

For these simulators, interoperability can be implemented using one of the emerging standards for model exchange such as NeuroML [35], NineML [36] or PyNN [15]. While dedicated G-3 modules supporting the use of these interoperability standards are currently under development, the G-3 platform also provides an alternative approach. By employing scripting languages a CBI compliant simulator can easily be connected to general purpose software. This provides functionality that powerfully supports the development of 'next generation' neural simulation platforms.

Federated Software Development in Neuroscience

Processes of software development have traditionally been described as either cathedral-like where there is a closed development group under central direction and software releases are infrequent, or bazaar-like where software is developed by volunteers and software releases occur early and often [37,38]. While cathederal-like software development leads to a singlethreaded development cycle commonly used by commercial applications, the bazaar-like leads to multi-threaded development cycles of applications that come in different flavours. (Note: A classical example is the family of editors based on Emacs.)

Here, based on the CBI paradigm, we have outlined a solution for multi-threaded development of software components for neuroscience (for other examples of this approach to neural simulation see [39,40]). We have given examples that use Python.

Employed in this way, the modularized design of the G-3 simulator gives rise to an ecology of software components that can be integrated in a variety of ways to provide a software development environment that is both progressive and federated.

Figure 1 .
1Levels of programing in GENESIS 3.0. The concept hierarchy used for communication by GENESIS developers. C Coding: System programing languages are used to program individual simulator components and extend simulator functionality. SLI: Indicates the level of the GENESIS-2 Script Language Interface in the concept hierarchy. Script Languages: Python and Perl are used to interface individual simulator components. NDF: The native declarative file format used to build models and model components. NDF Libraries: Model components such as membrane channels and synapses provide a library of functional components available for accelerated model development. G-Tube: The GENESIS graphical user interface allows users to access models and model components for the rapid development of single cell and network models. doi:10.1371/journal.pone.0029018.g001

Figure 2 .
2Relation of components in the Computational Biology Initiative (CBI) federated software architecture.

000 Comment: Python script running a simple model with G-3. 000 from g3.nmc import ModelContainer def RunSimulation (simulationTime):timeStep = 1e-5 #------------------------------------------------------------------------------# Createa model container with a neuron cell and a dendritic segment #------------------------------------------------------------------------------my_nmc = ModelContainer() my_cell = my_nmc.CreateCell (''/cell'') my_segment = my_nmc.CreateSegment (''/cell/soma'') my_segment.SetParameters( { ''Vm_init'': 20.0680, ''RM'': 1.000, ''RA'': 2.50, ''CM'': 0.0164, ''ELEAK'': 20.0800, ''DIA'': 2e-05, ''LENGTH'': 4.47e-05, } ) # Apply current injection to the soma my_segment.SetParameter(''INJECT'', 1e-9) #------------------------------------------------------------------------------# Create a Heccer for computing the neuron model stored by the model container. #-----------------------------------------------------------------------------from g3.heccer import Heccer my_heccer = Heccer(name = ''/cell'', model = my_nmc) my_heccer.CompileAll() #-----------------------------------------------------------------------------# Create an output object. #---------------------------------------------------------------------------

-----my_output.AddOutput(''output'', my_heccer.GetAddress(''/ cell/soma'', ''Vm''))#-----------------------------------------------------------------------------#Create an array of the objects that participate in the simulation.#-----------------------------------------------------------------------------schedulees = [] # schedule heccer schedulees.append(my_heccer) schedulees.append(my_output) #-----------------------------------------------------------------------------# Advanceall the particpating objects for the duration of the simulation. #------------------------------------------------------------------------------currentTime = 0.0 while currentTime,simulationTime: currentTime+ = timeStep for schedulee in schedulees: schedulee.Advance(currentTime) my_heccer.Finish() my_output.Finish() #------------------------------------------------------------------------------# Main program executes a simulation of 0.5 seconds. # The if statement allows use of this file as an executable or as a library. #-----------------------------------------------------------------------------if --name --= = ' --main --': RunSimulation(0.5)

Figure 3 .
3Querying a model in GENESIS 3.0. The Studio is a component of the reconfigured GENESIS software platform. It can be used to query the parameters of individual compartments in a multi-compartment model neuron. The Studio also renders 3D morphology of dendrites and generates overviews of network models. doi:10.1371/journal.pone.0029018.g003

Figure 5 .
5Image of reconstructed Purkinje neuron dendritic segment. Blender is an open source 3D content creation suite that can be interfaced with the GENESIS neural simulation platform to replace the functionality otherwise provided by the G-Shell (a stand-alone GENESIS component). The rendering functions of Blender can then be used to analyze the morphology of small dendritic segments imported from electron microscopy data. doi:10.1371/journal.pone.0029018.g005

Table 1 .
1Comparison of Hand-Written and Generated Code (in Byte Counts).Language:
C (H)
C (G)
Perl (H)
Perl (G)
Python (H)
Python (G)

Model Container
1,832,580
4,416,163
30,406
207,638
14,568
250,178

Heccer
1,163,991
1,575,615
57,565
107,261
1,586
171,219

NS-SLI
1,448,636
483,641
4,603
2,802
-
-

SSP
829
2,323
55,063
-
-
-

Studio
-
-
174,923
-
-
-

G-Shell
-
-
28,142
-
623
836

Code Implementation. #include ''heccer/compartment.h'' setfield/cell/soma Cm 4.57537e-11 setfield/cell/soma Em 20.0800 setfield/cell/soma Vm_init 20.068 setfield/cell/soma inject 1e-9 setfield/cell/soma Ra 360502 setfield/cell/soma Rm 3.58441e+08struct Compartment compSoma =
{
// type of structure
{ MATH_TYPE_Compartment, },

21, // no parent compartment
4.57537e-11, // Cm
20.08,
// Em
20.068,
// InitVm
0,
// Inject
360502,
// Ra
3.58441e+08, // Rm
};
// compartment and channel mapping
int piC2m[] = { 0, 21, };

// model definition
struct Intermediary inter =
{ 1, &compSoma, NULL, piC2m, };

// include commands for simulation
#include ''main.c''
GENESIS SLI Implementation. create neutral/cell
create compartment/cell/soma

setfield/cell/soma dia 2e-05
setfield/cell/soma len 4.47e-05

doi:10.1371/journal.pone.0029018.g004 # Note: frame is the main component inthe MainLoop so this # is what we set the binding to. self.frame.Bind(wx.EVT_BUTTON, self.OnRun, self.run-Button) ## # Plots data output from a data file. # # wxPython sizer & layouts # This is the alternative to using an # XRC specification, this however is a small # example.def Plot(self,datafile):
plotwindow = wx.Frame(self.frame, 21, ''Graph display'',
(480,300))
plotpanel = wx.Panel(plotwindow, 21)

self.dataplot = DataPlot.DataPlot(plotpanel, 21,
'/tmp/output',
'Example Plot',
'Time (Seconds)',
'Membrane Potential (Volts)')

vbox_sizer = wx.BoxSizer(wx.VERTICAL)
vbox_sizer.Add(self.dataplot, 1, wx.EXPAND)
plotpanel.SetAutoLayout(True)
plotpanel.SetSizer(vbox_sizer)
plotpanel.Layout()
plotwindow.Show()

PLoS ONE | www.plosone.org
January 2012 | Volume 7 | Issue 1 | e29018
AcknowledgmentsWe thank the Computational Biology Initiative at UTSA (http://www.cbi. utsa.edu) for their support when installing, using, and updating G-3 on their computers.Author ContributionsWrote the paper: HC ADC. Software implementation: HC ALR. Philosophical discussion: HC ALR JMB.
Emergent properties of networks of biological signaling pathways. U Bhalla, R Iyengar, Science. 283Bhalla U, Iyengar R (1999) Emergent properties of networks of biological signaling pathways. Science 283: 381-387.

Evidence for a distinct light-induced calcium-dependent potassium current in hermissenda crassicornis. K Blackwell, Journal of Computational Neuroscience. 9Blackwell K (2000) Evidence for a distinct light-induced calcium-dependent potassium current in hermissenda crassicornis. Journal of Computational Neuroscience 9: 149-170.

An active membrane model of the cerebellar Purkinje cell I. Simulation of current clamps in slice. De Schutter, E Bower, J , Journal of Neurophysiology. 71De Schutter E, Bower J (1994) An active membrane model of the cerebellar Purkinje cell I. Simulation of current clamps in slice. Journal of Neurophysiology 71: 375-400.

An active membrane model of the cerebellar Purkinje cell II. Simulation of synaptic responses. De Schutter, E Bower, J M , Journal of Neurophysiology. 71De Schutter E, Bower JM (1994) An active membrane model of the cerebellar Purkinje cell II. Simulation of synaptic responses. Journal of Neurophysiology 71: 401-419.

Channel density distributions explain spiking variability in the globus pallidus: A combined physiology and computer simulation database approach. C Günay, J R Edgerton, D Jaeger, J Neurosci. 28Günay C, Edgerton JR, Jaeger D (2008) Channel density distributions explain spiking variability in the globus pallidus: A combined physiology and computer simulation database approach. J Neurosci 28: 7476-7491.

A federated design for a neurobiological simulation engine: The CBI framework for GENESIS 3.0. H Cornelis, M Edwards, A Coop, J Bower, PLoS Computational Biology. 728956Cornelis H, Edwards M, Coop A, Bower J (2011) A federated design for a neurobiological simulation engine: The CBI framework for GENESIS 3.0. PLoS Computational Biology 7: 0028956.

The Book of GENESIS: Exploring Realistic Neural Models with the GEneral NEural SImulation System. Bower JM, Beeman DSpringer-VerlagNew Yorksecond editionBower JM, Beeman D, eds (1998) The Book of GENESIS: Exploring Realistic Neural Models with the GEneral NEural SImulation System. Springer-Verlag, New York, second edition.

Perl Programmers Reference Guide. L Wall, T Christiansen, J Orwant, Sebastopol, CA: O'Reilly Media3rd editionWall L, Christiansen T, Orwant J (2000) Perl Programmers Reference Guide. Sebastopol, CA: O'Reilly Media, 3rd edition.

Python in a Nutshell O. A Martelli, Reilly Media, IncMartelli A (2006) Python in a Nutshell O'Reilly Media, Inc.

Modern Programming Using REXX. R O'hara, D Gomberg, 0-13-597329-5Prentice HallO'Hara R, Gomberg D (1988) Modern Programming Using REXX. Prentice Hall. ISBN 0-13-597329-5.

Tcl and the Tk Toolkit. J K Ousterhout, ISBN 0-201- 63337-XAddison-WesleyOusterhout JK (1994) Tcl and the Tk Toolkit. Addison-Wesley. ISBN 0-201- 63337-X.

Scripting: Higher level programming for the 21st century. J K Ousterhout, IEEE Computer. 31Ousterhout JK (1998) Scripting: Higher level programming for the 21st century. IEEE Computer 31: 23-30.

Neurospaces: Separating modeling and simulation. H Cornelis, De Schutter, E , Neurocomputing. 52Cornelis H, De Schutter E (2003) Neurospaces: Separating modeling and simulation. Neurocomputing 52-54: 227-231.

. H Cornelis, De Schutter, E , Neurospaces parameter handling. Neurocomputing. 58Cornelis H, De Schutter E (2004) Neurospaces parameter handling. Neuro- computing 58-60: 1079-1084.

PyNN: A common interface for neuronal network simulators. A Davison, D Brüderle, J Eppler, J Kremkow, E Muller, Frontiers in Neuroinformatics. 211Davison A, Brüderle D, Eppler J, Kremkow J, Muller E, et al. (2008) PyNN: A common interface for neuronal network simulators. Frontiers in Neuroinfor- matics 2: 11.

Reconstruct: a free editor for serial section microscopy. J Fiala, Journal of Microscopy. 218Fiala J (2005) Reconstruct: a free editor for serial section microscopy. Journal of Microscopy 218: 52-61.

3D electron microscopic reconstruction of segments of rat cerebellar purkinje cell dendrites receiving ascending and parallel fiber granule cell synaptic inputs. L Huo, A V Esquivel, J M Bower, The Journal of Comparative Neurology. 514Huo L, Esquivel AV, Bower JM (2009) 3D electron microscopic reconstruction of segments of rat cerebellar purkinje cell dendrites receiving ascending and parallel fiber granule cell synaptic inputs. The Journal of Comparative Neurology 514: 583-94.

Modeling a single dendritic compartment using Neurospaces and GENESIS-3. H Cornelis, H Lu, A Esquivel, J Bower, BMC Neuroscience. 83Cornelis H, Lu H, Esquivel A, Bower J (2007) Modeling a single dendritic compartment using Neurospaces and GENESIS-3. BMC Neuroscience 8: P3.

NeuroML: A language for describing data driven models of neurons and networks with a high degree of biological detail. P Gleeson, S Crook, R Cannon, M Hines, G Billings, PLoS Computational Biology. 61000815Gleeson P, Crook S, Cannon R, Hines M, Billings G, et al. (2010) NeuroML: A language for describing data driven models of neurons and networks with a high degree of biological detail. PLoS Computational Biology 6: e1000815.

neuroConstruct: A tool for modeling networks of neurons in 3D space. P Gleeson, V Steuber, R Silver, Neuron. 54Gleeson P, Steuber V, Silver R (2007) neuroConstruct: A tool for modeling networks of neurons in 3D space. Neuron 54: 219-235.

MorphML: Level 1 of the NeuroML standards for neuronal morphology data and model specification. S Crook, P Gleeson, F Howell, J Svitak, A Silver, Neuroinformatics. 5Crook S, Gleeson P, Howell F, Svitak J, Silver A (2007) MorphML: Level 1 of the NeuroML standards for neuronal morphology data and model specification. Neuroinformatics 5: 96-104.

NEURON-A program for simulation of nerve equations. M Hines, Eeckman F, ed. Neural Systems: Analysis and Modeling. Norwell, MAKluwerHines M (1993) NEURON-A program for simulation of nerve equations. In: Eeckman F, ed. Neural Systems: Analysis and Modeling. Norwell, MA: Kluwer. pp 127-136.

NEST: An environment for neural systems simulations. M Diesmann, M Gewaltig, Forschung und wisschenschaftliches Rechnen, Beiträ ge zum Heinz-Billing-Preis. Plesser T, Volker MGöttingen58Gesellschaft für wissenschaftliche DatenverarbeitungDiesmann M, Gewaltig M (2002) NEST: An environment for neural systems simulations. In: Plesser T, Volker M, eds. Forschung und wisschenschaftliches Rechnen, Beiträ ge zum Heinz-Billing-Preis 2001, Göttingen: Gesellschaft für wissenschaftliche Datenverarbeitung, volume 58 of GWDG-Bericht. pp 43-70.

PyMOOSE: Interoperable scripting in Python for MOOSE. R Subhasis, U Bhalla, Frontiers in Neuroinformatics. 26Subhasis R, Bhalla U (2008) PyMOOSE: Interoperable scripting in Python for MOOSE. Frontiers in Neuroinformatics 2: 6.

Run-time interoperability between neuronal network simulators based on the music framework. M Djurfeldt, J Hjorth, J M Eppler, N Dudani, M Helias, Neuroinformatics. 8Djurfeldt M, Hjorth J, Eppler JM, Dudani N, Helias M, et al. (2010) Run-time interoperability between neuronal network simulators based on the music framework. Neuroinformatics 8: 43-60.

Mobilizing the base of neuroscience data: the case of neuronal morphologies. G Ascoli, Nature Rev Neurosci. 7Ascoli G (2006) Mobilizing the base of neuroscience data: the case of neuronal morphologies. Nature Rev Neurosci 7: 318-324.

Effects of imperfect dynamic clamp: Computational and experimental results. J Bettencourt, K Lillis, L Stupin, J White, Journal of Neuroscience Methods. 169Bettencourt J, Lillis K, Stupin L, White J (2008) Effects of imperfect dynamic clamp: Computational and experimental results. Journal of Neuroscience Methods 169: 282-289.

Real-time linux dynamic clamp: A fast and flexible way to construct virtual ion channels in living cells. A Dorval, D Christini, T White, Annals of Biomededical Engineering. 29Dorval A, Christini D, White T (2001) Real-time linux dynamic clamp: A fast and flexible way to construct virtual ion channels in living cells. Annals of Biomededical Engineering 29: 897-907.

Realtime tuning and verification of compartmental cell models using RTXI and GENESIS. H Cornelis, A Coop, BMC Neuroscience. 11168SupplCornelis H, Coop A (2010) Realtime tuning and verification of compartmental cell models using RTXI and GENESIS. BMC Neuroscience 11(Suppl 1): P68.

Brian: a simulator for spiking neural networks in python. D Goodman, R Brette, Frontiers in neuroinformatics. 2Goodman D, Brette R (2008) Brian: a simulator for spiking neural networks in python. Frontiers in neuroinformatics 2.

PCSIM: A parallel simulation environment for neural circuits fully integrated with python. D Pecevski, T Natschlä Ger, K Schuch, DOI: 10.3389/ neuro.11.011Pecevski D, Natschlä ger T, Schuch K (2009) PCSIM: A parallel simulation environment for neural circuits fully integrated with python. DOI: 10.3389/ neuro.11.011.2009.

STEPS: Modeling and simulating complex reactiondiffusion systems with python. S Wils, E D Schutter, Frontiers in Neuroinformatics. 3Wils S, Schutter ED (2009) STEPS: Modeling and simulating complex reaction- diffusion systems with python. Frontiers in Neuroinformatics 3.

PyNEST: A convenient interface to the nest simulator. J M Eppler, M Helias, E Muller, M Diesmann, M O Gewaltig, Frontiers in neuroinformatics. 2Eppler JM, Helias M, Muller E, Diesmann M, Gewaltig MO (2008) PyNEST: A convenient interface to the nest simulator. Frontiers in neuroinformatics 2.

NEURON and python. M L Hines, A P Davison, E Muller, Frontiers in neuroinformatics. 3Hines ML, Davison AP, Muller E (2009) NEURON and python. Frontiers in neuroinformatics 3.

Towards NeuroML: Model description methods for collaborative modelling in neuroscience. N H Goddard, M Hucka, F Howell, H Cornelis, K Shankar, Philosophical Transactions of the Royal Society, Series B: Biological Sciences. 356Goddard NH, Hucka M, Howell F, Cornelis H, Shankar K, et al. (2001) Towards NeuroML: Model description methods for collaborative modelling in neuroscience. Philosophical Transactions of the Royal Society, Series B: Biological Sciences 356: 1-20.

The NineML user layer. A Gortechnikov, Incf Multiscale Modeling Taskforce, BMC Neuroscience. 11171SupplGortechnikov A, the INCF Multiscale Modeling Taskforce (2010) The NineML user layer. BMC Neuroscience 11(Suppl 1): P71.

The Cathedral and the Bazaar. E S Raymond, O'Reilly MediaRaymond ES (2001) The Cathedral and the Bazaar. O'Reilly Media.

The mythical man-month. F Brooks, Brooks F, ed. The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition. Addison-Wesley Professional2 editionBrooks F (1995) The mythical man-month. In: Brooks F, ed. The Mythical Man- Month: Essays on Software Engineering, Anniversary Edition, Addison-Wesley Professional, chapter 2. 2 edition. pp 5-14.

A component-based extension framework for large-scale parallel simulations in NEURON. J G King, M Hines, S L Hill, P H Goodman, H Markram, Frontiers in Neuroinformatics. King JG, Hines M, Hill SL, Goodman PH, Markram H, et al. (2009) A component-based extension framework for large-scale parallel simulations in NEURON. Frontiers in Neuroinformatics.

Visualizing neuronal network connectivity with connectivity pattern tables. E Nordlie, H E Plesser, Frontiers in Neuroinformatics. 339Nordlie E, Plesser HE (2009) Visualizing neuronal network connectivity with connectivity pattern tables. Frontiers in Neuroinformatics 3: 39.