所以,我正在研究一個生物信息學課程問題 - 現在已經設置好了,並且陷入了一個算法中。如何獲得與字典中最小值關聯的密鑰?
我的問題是,我似乎無法找到一種方法來使最後的功能(SkewMin
)工作,因爲它應該只返回Skew
最小化的位置。
是的,我知道索引從0開始,但我會在minimumValues
加1的每一個值進行調整,所以用它去:)
# Example:
# index : 1 2 3 4 5 6 7 8 9 10 11 12 13
# Genome => A T T C G G C C C G G C C
# Skew(genome) => 0 0 0 0 -1 0 +1 0 -1 -2 -1 0 -1 -2
# MinSkew(genome) => 9 13
下面是實際的代碼(我刪除代碼對於Skew
,因爲它上面完全說明什麼我,和我不能在網上發佈工作的代碼,這也是爲什麼我不打算提課程名稱):
# MinSkew, uses Skew(genome) to find the positions where Skew is at a minimum.
#EX: Skew("ACGTGCC") gives 0 0 -1 0 0 1 0 -1
# with index 0 1 2 3 4 5 6 7
#and MinSkew("ACGTGC") gives the index of the nucletides scoring -1 in genome
# result: (2,7).
def MinSkew(genome):
dictOfSkew = dict()
skewValues = Skew(genome)
minimumSkew = 0
minimumValues = list()
for i in range(0,len(genome) + 1):
dictOfSkew[i] = skewValues[i]
if minimumSkew > skewValues[i]:
minimumSkew = skewValues[i]
minimumValues.append(i)
return minimumValues
'SkewMin'和'MinSkew'如何關聯? – 2014-10-17 17:09:09
'Skew()'返回一個'list'或者'dict'嗎? – 2014-10-17 17:19:18
Skew()返回一個列表,而SkewMin,MinSkew部分只是一個錯誤,對此抱歉! – 2014-10-18 10:37:47