如何用binmapr進行遺傳定位

2021-09-27 13:24:29 字數 1814 閱讀 9732

binmapr是我折騰的乙個r包,它能夠將ngs測序得到snp資料基於binmap進行糾錯,用於更好的遺傳定位。

在閱讀本文之前,請先花點時間看看bin, bin, bin!map, map, map now!, 我只是將裡面的步驟整理成r包方便呼叫而已。

首先你得安裝並載入r包。因為這個r包目前主要是方便自己使用,所以託管在github上,需要用devtools進行安裝

devtools::install_github("xuzhougeng/binmapr")
之後就可以和其他r包一樣正常使用

library(binmapr)
r包的使用非常簡單,就是呼叫batchcallgeno將原本的genotype矩陣按照15bp對snp進行糾正

geno 

outdir = ".",

pos.start = 7, fix.size = 10)

因此,你只要提供乙個符合要求的輸入即可。

以李廣偉師兄的資料為例,我已經將其整理成示例資料,因此可以可以通過下面兩行命令讀取

data(geno)

data(pheno)

這兩個都是資料框,其中geno存放的是基因型資料,而pheno存放的是表型資料

為了能夠讓batchcallgeno執行,我們需要將geno資料轉成乙個矩陣,其中行名是位置資訊,列名是樣本資訊

gt 

row.names(gt)

由於每個位點都在所有樣本中都不一定存在,因此可以考慮過濾一些缺失比較多的位點.

miss_ratio 

gt_flt

我這裡過濾掉缺失大於20%的位點,原本是打算用5%,未曾想到這個標準過濾下去,90%的資料都快沒了,嚇得我趕緊用summary(miss_ratio)看了一波分布,改了下標準。

有了合適的資料型別後,就可以呼叫batchcallgeno函式了。執行結束後,除了得到乙個列表外存放基因型外,還會在當前目錄下輸出csv和pdf檔案。其中csv是表型資料,而pdf則是糾錯前後的基因型分布。

chrom 

geno_out

pos.start = 7, fix.size = 10)

介紹下幾個引數

# load phenotype

anova_analysis

geno_mt

geno_mt_reorder

1, anova_analysis,

phenotype = pheno$ph)

接著畫圖

pos 

plotqtl(pos = pos,

pvalue = pvals,

chr.name = "chr_01",

ymax = 11,

threshold = 3)

我們可以從中看到乙個非常顯著的峰,裡面的基因中就有乙個碰巧是水稻裡的綠色革命基因,sd1 loc_os01g66100 物理區間是 38382382-38385504,距qtl最顯著位置只有258kb的距離,對於乙個只有172個個體的f2群體而言,結果是不是已經很不錯了。

如何用PADS進行PCB設計

如何用pads進行pcb設計?這6步就夠了 在使用pads進行pcb設計的過程中,需要對印製板的設計流程以及相關的注意事項進行重點關注,這樣才能更好的為工作組中的設計人員提供系統的設計規範,同時也方便設計人員之間進行相互的交流和檢查。設計的流程 pcb的設計流程分為網表輸入 規則設定 元器件布局 佈...

如何用矩形法 梯形法 求定積分

分析 高中的時候,我們學習過,可以通過矩形法或者矩形法來求定積分。思路就是將積分區間劃分成n等份,然後將這n等份近似看成矩形 或梯形 然後對所有的矩形 或梯形 的面積進行求和。簡單的例子 求函式x 2在的定積分 矩形法 複製 如下 include include using namespace st...

如何用php進行資料備份

class backup public function backuptables dbname,datadir,tablenames 以下是形成sql的前半部分 如果存在表,就先刪除 sqls ndrop table if exists tablename n n 讀取表結構 trycatch p...