我有大約3,000個短序列,大約10Kb長。在所有這些序列中找到主題的最佳方法是什麼?是否建議使用某種軟件/方法?
有幾種方法可以做到這一點。我的目標是:
(1)檢查單個序列內重複的基序
(2)檢查所有序列之間共享的基序
(3)檢查是否存在“預期的”或已知的主題
關於#3,我也很好奇是否找到例如三核苷酸序列,如何檢查這些區域周圍的背景?
感謝您的建議/幫助!
我有大約3,000個短序列,大約10Kb長。在所有這些序列中找到主題的最佳方法是什麼?是否建議使用某種軟件/方法?
有幾種方法可以做到這一點。我的目標是:
(1)檢查單個序列內重複的基序
(2)檢查所有序列之間共享的基序
(3)檢查是否存在“預期的”或已知的主題
關於#3,我也很好奇是否找到例如三核苷酸序列,如何檢查這些區域周圍的背景?
感謝您的建議/幫助!
MEME Suite網站包含用於主題分析的工具集合(我是維護者之一)。它包含兩個從頭開始的主題發現工具: MEME和 DREME。提供了公共Web應用程序,但您也可以下載和構建用於本地安裝的命令行工具。
對於第一個目標,可以使用 MEME並選擇“重複模型”(ANR)。對於第二個目標,將MEME與“每個序列零個或一次出現”(ZOOPS)模型一起使用。對於您的第三個目標,您可以使用FIMO(查找單個主題),以及軟件和數據庫下載頁面上提供的一個或多個主題數據庫。
聽起來像您的序列數據約為30Mb。 MEME Web應用程序限於60kb的序列數據,因此您必須安裝MEME Suite的本地副本。除非您配置了MPI,並且有許多內核可用,否則MEME將花費很長時間分析30Mb序列數據庫。您可能需要考慮分析序列的隨機選擇子集。 MEME的運行時間隨著序列數的增加而增加。
對於短圖案,您可能需要使用 DREME而不是MEME。在識別短基元上,DREME優於MEME,但僅限於8個位置寬的基元<。
簽出 HOMER。我的實驗室目前正在使用“用於發現基序和下一代測序分析的軟件”。
編輯:@ShanZhengYang“ HOMER被設計為從頭髮現基序算法...” HOMER De Novo Motif
對於(3),此頁面具有很多指向圖案/圖案查找工具的鏈接。通過該頁面上的 YMF鏈接,我遇到了華盛頓大學主題發現部分。在這些 projection中,它似乎是唯一可下載的工具。我發現所有這些工具有多老了,這很有趣。
您的子問題(2)似乎與我對巴西擬南芥(emippostrongylus brasiliensis)基因組序列所遇到的問題相似,其中我想找到在整個基因組中重複的非常高同源性的區域(長度500bp至20kb或更多,相似度95-99%)。這些序列正在殺死裝配體。
我能找到這些區域的主要方法是查看長納米孔讀數的覆蓋圖,該讀數映射到裝配好的基因組(使用GraphMap或BWA)。任何覆蓋範圍明顯高於中值的區域都可能是重複序列。
我過去玩過的方法是將讀數切成較小的大小,這對於擊中較小的重複區域效果更好。在大多數讀取中,有一小部分從未將它們映射到所有重複的位置。我前段時間寫了我自己的腳本來截斷讀取(出於不同的目的),這產生了一個FASTA / FASTQ文件,其中所有讀取的長度完全相同。由於某些未知的原因,我花了一些時間使用POD“適當地”記錄該腳本,所以這裡是一個簡短的摘要:
將輸入的FASTA文件中的所有序列轉換為相同的長度。刪除比目標長度短的序列,將比目標長度長的序列拆分為覆蓋整個範圍的重疊子序列。這就準備了要在需要恆定長度序列(例如edena)的重疊共識彙編器中使用的序列。
這是語法:
$ ./normalise_seqlengths.pl -h用法:
./normalise_seqlengths.pl <reads.fa> [選項]選項:-help僅顯示此幫助消息-fraglength目標片段長度(以鹼基對,默認為2000)-overlap最小重疊長度(以鹼基對,默認為200)-short保持短序列(比片段長度短)
我所知道的大多數工具都在尋找特定基序的富集-但這要求您具有一組特別感興趣的序列,並要進行背景測試。
是您的情況嗎?
在評論後於2017年6月12日更新。
它正在開發中,但是 BaMMmotif!是否適合您?它的主要賣點是它可以尋找豐富的主題,這些主題富含一系列等長的“從頭開始”。如果您不能/不希望提供一個負數集,它將從正數序列中學習一個。如果您有更多有關序列的信息,則有很多選項可供選擇:針對主題的“零個或一個”,“一個”和“多個”出現,有不同的模型。
您可以如果將它們編碼為XXmotif PWM,也可以使用它來查找已知的圖案。如果您有帶有主題的文件(如綁定站點),也可以將其用作初始化。
雖然我自己還沒有使用過該軟件,但作者對git的反應非常好,安裝說明看起來很漂亮
編輯:顯然,該軟件是使用ChIP實驗作為通常的用例場景開發的,對於較大的序列,它可能行為不當,或者運行時間超長。