这个项目能做什么
RetroSeek是一个端到端的计算流程,用于检测、分类和注释基因组组装中的内源性逆转录病毒(ERV)整合。它基于Snakemake工作流管理器构建,强调并行化、模块化、弹性和可重复性,面向工作站、HPC集群和云环境。
核心能力
- 通过NCBI Datasets自动获取基因组,并生成每个基因组的BLAST数据库和GenomeTools后缀数组。
- 可配置的同源搜索,使用BLAST+(探针与基因组的tBLASTn)结合通过LTRharvest和LTRdigest进行的从头LTR发现,协调为高置信度的ERV候选轨道。
- 单LTR检测:识别当原病毒的两个LTR重组并切除中间序列时留下的单个LTR,使用LTR臂作为blastn诱饵,并减去完整元件的侧翼和编码序列旁的单LTR。单LTR/完整比率作为谱系年龄代理输出。
- 每个位点的分类学分类,为每个有效ERV位点分配校准的属级调用(秩、置信度、嵌合、ERV类),使用POL/GAG的系统发育定位,否则使用加权LCA,基于从NCBI构建的属级全面参考。
- 系统发育定位输出:iTOL就绪的.jplace证据、每个基因组的热树、EDPL定位不确定性表,以及ERV补体与宿主祖先的共系统发育比较。
- 模块化R分析层(GenomicRanges / plyranges),生成重叠矩阵、确定性负二项GLM热点检测和探针对表。
- 可配置的元数据聚合,跨合并区间(列表、连接、最佳、多数、第一、严格)。
- 可发表的图形:每个阶段一个多页矢量PDF,采用色盲安全视觉系统,宿主物种行与宿主系统发育并列。
工作流和界面
CLI委托给Snakemake,并按阶段分组:设置(基因组下载、Pfam获取、参考构建、探针提取)、索引(BLAST数据库、后缀数组)、发现(LTR候选、LTR域、BLAST)、分析(区间分析、域扫描、分类、分割、单LTR检测、热点检测、对检测、定位树)和图形(全局图、圆形图)。阶段可以组合并按依赖顺序运行;运行在中断后从检查点恢复,并接受任何Snakemake标志,如--cores、--profile或-n。--downstream快捷方式运行所有分析和图形阶段。启动器在开始前验证配置、工具和Pfam库,如果重型搜索会意外重新运行,则拒绝开始。
要求和可重复性
单个conda/mamba环境(data/config/environment.yml)提供Python 3.11、R 4.3、Bioconductor、BLAST+、GenomeTools、NCBI Datasets和支持库。需要有效的NCBI Entrez API电子邮件地址,可选API密钥以加快查询。配置是仅值的YAML,具有仓库相对默认值,因此玩具基因组冒烟运行开箱即用;生产运行通过gitignored本地配置指向外部存储。
状态说明
README指出--hotspot-detection是实验性的(功能正常但测试较少),--generate-circle-plots目前损坏,在绘图时失败,因为它读取了后来重构替换的每基因座指标。
文档涵盖架构、用法、配置、单LTR方法、开发约定和架构决策记录。该项目采用MIT许可,在都柏林圣三一学院Moyne研究所的Ní Leathlobhair实验室开发。
评论
0 评分人数达到10人后显示
登录后参与讨论。