说在前面:
早在 2009 年,韩斌团队(第一作者是黄学辉)就在 Genome Res 上发了一篇文章 High-throughput genotyping by whole-genome resequencing,提出通过对二代测序数据构建 bin 标记的方法进行定位研究,以降低测序误差对定位的影响。
究其原因,是重测序数据和传统的遗传标记有 2 点不同,1)由于测序数据基因组覆盖率的问题,并不是群体内所有个体在每个标记都有位点信息;2)由于测序数据准确性的问题,单个的 SNP 位点不再像过去的传统标记那么可靠。所以它们提出了一种基于滑窗的方法将一个 SNPs 集而不是单个 SNP 作为一个标记单位。
本文的 SNPbinner 也是要解决这个问题,即:
Convert single nucleotide polymorphism (SNP) data into genomic bins.
原文引用:Gonda, I., H. Ashrafi, D.A. Lyon, S.R. Strickler, A.M. Hulse-Kemp, Q. Ma, H. Sun, K. Stoffel, A.F. Powell, S. Futrell, T.W. Thannhauser, Z. Fei, A.E. Van Deynze, L.A. Mueller, J.J. Giovannoni, and M.R. Foolad. 2019. Sequencing-based bin map construction of a tomato mapping population, facilitating high-resolution quantitative trait loci detection. Plant Genome 12:180010. doi:10.3835/plantgenome2018.02.0010
软件主要包括三个选项:分别为 crosspoints、bins、visualize。
1. crosspoints
基于 SNPs 数据鉴定可能的 crossover points。
snpbinner crosspoints --input PATH --output PATH (--min-length INT | --min-ratio FLOAT) [optional args]
--input # 输入文件
--output # 输出文件,分别展示了个体编号、crosspoint 位置、crosspints 附近的基因型(染色体末端后为空白)。
‑‑min‑length # crosspoints 之间的最小距离;
‑‑min‑ratio # 同上,以比例为单位,如果是0.01,则为染色体 1% 的长度;
‑‑cross‑count # 用于计算 transition 的可能性,state transition probability 是这个值除以染色体长度,默认为 4;
‑‑chrom‑len # 染色体长度,如果不指定,则为最后一个 SNPs 位点;
‑‑homogeneity # 用于计算 emission 概率,默认为 0.9;
2. bins
snpbinner bins --input PATH --output PATH --min-bin-size INT [--binmap-id ID]
输入文件同上一部分的输出文件;
输出文件格式示例如下:
--min-bin-size # 可以指定 bin 的最小长度;
3. visualize
可以对前面两步的输入和输出文件做可视化处理。比如:
snpbinner visualize --out PATH [--bins PATH]... [--crosspoints PATH]... [--snps PATH]...
直接在命令行指定输入和输出文件路径即可。
此外,我还写了后续如果使用 R/qtl 进行 QTL 定位分析,有兴趣的可以移步:
R/qtl 定位分析(四)Non-normal phenotypes
安装
如果 pip 无法直接安装该软件,可以按以下流程操作试试:
wget https://github.com/solgenomics/SNPbinner/archive/refs/tags/v1.0.0+GondaEtAl2019.tar.gz
tar -zxvf v1.0.0+GondaEtAl2019.tar.gz
cd SNPbinner-1.0.0-GondaEtAl2019
export PYTHONPATH=/your/own/path/lib/python2.7/site-packages/:$PYTHONPATH
python setup.py build
python setup.py install --prefix=/your/own/path
本着分享、交流的本意,简单做了笔记,如果有用,点个赞也是极好的。