如何根據(jù)染色體坐標批量提取對應(yīng)的DNA序列(bedtools)

這一篇小筆記是在我處理自己的數(shù)據(jù)的時候遇到的問題,經(jīng)過查閱資料解決了,故記錄下來。

比如現(xiàn)在:你需查找一段序列,比如說小鼠的chr10:105280000-105280550,我相信學(xué)生物的童鞋應(yīng)該都知道應(yīng)該怎么獲得DNA序列,但是如果當我有上千條序列需要獲得并把它們放在同一個fasta文件里的時候,應(yīng)該怎么做呢?

方法如下:

Step1 你需要先拿到差異peaks

從ATAC-seq數(shù)據(jù)中分析得到的差異peaks,當然同樣適用于chip-seq的數(shù)據(jù):

> head(Q_T_Q_V_psig)
log2 fold change (MLE): condition Q_T vs Q_V 
Wald test p-value: condition Q_T vs Q_V 
DataFrame with 6 rows and 6 columns
                                  baseMean   log2FoldChange             lfcSE             stat               pvalue               padj
                                 <numeric>        <numeric>         <numeric>        <numeric>            <numeric>          <numeric>
chr10:105280000-105280550 9.37332336803852 3.53597545377286  1.04368265396652 3.38797951689085 0.000704095222812605                 NA
chr10:105469500-105469950 13.4771925765997 2.29247043028083  0.84387643836949  2.7165949018677  0.00659572827117144  0.353853732289383
chr10:107658700-107659600 58.6902716992164 1.13822876920294 0.433762615192843 2.62408222685789  0.00868828070349121  0.389236862222314
chr10:108153100-108153800 38.0887166659289 2.20816858694232 0.491153263586065 4.49588499284274 6.92811780142922e-06 0.0204186477574836
chr10:108452300-108452850 15.8518595117141 3.34668830781992 0.888088721665981 3.76841663020088 0.000164286335774994 0.0816701024146028
chr10:110183500-110184500 50.6887818370494 1.31842727975894 0.416836274255839 3.16293797153972  0.00156185605940921  0.204583310689789

隨后把這個差異peaks表存成了csv文件。

Step2 在命令行里將一列分割成多列

從csv文件里提取某一列并存到另一個文件里,例如提取第一列($1):

$ awk -F"," '{print $1}' file.csv >> file1.csv

在linux里,再把csv文件的一列按照冒號分隔成兩列,并存到另一個文件里:

$ sed 's/:/\t/' file.cvs > file1.csv

同樣的,把csv文件的一列按照“-”短橫杠進行分割:

$ sed 's/-/\t/' test1 > test2

處理后的文件:

$ head Q_T_Q_V_p01_chrlocation.csv
chr10   105280000       105280550
chr10   105469500       105469950
chr10   107658700       107659600
chr10   108153100       108153800
chr10   108452300       108452850
chr10   110183500       110184500
chr10   111636750       111637550
chr10   111684750       111685450
chr10   111840100       111840700
chr10   112000200       112000850

Step3 把csv改成bed后綴

直接鼠標右擊“重命名”。
然后看一下bed文件:

$ head Q_T_Q_V_p01_chrlocation.bed 
chr10   105280000   105280550
chr10   105469500   105469950
chr10   107658700   107659600
chr10   108153100   108153800
chr10   108452300   108452850
chr10   110183500   110184500
chr10   111636750   111637550
chr10   111684750   111685450
chr10   111840100   111840700
chr10   112000200   112000850

Step4 安裝bedtools

安裝bedtools:

$ wget https://github.com/arq5x/bedtools2/releases/download/v2.29.1/bedtools-2.29.1.tar.gz
$ tar -zxvf bedtools-2.29.1.tar.gz
$ cd bedtools2
$ make

也有其他安裝方法,見:Installation

Step5 根據(jù)染色體坐標位置批量提取相應(yīng)序列

參考官網(wǎng):getfasta
用bedtools根據(jù)已知的染色體坐標位置,獲得fasta文件:

#-fi后面是你想從哪個fasta文件里提取序列,我這里是從小鼠基因組里提取
#-bed指的是你輸入的文件類型是什么,這里我輸入的是bed文件
#-bed后面跟的是上面我們拿到的染色體坐標文件
#-fo是輸出結(jié)果儲存的文件
$ bedtools getfasta -fi /media/yanfang/FYWD/RNA_seq/ref_genome/mm10.fa -bed Q_T_Q_V_p01_chrlocation.bed -fo Q_T_Q_V_p01_peakseq.fa

得到的fasta文件:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

友情鏈接更多精彩內(nèi)容