最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

從重測序到批量Indel引物設(shè)計,R與python結(jié)合--自動屏蔽SNP區(qū)域

2023-02-14 20:51 作者:城宇城宇  | 我要投稿

自從來到實驗室,得到師兄流傳下來的引物批量設(shè)計腳本后,就一直掛記于心。無奈當時python水平不好,實在看不太懂,故而一直念叨到了現(xiàn)在。其實我現(xiàn)在python水平也不咋地,因為相比于我熟悉的R來說,python實在太不順手了。無論是從語言風格還是IDE風格上來說,我始終更喜歡R。其實如果R調(diào)用linux程序方便好用一點的話,我自己寫的腳本恐怕早就出來了,但是無論我怎么調(diào)用system,system2,我還是調(diào)用不了primer3_core……

幸好,ChatGPT救我狗命。R的部分基本都是我寫的,我只讓ChatGPT給了一些優(yōu)化改進。而python部分則基本都是ChatGPT給出的,當然,其中有很多互動和排錯,可以說是我和ChatGPT的結(jié)晶。嘿嘿嘿,結(jié)晶,嘿嘿嘿,我們的結(jié)晶~

本文件還有一個優(yōu)勢便是可以結(jié)合檢測到的SNP與小indel區(qū)域的位置,自動向primer傳遞設(shè)計引物時應(yīng)該屏蔽的區(qū)域,增加引物結(jié)合準確性。

言歸正傳,重測序后檢測snp和indel,會得到variation文件,格式如下:

現(xiàn)在,讓我們開始吧!

設(shè)計思路的草稿:

#生成csv文件,包含chr,目標區(qū)域開始pos,目標長度,gap的cM位置,序列


#首先接受csv文件

#讀取序列,

#根據(jù)gap得到目標區(qū)域,生成input_file。根據(jù)gap長度小于10,10到30,以及大于30,分別確定PRIMER_PRODUCT_SIZE_RANGE

#有沒有辦法得到exclude_region?

#得到結(jié)果,提取PRIMER_LEFT_0_SEQUENCE,PRIMER_RIGHT_0_SEQUENCE

#PRIMER_LEFT_0_TM,PRIMER_RIGHT_0_TM,

#PRIMER_PAIR_0_PRODUCT_SIZE

#生成新的csv文件,以單一序列得到的結(jié)果舉例:

#第一行:chr,pos,產(chǎn)物長度,chr-cM的名字,Primer-F,DNA序列

#第二行:null,null,null,null,Primer-R,null

現(xiàn)在,對得到的variation進一步篩選

上面的代碼對variation進行了篩選,得到了長度在一定范圍內(nèi)的Indel,并對其長度進行了度量。

上面的代碼獲得primer3_core的運行所需要的一些參數(shù)。當提取的seq中g(shù)ap左右的序列長度小于25時,會在seq前面加上長度不夠的字樣,并且會提供ref_length(幫助判斷gap是不是同一條DNA鏈的),方便后續(xù)自己判斷是否需要合并gap來設(shè)計引物。

上面的代碼則檢索給出的sequence中,存在variation的區(qū)域,并給出設(shè)計引物時應(yīng)該屏蔽的區(qū)間

然后,編寫一個函數(shù)將以上部分封裝起來


以上,R語言的部分結(jié)束,下面是python的部分。

該部分我計劃在linux環(huán)境中執(zhí)行。命令格式為:python3 ./get_primer.py ../輸入文件名.xlsx 輸出文件名

primer3輸入文件格式可以去官網(wǎng)查看,有相應(yīng)需求的也可以自己更改。我這里設(shè)置只用返回一對引物即可。并對產(chǎn)物長度根據(jù)indel的長度進行了調(diào)整。

上面這個函數(shù)extract_primer_info會提取primer3輸出文件中的信息。

最后,再加上:

這個python文件便完成了,然后便可以快樂地批量設(shè)計引物了。感謝ChatGPT,雖然還有很多可以改進之初,但確實幫助非常大。

最后再說一遍,命令格式為:python3 ./get_primer.py ../輸入文件名.xlsx 輸出文件名,是在linux環(huán)境中執(zhí)行的。

把這段代碼發(fā)出來也是因為有python部分ChatGPT有大量的參與,算是取之于民,用之于民吧~

大家覺得有用的話就投個幣吧~


#2023.2.26更改了一些bug并重新上傳

從重測序到批量Indel引物設(shè)計,R與python結(jié)合--自動屏蔽SNP區(qū)域的評論 (共 條)

分享到微博請遵守國家法律
山东省| 怀安县| 苗栗县| 广饶县| 大庆市| 汽车| 诏安县| 平湖市| 保亭| 贵溪市| 凤台县| 靖远县| 台湾省| 宿松县| 永吉县| 乌兰浩特市| 清远市| 西林县| 荣成市| 贺州市| 新河县| 白河县| 五大连池市| 广水市| 尉氏县| 南召县| 探索| 上犹县| 兴国县| 临桂县| 雷山县| 夹江县| 景洪市| 南溪县| 武汉市| 邻水| 炎陵县| 沁源县| 加查县| 凤阳县| 巴林左旗|