When a new gene is discovered, a standard approach to understanding its function
ID: 3794646 • Letter: W
Question
When a new gene is discovered, a standard approach to understanding its function is to look through a database of known genes and find close matches. The closeness of two genes is measured by the extent to which they are aligned. To formalize this, think of a gene as being a sequence of characters from an alphabet Sigma = {A, C.G, T}. Consider two genes (sequences) X = ATGCC and Y = TACGCA. An alignment of X and Y is a way of matching up these two genes by writing them in columns, for instance: Here the - indicates a gap. The characters of each gene must appear in order, and each column must contain a character from at least one of the genes. The score of an alignment is calculated by assigning a score to each column and adding these up. A column with two matching characters gets score +1, a column with two mismatched characters gets score -1, and a column with a gap gets score -3. The score of the alignment above would be-3+1 - 3 - 3 + 1 + 1 - 1 = -7. Given two genes, we want to find the alignment with the highest score. Prove that if X and Y end with the same character, there is an optimal alignment whose final column contains those two characters. (try a proof by contradiction.) Suppose X ends with, 4 and Y ends with C. What are the possibilities for the final column of an alignment of X and Y? Give a recurrence for the score S(X, Y) of the optimal alignment of X and Y. Give a dynamic programming algorithm to compute S(X. K), based on your recurrence. Analyze the running time of your algorithm.Explanation / Answer
The general idea behind deadlock avoidance is to prevent deadlocks from ever happening, by preventing at least one of the aforementioned conditions. This requires more information about each process, AND tends to lead to low device utilization. ( I.e. it is a conservative approach. ) In some algorithms the scheduler only needs to know the maximum number of each resource that a process might potentially use. In more complex algorithms the scheduler can also take advantage of the schedule of exactly what resources may be needed in what order. When a scheduler sees that starting a process or granting resource requests may lead to future deadlocks, then that process is just not started or the request is not granted. A resource allocation state is defined by the number of available and allocated resources, and the maximum requirements of all processes in the system.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.