随机配对操作步骤

##1.首先在当前文件中创建新文件夹F1_test 
####因为是第一代后代,用F1表示,如果处理第二代后代就用F2表示,F2_test,以此类推
mkdir F1_test
##2.进入文件夹
cd F1_test
##3.处理数据
sed 's/##contig=<ID=1/##contig=<ID=chr2/' ../offspring_genotypes_renamed.vcf | sed 's/^1\t/chr2\t/' > offspring_genotypes_renamed_chr2.vcf
##4.复制脚本
cp /home/DL_2/CUTech/comput_2/Tech_No1/group4/yjc/workspace/SCT_data/test/13.119_SCT_ind/01.40_test/1.test/02.genome_modle/05.PCA/test_F/fenzhi2/F2_test/test1/F3_test/test1/F4_test/test1/F5_test/subset_random_28.sh ./
##5.运行脚本
./subset_random_28.sh -i offspring_genotypes_renamed_chr2.vcf -o pick_001_080 -r 001-080 -g 4 -e 8 -s 42
### 上面脚本命令的解释
### 当前offspring_genotypes_renamed_chr2.vcf个体的编号为001-080,
### 未来生成的数据的个体编号会更新比如下一轮就变成081-160(因为每次繁殖后代我都会生成80个个体),以此递增
##6.处理亲代数据
bcftools query -l ../merged1.vcf.gz | shuf -n 12 > keep.txt
###这里你要记得每个分支要保持相同的keep.txt编号,所以你要记住最开始生成的这个文件的路径
##在服务器上输入pwd可以得到路径,你需要复制这个路径比如/home/yjc,假如桌面显示上述路径,m那么这个keep.txt文件所在的文件夹就是home下的yjc文件夹中
##所以下次你复制这个文件的命令就是cp /home/yjc/keep.txt ./
bcftools view -S keep.txt -Oz -o output.vcf.gz ../merged1.vcf.gz && bcftools index -f output.vcf.gz
##7.合并
bcftools merge output.vcf.gz pick_001_080.vcf.gz -Oz -o merged1.vcf.gz
###同样上面提到了001_080这个编号会发生改变,所以随着不断的处理数据,这个命令要根据编号的不同进行调整
##8.查看个体编号
bcftools query -l merged1.vcf.gz 
###你需要将屏幕上显示的个体编号输入到我给你提供的文件中的sample_name.id文件中。
###将sample_name.id文件通过xftp软件导入服务器的文件夹,运行脚本05_1,将生成的pairing_schemes文件夹导出,查看文件中的all_schemes_summary.txt文件,这就是我们随机生成的4组配对方案(4个分支的配对方案已经完全生成,当处理分支2,3,4的过程中不要再次重复步骤8)

###1.新建文件夹
mkdir test1
###2.进入文件夹
cd test1
###3.复制脚本
cp /home/DL_2/CUTech/comput_2/Tech_No1/group4/yjc/liululu/workspace/fenzhi1/F1_test/test1/step* ./
###4.复制脚本
cp /home/DL_2/CUTech/comput_2/Tech_No1/group4/yjc/liululu/workspace/fenzhi1/F1_test/test1/slim_read.py ./
###5.复制vcf文件
cp ../merged1.vcf.gz ./
###6.转换数据
bcftools query -f '%CHROM\t%POS\t%REF\t%ALT[\t%GT]\n' merged1.vcf.gz > genotypes_raw.txt
###7.生成个体编号
bcftools query -l merged1.vcf.gz > sample_ids.txt
###8.运行脚本
python slim_read.py
###9.复制step0脚本
cp /home/DL_2/CUTech/comput_2/Tech_No1/group4/yjc/liululu/workspace/fenzhi3/F1_test/test1/F2_test/test1/F3_test/test1/F4_test/test1/F5_test/test1/step0.py ./
###10.编写1.txt和2.txt
###11.修改slim脚本中的个体编号
python step0.py 1.txt 2.txt step1.breeding_simulation.slim updated.slim
###12.运行slim脚本
nohup slim updated.slim &
###多次重复运行这个脚本
cd ..
mkdir -p {test2,test3}
cd test2
cp ../test1/step* ./
cp ../test1/slim_genotypes.txt ./
cp ../test1/updated.slim ./
nohup slim updated.slim &
cd ../test3
cp ../test2/* ./
nohup slim updated.slim &
###这个过程需要等待很久,你可以继续开展分支2,分支3,分支4的工作
###最后, step1.breeding_simulation.slim脚本运行结束后,运行脚本
python step2.vcf_ID_modify.py 081 160
###这次生成的后代的编号就是081-160了,当前是第二代,那么第三代就是161-240,以此类推(请明确区分代数和分支的区别)
###统计后代遗传多样性数据
python step3.cau_genetic_parameter.py offspring_genotypes_renamed.vcf

统计下图的数据到excel

image.png

统计完后,这一代的数据就结束了,开始新的一代的数据处理和统计,请注意,新的一代的数据在每个分支的test1文件夹中继续展开,(test2,3,4,5文件夹不做任何处理)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python介绍Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的...
    ad458edb873e阅读 2,695评论 0 0
  • 一、Python介绍 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python...
    5888eb1818d9阅读 4,062评论 0 0
  • 包(lib)、模块(module) 在Python中,存在包和模块两个常见概念。 模块:编写Python代码的py...
    清清子衿木子水心阅读 9,201评论 0 27
  • 6.1.3 标识符 什么是标识符? 开发人员在程序中自定义的一些符号和名称 标识符是自己定义的,如变量名 、函数名...
    __65a0阅读 4,316评论 0 0
  • python总结 6.1.3 标识符 什么是标识符? 开发人员在程序中自定义的一些符号和名称 标识符是自己定义的,...
    G_eebd阅读 4,158评论 0 0