An Introduction to CHNOSZ4 days ago
Getting Started | Basic Functionality | Organization of CHNOSZ | Functions without side effects (return values) | Functions with side effects (modify system state) | Querying the thermodynamic database | Calculating thermodynamic properties | Working with reactions | Chemical affinity and stability diagrams | Equilibrium calculations | Activity coefficients | References | Interlude: Affinity, Formation Reactions, and Balancing | Caution: Quasisolubility contours on predominance diagrams underestimate total solubility | Advanced Uses | 1. Use helper functions to create formatted labels for diagrams | 2. Use retrieve() to search species by elements | 3. Load optional data with add.OBIGT() | 4. Use OBIGT() and reset() to restore the default database and settings | 5. Use basis() species to define the compositional space | 6. Set activities of formed species() to define a quasisolubility contour | 7. When to use add = TRUE | 8. Set grid resolution and constant T, P, or ionic strength in affinity() | 9. Use NaCl() to estimate ionic strength from NaCl concentration | 10. Use solubility() to draw total solubility contours | 11. Use convert() for common unit conversions | 12. Use the transect mode of affinity() for synchronized variables | 13. Choose non-default balancing constraints in diagram() | 14. Calculate adjusted and non-standard Gibbs energy with subcrt() | 15. Calculate non-standard Gibbs energy with affinity() | And swap basis species, remove formed species, and label reactions | 16. Extract results from the output of diagram() | 17. Writing chemical formulas and counting and summing elements with makeup() | 18: Accessing and changing settings with thermo() | Interlude: From Activity to Molality | Buffers | 1. Defining buffers with mod.buffer() | 2. Retrieving buffered activities with affinity(return.buffer = TRUE) | 3. Working with multiple buffered species (e.g., r h2s and r o2 in PPM) | 4. Using diagram(type = ) to display buffered activities | 5. Using fr o2 Buffers in downstream calculations | 6. Using buffer calculations in transects with affinity() | 7. Calculating the neutral pH of water | 8. Working with mineral pH buffers | Comprehensive example: Ore formation environments | Proteins | 1. Identifying proteins | 2. Adding proteins from FASTA or CSV files | 3. Calculating protein properties | Protein length and formula | Carbon oxidation state | 4. Thermodynamic calculations for proteins | Standard thermodynamic properties | Ionization effects | 5. Setting up a chemical system with proteins | 6. Calculating affinities and equilibrium distributions | Affinities of formation reactions | Equilibrium distributions | Scaling protein abundances | 7. Additional protein analysis | End-to-end example: Parameter optimization to fit experimental protein abundances | Environmental controls on protein evolution: A case study with CRISPR-Cas systems | Further Resources - Demos | More use cases for mosaic() | Solubility contours with solubility() | Other contour plots | Calculations using the output of diagram() | Activity buffers | Other thermodynamic models | Calculations with proteins | Further Resources - Vignettes | Frequently asked questions | OBIGT thermodynamic database | Customizing the thermodynamic database | Fitting thermodynamic data | Creating multi-metal diagrams | Getting Help | Document History
