Search This Blog

Tuesday, February 25, 2025

Introduction to genetics

From Wikipedia, the free encyclopedia

Genetics is the study of genes and tries to explain what they are and how they work. Genes are how living organisms inherit features or traits from their ancestors; for example, children usually look like their parents because they have inherited their parents' genes. Genetics tries to identify which traits are inherited and to explain how these traits are passed from generation to generation.

Some traits are part of an organism's physical appearance, such as eye color or height. Other sorts of traits are not easily seen and include blood types or resistance to diseases. Some traits are inherited through genes, which is the reason why tall and thin people tend to have tall and thin children. Other traits come from interactions between genes and the environment, so a child who inherited the tendency of being tall will still be short if poorly nourished. The way our genes and environment interact to produce a trait can be complicated. For example, the chances of somebody dying of cancer or heart disease seems to depend on both their genes and their lifestyle.

Genes are made from a long molecule called DNA, which is copied and inherited across generations. DNA is made of simple units that line up in a particular order within it, carrying genetic information. The language used by DNA is called genetic code, which lets organisms read the information in the genes. This information is the instructions for the construction and operation of a living organism.

The information within a particular gene is not always exactly the same between one organism and another, so different copies of a gene do not always give exactly the same instructions. Each unique form of a single gene is called an allele. As an example, one allele for the gene for hair color could instruct the body to produce much pigment, producing black hair, while a different allele of the same gene might give garbled instructions that fail to produce any pigment, giving white hair. Mutations are random changes in genes and can create new alleles. Mutations can also produce new traits, such as when mutations to an allele for black hair produce a new allele for white hair. This appearance of new traits is important in evolution.

Genes and inheritance

A section of DNA; the sequence of the plate-like units (nucleotides) in the center carries information.

Genes are pieces of DNA that contain information for the synthesis of ribonucleic acids (RNAs) or polypeptides. Genes are inherited as units, with two parents dividing out copies of their genes to their offspring. Humans have two copies of each of their genes, but each egg or sperm cell only gets one of those copies for each gene. An egg and sperm join to form a zygote with a complete set of genes. The resulting offspring has the same number of genes as their parents, but for any gene, one of their two copies comes from their father and one from their mother.

Example of mixing

The effects of mixing depend on the types (the alleles) of the gene. If the father has two copies of an allele for red hair, and the mother has two copies for brown hair, all their children get the two alleles that give different instructions, one for red hair and one for brown. The hair color of these children depends on how these alleles work together. If one allele dominates the instructions from another, it is called the dominant allele, and the allele that is overridden is called the recessive allele. In the case of a daughter with alleles for both red and brown hair, brown is dominant and she ends up with brown hair.

A Punnett square showing how two brown haired parents can have red or brown haired children. 'B' is for brown and 'b' is for red.
Red hair is a recessive trait.

Although the red color allele is still there in this brown-haired girl, it doesn't show. This is a difference between what is seen on the surface (the traits of an organism, called its phenotype) and the genes within the organism (its genotype). In this example, the allele for brown can be called "B" and the allele for red "b". (It is normal to write dominant alleles with capital letters and recessive ones with lower-case letters.) The brown hair daughter has the "brown hair phenotype" but her genotype is Bb, with one copy of the B allele, and one of the b allele.

Now imagine that this woman grows up and has children with a brown-haired man who also has a Bb genotype. Her eggs will be a mixture of two types, one sort containing the B allele, and one sort the b allele. Similarly, her partner will produce a mix of two types of sperm containing one or the other of these two alleles. When the transmitted genes are joined up in their offspring, these children have a chance of getting either brown or red hair, since they could get a genotype of BB = brown hair, Bb = brown hair or bb = red hair. In this generation, there is, therefore, a chance of the recessive allele showing itself in the phenotype of the children—some of them may have red hair like their grandfather.

Many traits are inherited in a more complicated way than the example above. This can happen when there are several genes involved, each contributing a small part to the result. Tall people tend to have tall children because their children get a package of many alleles that each contribute a bit to how much they grow. However, there are not clear groups of "short people" and "tall people", like there are groups of people with brown or red hair. This is because of the large number of genes involved; this makes the trait very variable and people are of many different heights. Despite a common misconception, the green/blue eye traits are also inherited in this complex inheritance model. Inheritance can also be complicated when the trait depends on the interaction between genetics and environment. For example, malnutrition does not change traits like eye color, but can stunt growth.

How genes work

Genes make proteins

The function of genes is to provide the information needed to make molecules called proteins in cells. Cells are the smallest independent parts of organisms: the human body contains about 100 trillion cells, while very small organisms like bacteria are just a single cell. A cell is like a miniature and very complex factory that can make all the parts needed to produce a copy of itself, which happens when cells divide. There is a simple division of labor in cells—genes give instructions and proteins carry out these instructions, tasks like building a new copy of a cell, or repairing the damage. Each type of protein is a specialist that only does one job, so if a cell needs to do something new, it must make a new protein to do this job. Similarly, if a cell needs to do something faster or slower than before, it makes more or less of the protein responsible. Genes tell cells what to do by telling them which proteins to make and in what amounts.

Genes are expressed by being transcribed into RNA, and this RNA then translated into protein.

Proteins are made of a chain of 20 different types of amino acid molecules. This chain folds up into a compact shape, rather like an untidy ball of string. The shape of the protein is determined by the sequence of amino acids along its chain and it is this shape that, in turn, determines what the protein does. For example, some proteins have parts of their surface that perfectly match the shape of another molecule, allowing the protein to bind to this molecule very tightly. Other proteins are enzymes, which are like tiny machines that alter other molecules.

The information in DNA is held in the sequence of the repeating units along the DNA chain. These units are four types of nucleotides (A, T, G and C) and the sequence of nucleotides stores information in an alphabet called the genetic code. When a gene is read by a cell the DNA sequence is copied into a very similar molecule called RNA (this process is called transcription). Transcription is controlled by other DNA sequences (such as promoters), which show a cell where genes are, and control how often they are copied. The RNA copy made from a gene is then fed through a structure called a ribosome, which translates the sequence of nucleotides in the RNA into the correct sequence of amino acids and joins these amino acids together to make a complete protein chain. The new protein then folds up into its active form. The process of moving information from the language of RNA into the language of amino acids is called translation.

DNA replication. DNA is unwound and nucleotides are matched to make two new strands.

If the sequence of the nucleotides in a gene changes, the sequence of the amino acids in the protein it produces may also change—if part of a gene is deleted, the protein produced is shorter and may not work anymore. This is the reason why different alleles of a gene can have different effects on an organism. As an example, hair color depends on how much of a dark substance called melanin is put into the hair as it grows. If a person has a normal set of the genes involved in making melanin, they make all the proteins needed and they grow dark hair. However, if the alleles for a particular protein have different sequences and produce proteins that can't do their jobs, no melanin is produced and the person has white skin and hair (albinism).

Genes are copied

Genes are copied each time a cell divides into two new cells. The process that copies DNA is called DNA replication. It is through a similar process that a child inherits genes from its parents when a copy from the mother is mixed with a copy from the father.

DNA can be copied very easily and accurately because each piece of DNA can direct the assembly of a new copy of its information. This is because DNA is made of two strands that pair together like the two sides of a zipper. The nucleotides are in the center, like the teeth in the zipper, and pair up to hold the two strands together. Importantly, the four different sorts of nucleotides are different shapes, so for the strands to close up properly, an A nucleotide must go opposite a T nucleotide, and a G opposite a C. This exact pairing is called base pairing.

When DNA is copied, the two strands of the old DNA are pulled apart by enzymes; then they pair up with new nucleotides and then close. This produces two new pieces of DNA, each containing one strand from the old DNA and one newly made strand. This process is not predictably perfect as proteins attach to a nucleotide while they are building and cause a change in the sequence of that gene. These changes in the DNA sequence are called mutations. Mutations produce new alleles of genes. Sometimes these changes stop the functioning of that gene or make it serve another advantageous function, such as the melanin genes discussed above. These mutations and their effects on the traits of organisms are one of the causes of evolution.

Genes and evolution

Mice with different coat colors

A population of organisms evolves when an inherited trait becomes more common or less common over time. For instance, all the mice living on an island would be a single population of mice: some with white fur, some gray. If over generations, white mice became more frequent and gray mice less frequent, then the color of the fur in this population of mice would be evolving. In terms of genetics, this is called an increase in allele frequency.

Alleles become more or less common either by chance in a process called genetic drift or by natural selection. In natural selection, if an allele makes it more likely for an organism to survive and reproduce, then over time this allele becomes more common. But if an allele is harmful, natural selection makes it less common. In the above example, if the island were getting colder each year and snow became present for much of the time, then the allele for white fur would favor survival since predators would be less likely to see them against the snow, and more likely to see the gray mice. Over time white mice would become more and more frequent, while gray mice less and less.

Mutations create new alleles. These alleles have new DNA sequences and can produce proteins with new properties. So if an island was populated entirely by black mice, mutations could happen creating alleles for white fur. The combination of mutations creating new alleles at random, and natural selection picking out those that are useful, causes an adaptation. This is when organisms change in ways that help them to survive and reproduce. Many such changes, studied in evolutionary developmental biology, affect the way the embryo develops into an adult body.

Inherited diseases

Some diseases are hereditary and run in families; others, such as infectious diseases, are caused by the environment. Other diseases come from a combination of genes and the environment. Genetic disorders are diseases that are caused by a single allele of a gene and are inherited in families. These include Huntington's disease, cystic fibrosis or Duchenne muscular dystrophy. Cystic fibrosis, for example, is caused by mutations in a single gene called CFTR and is inherited as a recessive trait.

Other diseases are influenced by genetics, but the genes a person gets from their parents only change their risk of getting a disease. Most of these diseases are inherited in a complex way, with either multiple genes involved, or coming from both genes and the environment. As an example, the risk of breast cancer is 50 times higher in the families most at risk, compared to the families least at risk. This variation is probably due to a large number of alleles, each changing the risk a little bit. Several of the genes have been identified, such as BRCA1 and BRCA2, but not all of them. However, although some of the risks are genetic, the risk of this cancer is also increased by being overweight, heavy alcohol consumption and not exercising. A woman's risk of breast cancer, therefore, comes from a large number of alleles interacting with her environment, so it is very hard to predict.

Genetic engineering

Since traits come from the genes in a cell, putting a new piece of DNA into a cell can produce a new trait. This is how genetic engineering works. For example, rice can be given genes from a maize and a soil bacteria so the rice produces beta-carotene, which the body converts to vitamin A. This can help children with Vitamin A deficiency. Another gene being put into some crops comes from the bacterium Bacillus thuringiensis; the gene makes a protein that is an insecticide. The insecticide kills insects that eat the plants but is harmless to people. In these plants, the new genes are put into the plant before it is grown, so the genes are in every part of the plant, including its seeds. The plant's offspring inherit the new genes, which has led to concern about the spread of new traits into wild plants.

The kind of technology used in genetic engineering is also being developed to treat people with genetic disorders in an experimental medical technique called gene therapy. However, here the new, properly working gene is put in targeted cells, not altering the chance of future children inheriting the disease causing alleles.

Computer multitasking

From Wikipedia, the free encyclopedia
Modern desktop operating systems are capable of handling large numbers of different processes at the same time. This screenshot shows Linux Mint running simultaneously Xfce desktop environment, Firefox, a calculator program, the built-in calendar, Vim, GIMP, and VLC media player.
Multitasking of Microsoft Windows 1.01 released in 1985, here shown running the MS-DOS Executive and Calculator programs

In computing, multitasking is the concurrent execution of multiple tasks (also known as processes) over a certain period of time. New tasks can interrupt already started ones before they finish, instead of waiting for them to end. As a result, a computer executes segments of multiple tasks in an interleaved manner, while the tasks share common processing resources such as central processing units (CPUs) and main memory. Multitasking automatically interrupts the running program, saving its state (partial results, memory contents and computer register contents) and loading the saved state of another program and transferring control to it. This "context switch" may be initiated at fixed time intervals (pre-emptive multitasking), or the running program may be coded to signal to the supervisory software when it can be interrupted (cooperative multitasking).

Multitasking does not require parallel execution of multiple tasks at exactly the same time; instead, it allows more than one task to advance over a given period of time. Even on multiprocessor computers, multitasking allows many more tasks to be run than there are CPUs.

Multitasking is a common feature of computer operating systems since at least the 1960s. It allows more efficient use of the computer hardware; when a program is waiting for some external event such as a user input or an input/output transfer with a peripheral to complete, the central processor can still be used with another program. In a time-sharing system, multiple human operators use the same processor as if it was dedicated to their use, while behind the scenes the computer is serving many users by multitasking their individual programs. In multiprogramming systems, a task runs until it must wait for an external event or until the operating system's scheduler forcibly swaps the running task out of the CPU. Real-time systems such as those designed to control industrial robots, require timely processing; a single processor might be shared between calculations of machine movement, communications, and user interface.

Often multitasking operating systems include measures to change the priority of individual tasks, so that important jobs receive more processor time than those considered less significant. Depending on the operating system, a task might be as large as an entire application program, or might be made up of smaller threads that carry out portions of the overall program.

A processor intended for use with multitasking operating systems may include special hardware to securely support multiple tasks, such as memory protection, and protection rings that ensure the supervisory software cannot be damaged or subverted by user-mode program errors.

The term "multitasking" has become an international term, as the same word is used in many other languages such as German, Italian, Dutch, Romanian, Czech, Danish and Norwegian.

Multiprogramming

In the early days of computing, CPU time was expensive, and peripherals were very slow. When the computer ran a program that needed access to a peripheral, the central processing unit (CPU) would have to stop executing program instructions while the peripheral processed the data. This was usually very inefficient. Multiprogramming is a computing technique that enables multiple programs to be concurrently loaded and executed into a computer's memory, allowing the CPU to switch between them swiftly. This optimizes CPU utilization by keeping it engaged with the execution of tasks, particularly useful when one program is waiting for I/O operations to complete.

The Bull Gamma 60, initially designed in 1957 and first released in 1960, was the first computer designed with multiprogramming in mind. Its architecture featured a central memory and a Program Distributor feeding up to twenty-five autonomous processing units with code and data, and allowing concurrent operation of multiple clusters.

Another such computer was the LEO III, first released in 1961. During batch processing, several different programs were loaded in the computer memory, and the first one began to run. When the first program reached an instruction waiting for a peripheral, the context of this program was stored away, and the second program in memory was given a chance to run. The process continued until all programs finished running.

The use of multiprogramming was enhanced by the arrival of virtual memory and virtual machine technology, which enabled individual programs to make use of memory and operating system resources as if other concurrently running programs were, for all practical purposes, nonexistent.

Multiprogramming gives no guarantee that a program will run in a timely manner. Indeed, the first program may very well run for hours without needing access to a peripheral. As there were no users waiting at an interactive terminal, this was no problem: users handed in a deck of punched cards to an operator, and came back a few hours later for printed results. Multiprogramming greatly reduced wait times when multiple batches were being processed.

Cooperative multitasking

Early multitasking systems used applications that voluntarily ceded time to one another. This approach, which was eventually supported by many computer operating systems, is known today as cooperative multitasking. Although it is now rarely used in larger systems except for specific applications such as CICS or the JES2 subsystem, cooperative multitasking was once the only scheduling scheme employed by Microsoft Windows and classic Mac OS to enable multiple applications to run simultaneously. Cooperative multitasking is still used today on RISC OS systems.

As a cooperatively multitasked system relies on each process regularly giving up time to other processes on the system, one poorly designed program can consume all of the CPU time for itself, either by performing extensive calculations or by busy waiting; both would cause the whole system to hang. In a server environment, this is a hazard that makes the entire environment unacceptably fragile.

Preemptive multitasking

Kubuntu (KDE Plasma 5) four Virtual desktops running multiple programs at the same time

Preemptive multitasking allows the computer system to more reliably guarantee to each process a regular "slice" of operating time. It also allows the system to deal rapidly with important external events like incoming data, which might require the immediate attention of one or another process. Operating systems were developed to take advantage of these hardware capabilities and run multiple processes preemptively. Preemptive multitasking was implemented in the PDP-6 Monitor and Multics in 1964, in OS/360 MFT in 1967, and in Unix in 1969, and was available in some operating systems for computers as small as DEC's PDP-8; it is a core feature of all Unix-like operating systems, such as Linux, Solaris and BSD with its derivatives, as well as modern versions of Windows.

At any specific time, processes can be grouped into two categories: those that are waiting for input or output (called "I/O bound"), and those that are fully utilizing the CPU ("CPU bound"). In primitive systems, the software would often "poll", or "busywait" while waiting for requested input (such as disk, keyboard or network input). During this time, the system was not performing useful work. With the advent of interrupts and preemptive multitasking, I/O bound processes could be "blocked", or put on hold, pending the arrival of the necessary data, allowing other processes to utilize the CPU. As the arrival of the requested data would generate an interrupt, blocked processes could be guaranteed a timely return to execution.

Possibly the earliest preemptive multitasking OS available to home users was Microware's OS-9, available for computers based on the Motorola 6809 such as the TRS-80 Color Computer 2, with the operating system supplied by Tandy as an upgrade for disk-equipped systems. Sinclair QDOS on the Sinclair QL followed in 1984, but it was not a big success. Commodore's Amiga was released the following year, offering a combination of multitasking and multimedia capabilities. Microsoft made preemptive multitasking a core feature of their flagship operating system in the early 1990s when developing Windows NT 3.1 and then Windows 95. In 1988 Apple offered A/UX as a UNIX System V-based alternative to the Classic Mac OS. In 2001 Apple switched to the NeXTSTEP-influenced Mac OS X.

A similar model is used in Windows 9x and the Windows NT family, where native 32-bit applications are multitasked preemptively. 64-bit editions of Windows, both for the x86-64 and Itanium architectures, no longer support legacy 16-bit applications, and thus provide preemptive multitasking for all supported applications.

Real time

Another reason for multitasking was in the design of real-time computing systems, where there are a number of possibly unrelated external activities needed to be controlled by a single processor system. In such systems a hierarchical interrupt system is coupled with process prioritization to ensure that key activities were given a greater share of available process time.

Multithreading

As multitasking greatly improved the throughput of computers, programmers started to implement applications as sets of cooperating processes (e. g., one process gathering input data, one process processing input data, one process writing out results on disk). This, however, required some tools to allow processes to efficiently exchange data.

Threads were born from the idea that the most efficient way for cooperating processes to exchange data would be to share their entire memory space. Thus, threads are effectively processes that run in the same memory context and share other resources with their parent processes, such as open files. Threads are described as lightweight processes because switching between threads does not involve changing the memory context.

While threads are scheduled preemptively, some operating systems provide a variant to threads, named fibers, that are scheduled cooperatively. On operating systems that do not provide fibers, an application may implement its own fibers using repeated calls to worker functions. Fibers are even more lightweight than threads, and somewhat easier to program with, although they tend to lose some or all of the benefits of threads on machines with multiple processors.

Some systems directly support multithreading in hardware.

Memory protection

Essential to any multitasking system is to safely and effectively share access to system resources. Access to memory must be strictly managed to ensure that no process can inadvertently or deliberately read or write to memory locations outside the process's address space. This is done for the purpose of general system stability and data integrity, as well as data security.

In general, memory access management is a responsibility of the operating system kernel, in combination with hardware mechanisms that provide supporting functionalities, such as a memory management unit (MMU). If a process attempts to access a memory location outside its memory space, the MMU denies the request and signals the kernel to take appropriate actions; this usually results in forcibly terminating the offending process. Depending on the software and kernel design and the specific error in question, the user may receive an access violation error message such as "segmentation fault".

In a well designed and correctly implemented multitasking system, a given process can never directly access memory that belongs to another process. An exception to this rule is in the case of shared memory; for example, in the System V inter-process communication mechanism the kernel allocates memory to be mutually shared by multiple processes. Such features are often used by database management software such as PostgreSQL.

Inadequate memory protection mechanisms, either due to flaws in their design or poor implementations, allow for security vulnerabilities that may be potentially exploited by malicious software.

Memory swapping

Use of a swap file or swap partition is a way for the operating system to provide more memory than is physically available by keeping portions of the primary memory in secondary storage. While multitasking and memory swapping are two completely unrelated techniques, they are very often used together, as swapping memory allows more tasks to be loaded at the same time. Typically, a multitasking system allows another process to run when the running process hits a point where it has to wait for some portion of memory to be reloaded from secondary storage.

Programming

Various concurrent computing techniques are used to avoid potential problems caused by multiple tasks attempting to access the same resource.

Bigger systems were sometimes built with a central processor(s) and some number of I/O processors, a kind of asymmetric multiprocessing.

Over the years, multitasking systems have been refined. Modern operating systems generally include detailed mechanisms for prioritizing processes, while symmetric multiprocessing has introduced new complexities and capabilities.

Introduction to genetics

From Wikipedia, the free encyclopedia https://en.wikipedia.org/wiki/Introduction_to_genetics Genetics ...