IL-AD
我们利用机器学习方法改进纳米孔测序的碱基识别器,以检测核苷酸修饰。首先,我们应用增量学习技术来提高富含修饰序列的碱基识别,这些序列通常具有很高的生物学兴趣。在确定了序列骨架后,我们进一步对单个核苷酸进行异常检测,以确定它们的修饰状态。通过这种方式,我们的流程承诺实现单分子、单核苷酸和序列上下文无关的修饰检测。
依赖项
- samtools: https://github.com/samtools/samtools
- taiyaki: https://github.com/nanoporetech/taiyaki/tree/master/taiyaki
使用方法
增量学习
训练过程
python ./scripts/train.py model_template.py pretained_model.checkpoint input.hdf5 --device cuda:0 --outdir path/to/output \
--save_every epochs --niteration niterations --lr_max lr_max --lambda lambda --min_sub_batch_size batchsize
- model_template.py: 模型架构,例如 taiyaki 模板
- pretained_model.checkpoint: 将被增量学习的模型,例如 taiyaki 预训练模型
- input.hdf5: 由 taiyaki 工作流程生成的训练数据集
- –device: 我们建议使用 GPU 进行增量学习训练
- –output: 输出字典的路径
- –save_every epochs: 每 epochs 次迭代保存检查点
- –niteration niterations: 增量学习中的迭代次数
- –lr_max lr_max: AdamW 优化器中的默认学习率
- –lambda lambda: 使用超参数 λ 平衡 L C T C L_{CTC} LCTC 和 L