Tonicity

Tonicity is a measure of the effective osmotic pressure gradient; the water potential of two solutions separated by a semipermeable cell membrane. In other words, tonicity is the relative concentration of solutes dissolved in solution which determine the direction and extent of diffusion. It is commonly used when describing the response of cells immersed in an external solution.

Effect of different solutions on red blood cells
Micrographs of osmotic pressure on red blood cells

Unlike osmotic pressure, tonicity is influenced only by solutes that cannot cross the membrane, as only these exert an effective osmotic pressure. Solutes able to freely cross the membrane do not affect tonicity because they will always equilibrate with equal concentrations on both sides of the membrane without net solvent movement. It is also a factor affecting imbibition.

There are three classifications of tonicity that one solution can have relative to another: hypertonic, hypotonic, and isotonic.[1]

Hypertonic solution

A red blood cell in a hypertonic solution, causing water to move out of the cell.

A hypertonic solution has a greater concentration of solutes than another solution. In biology, the tonicity of a solution usually refers to its solute concentration relative to that of another solution on the opposite side of a cell membrane; a solution outside of a cell is called hypertonic if it has a greater concentration of solutes than the cytosol inside the cell. When a cell is immersed in a hypertonic solution, osmotic pressure tends to force water to flow out of the cell in order to balance the concentrations of the solutes on either side of the cell membrane. The cytosol is conversely categorized as hypotonic, opposite of the outer solution.

When plant cells are in a hypertonic solution, the flexible cell membrane pulls away from the rigid cell wall, but remains joined to the cell wall at points called plasmodesmata. The cells often take on the appearance of a pincushion, and the plasmodesmata almost cease to function because they become constricted, a condition known as plasmolysis. In plant cells the terms isotonic, hypotonic and hypertonic cannot strictly be used accurately because the pressure exerted by the cell wall significantly affects the osmotic equilibrium point.

Some organisms have evolved intricate methods of circumventing hypertonicity. For example, saltwater is hypertonic to the fish that live in it. Because the fish need a large surface area in their gills in contact with seawater for gas exchange, they lose water osmotically to the sea from gill cells. They respond to the loss by drinking large amounts of saltwater, and actively excreting the excess salt. This process is called osmoregulation.

Hypotonic solution

A red blood cell in a hypotonic solution, causing water to move into the cell.

A hypotonic solution has a lower concentration of solutes than another solution. In biology, a solution outside of a cell is called hypotonic if it has a lower concentration of solutes relative to the cytosol. Due to osmotic pressure, water diffuses into the cell, and the cell often appears turgid, or bloated. For cells without a cell wall such as animal cells, if the gradient is large enough, the uptake of excess water can produce enough pressure to induce cytolysis, or rupturing of the cell. When plant cells are in a hypotonic solution, the central vacuole takes on extra water and pushes the cell membrane against the cell wall. Due to the rigidity of the cell wall, it pushes back, preventing the cell from bursting. This is called turgor pressure.[2]

Isotonicity

Depiction of a red blood cell in an isotonic solution.

A solution is isotonic when its effective osmole concentration is the same as that of another solution. In biology, the solutions on either side of a cell membrane are isotonic if the concentration of solutes outside the cell is equal to the concentration of solutes inside the cell. In this case the cell neither swells nor shrinks because there is no concentration gradient to induce the diffusion of large amounts of water across the cell membrane. Water molecules freely diffuse through the plasma membrane in both directions, and as the rate of water diffusion is the same in each direction, the cell will neither gain nor lose water.

An iso-osmolar solution can be hypotonic if the solute is able to penetrate the cell membrane. For example, an iso-osmolar urea solution is hypotonic to red blood cells, causing their lysis. This is due to urea entering the cell down its concentration gradient, followed by water. The osmolarity of normal saline, 9 grams NaCl dissolved in water to a total volume of one liter, is a close approximation to the osmolarity of NaCl in blood (about 290 mOsm/L). Thus, normal saline is almost isotonic to blood plasma. Neither sodium nor chloride ions can freely pass through the plasma membrane, unlike urea.

gollark: I didn't do any horrible homoglyph hacks with THAT.
gollark: It uses the function, yes.
gollark: So, I finished that to highly dubious demand. I'd like to know how #11 and such work.
gollark: > `x = _(int(0, e), int(e, е))`You may note that this would produce slices of 0 size. However, one of the `e`s is a homoglyph; it contains `2 * e`.`return Result[0][0], x, m@set({int(e, 0), int(е, e)}), w`From this, it's fairly obvious what `strassen` *really* does - partition `m1` into 4 block matrices of half (rounded up to the nearest power of 2) size.> `E = typing(lookup[2])`I forgot what this is meant to contain. It probably isn't important.> `def exponentiate(m1, m2):`This is the actual multiplication bit.> `if m1.n == 1: return Mаtrix([[m1.bigData[0] * m2.bigData[0]]])`Recursion base case. 1-sized matrices are merely multiplied scalarly.> `aa, ab, ac, ad = strassen(m1)`> `аa, аb, аc, аd = strassen(m2)`More use of homoglyph confusion here. The matrices are quartered.> `m = m1.subtract(exponentiate(aa, аa) ** exponentiate(ab, аc), exponentiate(aa, аb) ** exponentiate(ab, аd), exponentiate(ac, аa) ** exponentiate(ad, аc), exponentiate(ac, аb) ** exponentiate(ad, аd)) @ [-0j, int.abs(m2.n * 3, m1.n)]`This does matrix multiplication in an inefficient *recursive* way; the Strassen algorithm could save one of eight multiplications here, which is more efficient (on big matrices). It also removes the zero padding.> `m = exponentiate(Mаtrix(m1), Mаtrix(m2)) @ (0j * math.sin(math.asin(math.sin(math.asin(math.sin(math.e))))), int(len(m1), len(m1)))`This multiples them and I think also removes the zero padding again, as we want it to be really very removed.> `i += 1`This was added as a counter used to ensure that it was usably performant during development.> `math.factorial = math.sinh`Unfortunately, Python's factorial function has really rather restrictive size limits.> `for row in range(m.n):`This converts back into the 2D array format.> `for performance in sorted(dir(gc)): getattr(gc, performance)()`Do random fun things to the GC.
gollark: > `globals()[Row + Row] = random.randint(*sys.version_info[:2])`Never actually got used anywhere.> `ε = sys.float_info.epsilon`Also not used. I just like epsilons.> `def __exit__(self, _, _________, _______):`This is also empty, because cleaning up the `_` global would be silly. It'll be overwritten anyway. This does serve a purpose, however, and not just in making it usable as a context manager. This actually swallows all errors, which is used in some places.> `def __pow__(self, m2):`As ever, this is not actual exponentiation. `for i, (ι, 𐌉) in enumerate(zip(self.bigData, m2.bigData)): e.bigData[i] = ι + 𐌉` is in fact just plain and simple addition of two matrices.> `def subtract(forth, 𝕒, polynomial, c, vector_space):`This just merges 4 submatrices back into one matrix.> `with out as out, out, forth:`Apart from capturing the exceptions, this doesn't really do much either. The `_` provided by the context manager is not used.> `_(0j, int(0, 𝕒.n))`Yes, it's used in this line. However, this doesn't actually have any effect whatsoever on the execution of this. So I ignore it. It was merely a distraction.> `with Mаtrix(ℤ(ℤ(4))):`It is used again to swallow exceptions. After this is just some fluff again.> `def strassen(m, x= 3.1415935258989):`This is an interesting part. Despite being called `strassen`, it does not actually implement the Strassen algorithm, which is a somewhat more efficient way to multiply matrices than the naive way used in - as far as I can tell - every entry.> `e = 2 ** (math.ceil(math.log2(m.n)) - 1)`This gets the next power of two in a fairly obvious way. It is used to pad out the matrix to the next power of 2 size.> `with m:`The context manager is used again for nicer lookups.> `Result[0] += [_(0j, int(e, e))]`Weird pythonoquirkiness again. You can append to lists in tuples with `+=`, but it throws an exception as they're sort of immutable.> `typing(lookup[4])(input())`It's entirely possible that this does things.

See also

References

  1. Sperelakis, Nicholas (2011). Cell Physiology Source Book: Essentials of Membrane Biophysics. Academic Press. p. 288. ISBN 978-0-12-387738-3.
  2. "Definition — hypotonic". The Free Dictionary. Retrieved 23 August 2012.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.