Question: I need help figuring out how to implement the gene sequence algorithm (Needleman-Wunsch) using a Divide and Conquer version in Python with the following specifications:

I need help figuring out how to implement the gene sequence algorithm (Needleman-Wunsch) using a Divide and Conquer version in Python with the following specifications:

"""

Please implement functions named: reset, basicOps, genSeqDC, setS1, setS2, and timeComplexity; details follow.

Please make s1 and s2 global variables, so you don't have to pass them around everywhere

You don't have to, but you might want to, add a main function and code/test this in your

favorite Python IDE.

"""

counter = 0

s1 = ""

s2 = ""

""" reset, resets basic op counter to 0 and s1/s2 to empty strings """

def reset():

global counter

global s1

global s2

counter = 0

s1 = ""

s2 = ""

"""

basicOps returns the number of basic operations

HINT: don't forget to count basic operations!!!

"""

def basicOps():

global counter

return counter

"""

setS1 sets global variable s1 to gene sequence specified

"""

def setS1(seq):

global s1

s1 = seq

"""

setS2 sets global variable s2 to gene sequence specified

"""

def setS2(seq):

global s2

s2 = seq

"""

geneSeqDC, implement Genetic Sequence Alignment Algorithm Divide and Conquer Solution.

Remember: s1 and s2 are global variables. Therefore, please focus on how i and j affect the optimal

gene sequence alignment.

Note the unit tests assume that i and j are zero-based!

For example given the strings in the slides ("ACGCTGA", "ACTGT"), the unit tests will invoke genSeqDC(len(s1)-1, len(s2)-1)

or more specifically, for this example, it calculates genSeqDC(6, 4) *** NOT genSeqDC(7,4) ***

However, please implement it using recursion, ***not using an array-cache***

"""

def genSeqDC(i, j):

global s1

global s2

global counter

# Note the unit tests assume that i and j are zero-based!

# For example given the strings in the slides ("ACGCTGA", "ACTGT"), the unit tests invoke genSeqDC(len(s1)-1, len(s2)-1)

# or more specifically, for this example, it calculates genSeqDC(6, 4) *** NOT genSeqDC(7,4) ***

pass

"""

For two gene sequences of size m and n, how many basic operations will the d&c gene-sequencing algorithm perform?

Please only count the number of function calls.

Note: depending on exactly how you implement your divide and conquer algorithm might affect the exact number of basic ops

This estimate should be the high water mark. For extra credit, implement the exact number of basic operations that occurs.

"""

def timeComplexity(m, n):

pass

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Accounting Questions!