运行脚本a = ck('homoN.txt', 7)
def ck(data, K):
import pandas as pd
from collections import Counter
import numpy as np
dataO = pd.read_table(data, header=None, delim_whitespace=True)
PepN = dataO.values
ll=17
sap=list()
AM = 'ACDEFGHIKLMNPQRSTVWYX';
for i in range(0, 21):
for j in range(0, 21):
sap.append(AM[i]+AM[j]);
(m, n) = PepN.shape
for k in range(0,K):
saap = np.zeros((m, 441,K))
for i in range(0,m):
pep = list()
a=PepN[i];
b=a[0]
for j in range(0,len(b)):
if j+k+1<len(b):
pep.append(b[j]+b[j+k+1]);
elif j+k+1>=len(b):
pep.append(b[j]+'X');
result = Counter(pep)
ss =list(result.keys())
val = list(result.values())
for kk in range(0,len(ss)):
mk = sap.index(ss[kk]);
saap[i,mk,k] = val[kk]/441;
saapAll = np.concatenate((saap[:,:,0],saap[:,:,1],saap[:,:,2],saap[:,:,3],saap[:,:,4],saap[:,:,5],saap[:,:,6]),axis=1)
return saapAll
python脚本和txt文件都在本地E://1/...