我正在考虑一种在并行中解析fasta文件的方法。对于那些不知道fasta格式的人来说,举个例子:
>SEQUENCE_1
MTEITAAMVKELRESTGAGMMDCKNALSETNGDFDKAVQLLREKGLGKAAKKADRLAAEG
LVSVKVSDDFTIAAMRPSYLSYEDLDMTFVENEYKALVAELEKENEERRRLKDPNKPEHK
IPQFASRKQLSDAILKEAEEKIKEELKAQGKPEKIWDNIIPGKMNSFIADNSQLDSKLTL
MGQFYVMDDKKTVEQVIAEKEKEFGGKIKIVEFICFEVGEGLEKKTEDFAAEVAAQL
>SEQUENCE_2
SATVSEINSETDFVAKNDQFIALTKDTTAHIQSNSLQSVEELHSSTINGVKFEEYLKSQI
ATIGENLVVRRFATLKAGANGVVNGYIHTNGRVGVVIAAACDSAEVASKSRDLLRQICMH 因此,以lines '>‘>开头的行是包含标识符后面序列的标识符的标头行.
我想您应该将整个文件加载到内存中,但在此之后,我很难找到处理这些数据的方法。
问题是:线程不能从任意位置开始,因为它们可以以这种方式剪切序列。
当这些行相互依赖时,有人有并行解析文件的经验吗?任何想法都会受到赞赏。
发布于 2011-11-27 20:23:11
应该很容易,因为在这种情况下,行之间的依赖非常简单:只需使线程以任意位置开始,然后跳过这些行,直到它们到达以‘’>开头的行(即启动一个新序列)。
为了确保没有任何序列被处理两次,保留一组已经处理过的序列if (或者,如果序列if不是唯一的,则可以使用行号,但它们确实应该是唯一的!)
https://stackoverflow.com/questions/8258946
复制相似问题