生物组装图邻域分析工具
项目描述
spacegraphcats
使用支配集层次探索大型、令人烦恼的图 - 因为在空间中,没有人能听到你喵!
这是犹他大学《理论与实践》实验室、加州大学戴维斯分校《数据密集生物学》实验室和伦敦大学伯克贝克学院Felix Reidl博士之间的合作项目。spacegraphcats的初始开发得到了Moore基金会《数据驱动发现计划》的大力支持。
文档
此README文件包含快速入门信息。有关用例和其他信息,请参阅spacegraphcats的文档,网址为https://spacegraphcats.github.io/spacegraphcats。
安装和执行快速入门
如有此软件的帮助或支持,请在GitHub上提交问题。谢谢!
快速入门
有两组快速入门示例可供使用!请参阅 dory-example 和 twofoo-example。后者示例包含一个 snakemake Snakefile。
重要依赖关系
spacegraphcats 使用了来自 BBHash 的代码,这是一个构建最小完美哈希函数的 C++ 库(Guillaume Rizk, Antoine Limasset, Rayan Chikhi;参见 Limasset et al., 2017, arXiv,由 pybbhash 包装)。
spacegraphcats 还使用了来自 khmer 和 sourmash 的功能。
引用信息
参见基因组生物学的出版物 Exploring neighborhoods in large metagenome assembly graphs using spacegraphcats reveals hidden sequence diversity,Brown et al.,2020,doi: https://doi.org/10.1186/s13059-020-02066-4。
有趣的代码指针
有趣的算法
用于有效地在给定半径 R 下计算图支配集的 rdomset
代码在 spacegraphcats/catlas/rdomset.py 中。
从 BCALM cDBG 中移除低丰度悬挂件的图去噪代码位于 cdbg/bcalm_to_gxt.py 中的函数 contract_degree_two
。
用于通过支配节点索引 cDBG 节点的部分 indexPieces
代码位于 cdbg/index_cdbg_by_kmer.py。其余部分在下面的 search
中实现。
用于提取查询邻域的 search
代码在 search/query_by_sequence.py 中;特别参见对 kmer_idx.count_cdbg_matches(...)
的调用。
有趣的库功能
通过 cDBG 单体索引大型 FASTQ/FASTA 读取文件,并从 BGZF 文件中提取对应于单个单体群的读取的代码可在 cdbg/label_cdbg.py 和 search/search_utils.py 中找到,分别对应于 get_reads_by_cdbg
。