💡 总体介绍
- 我们开发了一个在Windows系统上调用变种位点的工具包 WinSNPGT,对于那些Linux操作经验很少的人来说非常友好。它可以获得我们数据集中指定的 SNP 位点的原始测序数据的基因型。LinSNPGT 是该工具包的 Linux 平台版本。
- 以下是该工具包的安装和使用说明。
🧾 背景
- 我们开发了一个表型预测平台,CropGS-Hub,其中包含多个高质量的重要农作物数据集(如水稻、玉米等)。这些数据集被用作训练集,构建表型预测模型。用户可以将他们自己样本的基因型上传到该平台,进行在线的表型预测。
- LinSNPGT工具包的开发是为了确保用户上传的基因型与建模训练集中的基因型相匹配,从而避免预测结果出现偏差。用户可以在Linux系统上运行该程序,通过简单的操作实现从文件测序到获取基因型的整个过程。
🔍 测试数据
- 示例数据文件未包含在安装包中,可以通过点击下载:示例数据
tar -zxvf example-data.tar.gz
示例数据文件的物种是 Oryza sativa(水稻),基因分型时可以在工具包中选择与水稻相关的数据集,例如 GSTP007 ~ GSTP009。
- 在使用LinSNPGT的过程中,您需要下载 RefDataSetFile。下面列出的是下载链接和文件中需要填写的 RefDataSet_File 名称。
- Maize (Zea mays):
- GSTP001_8652_Hybrid : Maize_8652_Hybrid
- GSTP002_5820_Hybrid : Maize_5820_Hybrid
- GSTP003_1458_Inbred : Maize_1458_Inbred
- GSTP004_1404_Inbred : Maize_1404_Inbred
- GSTP005_350_Inbred : Maize_350_Inbred
- GSTP006_1604_Inbred : Maize_1604_Inbred
- Rice (Oryza sativa):
- GSTP007_1495_Hybrid : Rice_1495_Hybrid
- GSTP008_705_Inbred : Rice_705_Inbred
- GSTP009_378_Inbred : Rice_378_Inbred
- Cotton (Gossypium hirsutum):
- GSTP010_1245_Inbred : Cotton_1245_Inbred
- Millet (Setaria italica):
- GSTP011_827_Inbred : Millet_827_Inbred
- Chickpea (Cicer arietinum):
- GTP012_2921_Inbred : Chickpea_2921_Inbred
- Rapeseed (Brassica napus):
- GSTP013_991_Inbred : Rapeseed_991_Inbred
- Soybean (Glycine max):
- GSTP014_2795_Inbred : Soybean_2795_Inbred
- Maize (Zea mays):
🌟 安装
-
LinSNPGT 依赖环境&软件
- Python3
- bowtie2
- samtools
- java8
-
配置&安装
git clone https://gitee.com/Min-Zer0/LinSNPGT.git cd LinSNPGT chmod +x ./install.sh && ./install.sh # install java8 ./install.Java8.sh # install bowtie2 sudo apt install bowtie2 # install samtools sudo apt install samtools # install seqtk if you want to use **SNPGT-build** sudo apt-get install seqtk
🌟 SNPGT
-
LinSNPGT安装后有3个子文件夹和3个文件
- .sys/
- 01.Reference_Genome/
- 02.Input_Fastq/
SNPGT-build.py
SNPGT.config
SNPGT.py
-
要通过
SNPGT.py
运行 LinSNPGT,用户需要填写SNPGT.config
并将文件放在相应的路径中。
- 填写
config.txt
文件-
Software Path:该内容一般不需要更改。
-
Project_Name:输入您的项目名称,该名称将作为输出文件前缀。
-
RefDataSetFile:输入与要拟合的模型相对应的数据集。
- 上面列出了可用的物种和数据集,包括它们的下载链接。
- RefDataSet 的物种应与您的原始测序数据相匹配。
-
Thread_Count:输入可用于运行程序的线程数
-
Samples_list:填写您的原始测序数据及其对应的样本名称。
- 必须遵循格式
| SAMPLE NAME | RAW READS NAME | RAW READS NAME|
- 由竖线分隔的,每个样本填写在单独的行中,每个Reads文件表示在单独的列中;Read1在前,Read2在后。
- 必须遵循格式
-
config.txt (示例)
#=================== Software Path =======================# Java_Path=./jdk/bin/java Bowtie2_Path=bowtie2 Samtools_Path=samtools #=================== LinSNPGT Config =======================# * [Project] Project_Name=Rice * [Species and Dataset] RefDataSet_File=Rice_705_Inbred * [Running LinSNPGT Thread] Thread_Count=10 * [Samples_list] > =========================================== > |sample | Read1 | Read2 | > ------------------------------------------- | Line1 | test1_1.fastq.gz | test1_2.fastq.gz | | Line2 | test2_1.fastq.gz | test2_2.fastq.gz |
-
- 下载 RefDataSetFile 文件
(*.tar.gz)
并将其移动到路径:./01.Reference_Genome/ - 移动原始测序数据
(*.fastq.gz)
或(*.fastq)
到路径:./02.Input_Fastq - 运行命令:
python SNPGT.py
- 输出 & 后续
-
程序完成后会在Result/目录中输出结果文件
- 标准格式 VCF(variant call format) 文件
- *.Genotype.txt (样本基因分型矩阵,格式如下)
CHROM POS Line 1 line 2 … line N Chr1 128960 A . … C Chr1 133137 C C … T … … … … … … Chr12 321216 A A … A Chr12 364257 A C … C Chr12 364755 . . … . … … … … … … -
上传 *.Genotype.txt 至 CropGS-Hub 以完成后续分析。
- 表型预测 PhenotypePrediction
- 杂交设计 CrossingDesign
-
🌟 SNPGT-build
-
如果用户有我们提供的14个作物的数据集之外的基因分型需求,可以尝试使用
SNPGT-build
脚本制作自己的RefDataSetFile,然后使用SNPGT完成基因分型。python SNPGT-build.py -h
usage: SNPGT-build.py [-h] [-F FASTA] [-B BIM] [-S SPECIES] [-N STRAIN] [-L BINLEN] [--JavaPath JAVAPATH] [--SamtoolsPath SAMTOOLSPATH] [--SeqtkPath SEQTKPATH] [--Bowtie2Path BOWTIE2PATH] SNPGT-build (Tools for make RefGenome) optional arguments: -h, --help show this help message and exit -F FASTA, --fasta FASTA Whole genome reference sequence -B BIM, --bim BIM SNP site information(bim file) -S SPECIES, --species SPECIES Specify species name; eg. Rice -N STRAIN, --strain STRAIN Specify strain name; eg. 378_Inbred -L BINLEN, --binlen BINLEN The simplified of the genome retains base length on both sides of the SNP. The default value is 400 --JavaPath JAVAPATH Path to java8. The default is ./jdk/bin/java --SamtoolsPath SAMTOOLSPATH Path to samtools. --SeqtkPath SEQTKPATH Path to Seqtk. --Bowtie2Path BOWTIE2PATH Path to bowtie2-build.
-
运行示例
python SNPGT-build.py -F path_to/Rice.fa -B path_to/Rice_378_Inbred.bim -S Rice -N 378_Inbre`
👥 联系我们
- 邱杰 Jie Qiu (qiujie@shnu.edu.cn)
- 朱旻 Min Zhu (zer0min@outlook.com)
- 陈嘉欣 Jiaxin Chen (jxchen1217@gmail.com)