MicrobeLab / DeepMicrobes

DeepMicrobes: taxonomic classification for metagenomics with deep learning
https://doi.org/10.1093/nargab/lqaa009
Apache License 2.0
81 stars 21 forks source link

关于DeepMicrobe论文中的细节问题想向您请教 #23

Open htaohan opened 1 year ago

htaohan commented 1 year ago

您好我对您的研究非常感兴趣,希望能够复现您的结果用于研究。 但是在复现的过程中遇到了一些问题,非常希望能够得到您的帮助!以下是我总结的问题:

  1. 文中句子:The number of reads to simulate depended on how many training steps were required for models to conver. 想问下您的训练集在使用ART进行模拟时,最终模拟的read数是多少(覆盖度参数-f是几×),方便提供一下模拟训练数据的命令吗。
  2. Evaluation sets验证集的覆盖度参数-f是几×呢,方便提供一下模拟验证集的命令吗?
  3. 生成训练集过程中,您在Assign过label以后,是将所有的.fa文件拼接在一起做后续的simulation,trim等操作后得到train.tfrec吗?
  4. 由于训练集和验证集数量都很大,想问下您使用的什么方法或者工具来快速剔除掉验证集中和训练集重复的pair-end数据。

感谢您花时间阅读我的消息,期望得到您的回复。

MicrobeLab commented 1 year ago

您好,感谢您对这项研究的兴趣。

  1. 由于每个细菌基因组大小不同,为了类别平衡,需要为每个基因组计算-f,每个类别最终模拟的reads数根据经验取足够用的数量(例如50万)但不一定会全部用完,-f计算方法是需要的reads总数乘以reads平均长度再除以基因组大小。
  2. 验证集是每个类别模拟之后下采样到相同数量的reads(数量大于约训练集的10%即可,影响不大),-f也是和训练集一样计算一个够用的数值即可。
  3. 每个基因组单独模拟,得到simulated reads再合并。
  4. 从概率来说,在不设定随机数种子相同的情况下,完全一致的reads是几乎不存在的,无需特别去除,如果确实需要去除,可以用prinseq等各种二代测序质控软件去重。
htaohan commented 1 year ago

非常感谢您的耐心解答!