我是编程和生物信息学的初学者.所以,我很感激你的理解.我尝试使用Gibbs采样开发一个用于motif搜索的python脚本,如Coursera类"在DNA中查找隐藏的消息"中所述.课程中提供的伪代码为:
GIBBSSAMPLER(Dna, k, t, N)
randomly select k-mers Motifs = (Motif1, …, Motift) in each string
from Dna
BestMotifs ? Motifs
for j ? 1 to N
i ? Random(t)
Profile ? profile matrix constructed from all strings in Motifs
except for Motifi
Motifi ? Profile-randomly generated k-mer in the i-th sequence
if Score(Motifs) < Score(BestMotifs)
BestMotifs ? Motifs
return BestMotifs
Run Code Online (Sandbox Code Playgroud)
问题描述:
代码挑战:实施GIBBSSAMPLER.
输入:整数k,t和N,后跟Dna的字符串集合.输出:由20个随机启动运行GIBBSSAMPLER(Dna,k,t,N)产生的字符串BestMotifs.记得使用伪版!
样本输入:
8 5 100
CGCCCCTCTCGGGGGTGTTCAGTAACCGGCCA
GGGCGAGGTATGTGTAAGTGCCAAGGTGCCAG
TAGTACCGAGACCGAAAGAAGTATACAGGCGT
TAGATCAAGTTTCAGGTGCACGTCGGTGAACC
AATCCACCAGCTCCACGTGCAATGTTGGCCTA
Run Code Online (Sandbox Code Playgroud)
样本输出:
TCTCGGGG
CCAAGGTG
TACAGGCG …Run Code Online (Sandbox Code Playgroud)