久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

大范圍查找序列模式所在位置,用TBtools啊

 生信藥丸 2021-07-26

寫在寫在前面的前面

中午一個師弟說,,手上有一個需求,,需要確定某個模式在荔枝所有基因的啟動子區(qū)域內(nèi)是否存在。事實上,,這很明顯就是要看某個轉(zhuǎn)錄因子是否是調(diào)控哪些基因,,我一看模式就知道,必定是ERF,,因為是典型的GCC-box序列,。

一提到這個,我的想法是:

  1. 復(fù)雜的操作,,那么你最好用MEME,,MAST,所以可能需要稍微寫個小教本,,但是事實上,,你也可以用TBtools,我早就打包了Windows, Linux, MacOS的執(zhí)行器,。所以,。。,。有那么復(fù)雜嗎,?

  2. 簡單的操作,事實上大部分人需要的是Perfect Match,,當然你也可以自己寫正則,。我在半年前就開放了TBtools的一個序列模式定位功能(附加在下方)。

如果是我直接在命令行下操作,,那么我一兩分鐘就搞定,,如下

我在寫這個命令的時候,考慮了:

  1. 基因組存儲序列是會存在換行的,,往往60個字符一行,,模式匹配的時候需要考慮這個

  2. 使用-0777一次性讀取整個文件進行檢索,因為這個正則幾乎不會出現(xiàn)在header上,,沒必要搞得太復(fù)雜,。

  3. 基因組序列中可能會有大小寫(當然,手上這個文件,,必然是小寫,,因為使用TBtools一次性提取的所有基因的啟動子區(qū)域,我當然知道只有小寫)

最后,,我們得到上述的一行perl命令,。

問題解決,,但是還是存在另外兩個問題:

  1. 如果用戶不是需要數(shù)目,而是需要每個序列,,甚至是匹配位置,?

  2. 如果基因組很大,比如16G的小麥基因組,,那么上述這個命令至少主要32Gb的內(nèi)存,,運行慢且不說...

  3. 無論基因組大小如何,模式匹配本身就比直接indexOf()慢很多,,這是基本的編程基礎(chǔ)知識

  4. ....

上述這些問題,,在TBtools里面都不是問題,即是你用的是1個T的基因組,,只要你愿意花一點點時間等待,,那么TBtools都能幫你找出所有匹配的位置,而且還很快,,比上述那行perl快,;而且給出的信息還很全面,包括所有匹配位置,;當然還支持正則等等等等

輸出結(jié)果還很優(yōu)美

同樣是736個....

最后,,還是補充一句:

無論你是做實驗的,還是做數(shù)據(jù)分析的,,TBtools都值得你推薦給身邊的人,。因為你是前者,那么TBtools減少你的煩惱,,給你補充一些基礎(chǔ)數(shù)據(jù)分析能力,;如果你是后者,那么TBtools可以減少其他成員占用你的工作時間,,你應(yīng)該去做一些有深度的分析,,而不是幫其他人做一些任何人都能簡單搞定的事情,比如做個熱圖,,有意思嗎?

當然了,,你在高校是如此,;你在公司亦是如此,減少你客戶的煩惱,;降低公司技術(shù)運維的工作量,。

CJchen,公眾號:生信札記7000+人教我寫TBtools - 他值得任何人推薦給身邊的朋友

附加半年前TBtools的推文如下:

寫在前面

TBtools開發(fā)至今三年有余,,讓開發(fā)工作的持續(xù)開展,,事實上主要來源于用戶朋友的信任與支持。總的來說,,我對多數(shù)用戶存在某種意義上的感謝,,畢竟使用一個未正式發(fā)表的工具,并在漂亮的發(fā)表工作引用,,是對我個人能力在某種程度的認可,。
與開發(fā)早期極少數(shù)負面評價相同,同樣存在一部分非常支持TBtools的開發(fā)工作,。部分朋友,,甚至將TBtools應(yīng)用于學(xué)校課堂教學(xué)。這是我從未敢想的事,,畢竟TBtools事實上只是我們課題組(前面碩士與現(xiàn)在博士)分析需求的部分體現(xiàn),。
我是一個潮汕人,潮汕人(或者可能是我家人給我的感覺)有一個傳統(tǒng),,即知恩圖報,,更或者說,滴水之恩,,涌泉相報,。

開發(fā)這一功能的起因

在非常支持TBtools開發(fā)的用戶朋友中,其常常與我提起,,

能否開發(fā)出一個支持正則表達式檢索的工具,?用于查找結(jié)構(gòu)域或者特定的模式,如微衛(wèi)星....

總的來說,,我覺得這個功能似乎我并不一定用得到,,所以我或者會建議其去找另外的工具,比如MEME suite的MAST,,或者自己編程實現(xiàn),。但是最后,似乎他還是沒有按照我說的去操作,。
昨晚我在等待數(shù)據(jù)下載的過程中,,再次看到其提起。我想這已經(jīng)是其超過三次的提起,,或許確實可以花時間試試,,畢竟辜負一個一直支持你的人的期待,似乎是一種不講義氣的操作,。我大體想了下,,這個事情似乎還不是我以前想的那么簡單。

  1. MAST是不允許gaps的,,其最大的作用是允許misM

  2. 自己變成時,,那么多行的序列的回車需要處理,;而如果一次將整條序列讀入內(nèi)存,那么遇到chromosome時,,可能會有內(nèi)存不足,。

  3. 序列模式的Overlap的情況需要處理

  4. 不定長度的正則要求,可能確實不好找到工具來處理

總的來說,,似乎確實找不到合適的工具可以很好的支持這些需求,。所以,我寫了一個,。

功能的使用

首先是打開TBtools,,找到最新的功能,Fasta Sequence Pattern Locator


需要設(shè)置的是三個參數(shù):


對于輸入的序列文件,,事實上,,需要保證的只是Fasta格式,而與其序列長度與類型(全基因組序列或者蛋白序列等)沒有關(guān)系,。
對于序列模式,,那么需要用戶對正則表達式有一定的了解,比如挖掘微衛(wèi)星(AT){6,}表示ATATATATATAT....,;或者從mRNA中預(yù)測ORF,,ATG(?:\w{3})+T(?:AG|AA|GA),隨后對每個序列取最長的一個最長ORF即是,。當然,,也可以使蛋白的某些序列模式...
如果確實不了解正則表達式,其實還是比較簡單,,大概可能知道

ATCG 對應(yīng)的就是 四個堿基,,ATCG
[ATCG] 對應(yīng)的是 一個堿基,A或T或C或G
[^AT] 對應(yīng)的是 一個堿基,,但不會是A或者T
(AT) 對應(yīng)的是 兩個堿基,,把AT定位一個單元
(AT){6} 對應(yīng)的是 2x6,一共 12 個堿基,,也就是AT重復(fù)正好6次,,如ATATATATATAT
(AT){,6} 對應(yīng)的是(AT)重復(fù)不多于6次,如AT, ATAT, ATATAT, ATATATAT, ATATATATAT, ATATATATATAT
(AT){,6} 對應(yīng)的是(AT)重復(fù)不低于6, ATATATATATAT, ATATATATATATATATATATATAT.....
等等....

Overlap參數(shù),,大體對應(yīng)的就是模式之間是否允許Overlap, 比如ATG\w{111}TGA,,那么在這個模式捕獲出來的序列中間是否有可能出現(xiàn)新的ATG?
Max Sequence Pattern(kb),查找出來的片段大小,,不能長于這個長度,,如2即2kb,。這個參數(shù)事實上,,也對模式查找存在一定的影響,。對于Overlap模式的,沒有影響,。對于不Overlap的,,可能會丟失一小部分模式。

當所有參數(shù)設(shè)置好之后,,設(shè)置輸出文件,,注意補齊文件名。隨后點擊Start即可,。

輸出結(jié)果

輸出的結(jié)果,,主要分為四列

分別是:

  1. 序列ID

  2. 起始坐標

  3. 終止坐標

  4. 匹配到模式的序列

其實是可以支持多個模式一次查找的,但我確實沒有感覺到這個需求的大小,,所以暫時也懶得支持,。

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多