你好,我正在尝试在Hadoop和Java中实现一个新的生物信息学算法(我不确定是否可行)。我已经在互联网上搜索了很多关于在Hadoop上实现算法的资料。然而,我发现的都是"识别并执行在Hadoop上的并行任务"。如果你们能够指导我在互联网上找到一些除了单词计数之外的使用Java在Hadoop上的实例,我将不胜感激。
这就是我想做的事情
我有一个非常大的文本文件(约100 MB),其中包含随机排列的字符(A、G、T、C)。长序列的随机排列的A、G、T、C可能形成一个重要的序列k,例如(ATCGAGC)。我可能会在这个名为'r'的文本文件的许多行中找到这个序列k-mer。
我需要执行以下任务
在R(整个集合/文件)中识别所有文本(r)行中各种k-mer的位置。
我必须跟踪特定r中k-mer的位置。
我有两个参数用于比较不同r中的k-mer。
如果两个'r'中的k-mer满足上述参数比较,我必须更新邻居集N。
如果你有兴趣,这是伪代码:
Given k, ĥ, ȇ
1. Make K by extracting all possible kmers from Reads
2. for all reads r belongs R do
construct Gk[r] by scanning through r
end for
3. for all k ε K do
for all read pairs (r,s) ε Gk × GK
if h(r,s) ≥ ĥ and dk < ȇ h(r,s) then
update the N
end if
end for
end for
k is k-mer
K is set of all k
ĥ minimum overlap distance
ȇ maximum mismatch tolerance
N neighbor set
h(r,s) overlap length of r and s wrt k
d(r,s) distance between r and s