# primerDesignr **Repository Path**: zhangrenl/primerdesignr ## Basic Information - **Project Name**: primerDesignr - **Description**: No description available - **Primary Language**: R - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-02-27 - **Last Updated**: 2023-12-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README --- title: "数据处理流程" author: "Zhangrenliang" date: "2022/2/28" --- 从包含Indel/SNP信息的vcf文件到Indel/SNP分子标记 ## 0. primerDesignr的安装及加载 ```{r} devtools::install_git("https://gitee.com/zhangrenl/primerdesignr") library(primerDesignr) creat_primer3env() ``` ## 0. 自动设计引物 ```{r} # 如果使用该命令自动设计引物没有问题的话可以忽略后续步骤 # 需要准备的文件, # 1. fasta格式的基因组序列文件 # 2. 包含变异位点信息的文件,vcf,csv,txt # 包含信息列(CHROM,POS,ALT,REF) # 建议直接使用vcf文件 autoprimerdesign(genome = "Sitalica_312_v2.fa", # 参考基因组文件 table = "filter.indel.vcf", # 输入文件,vcf,csv outputTable = "final.csv", # 输出文件 extractFlankSeq = T, # 是否需要提供位点侧翼序列 CHROM.col = "CHROM", POS.col = "POS") ``` ## 1. 准备参考基因组信息 ```{r} Yugu1 = prepareGenomeData(file = "Sitalica_312_v2.fa") ``` ## 2. 将vcf文件转换成表格,或将指定样品信息从单列变成多列 ```{r} vcf= vcf2table(table = "filter.indel.vcf", # vcf 文件名 seprateSamples = c("d78-x","d78-y")) # 需要分离信息的样品名称 ``` ## 3. 提取基因组信息 ```{r} # 1) 小文件 data = extractSeq(data = vcf, # vcf_table文件 genome = Yugu1) # 参考基因组 # 2) 大文件 data = extractSeqBigFile(data = vcf, # vcf_table文件 genome = Yugu1) # 参考基因组 write.csv(data, "tmp_data.csv") ``` ## 4. 准备设计引物的文件 ```{r} set_config_file(file = "", # vcf_table, 必须包含序列 seqcols = c("BEFORE", "AFTER"), config_file = "tmp_config.txt", productsize = "80-120") ``` ## 5. 调用primer3设计引物 ```{r} design_primers(config_file = "tmp_config.txt", output_file = "tmp_primers.txt") ``` ## 6. 将primer3设计的引物整理到表格中 ```{r} collect_primer(primer_file = "tmp_primers.txt", outfile = "tmp_collectedPrimers.txt", extraInfo = c()) ``` ## 7. 将批量设计的引物信息整合到原始文件中 ```{r} unite_primer(oritable = vcf, collected_primer = "tmp_collectedPrimers.txt", unitedfile = "final.csv") ``` ## 8. 清理临时文件 ```{r} unlink("^tmp*") ```