題:
如何將fastq轉換為fast5
aechchiki
2017-08-15 15:46:21 UTC
view on stackexchange narkive permalink

fast5 HDF5 的一種原始格式,其中提供了來自Oxford Nanopore MinION的原始數據。您可以使用例如 poretools 輕鬆地將fast5格式的讀數提取為標準的fastq格式。

說我已將這些 fastq 格式的讀段與外部參考基因組對齊,從而生成了 SAM 文件。說我然後根據按位標記提取了 SAM 文件的子集,以僅包括映射到引用的讀取。使用讀取的ID,然後我可以將它們從包含 fastq 格式讀取的文件中grep出來,生成 fastq 格式的子集文件,僅包含已映射到的ID。參考資料。

現在我的問題是,我們是否可以根據從文件中獲取的映射讀取列表,將 fast5 存檔中的讀取與 fastq 中的讀取進行子集比較格式?這是出於教育目的,因此我們的起始存檔較小,並且 fast5 -> fastq 提取所需的CPU時間更少。

如果我們有樣本數據,這似乎是一個很好的問題。您能提供(或鏈接到)fast5和映射列表嗎?
去年我的TEDx演講中有一些示例閱讀內容[此處](https://www.dropbox.com/sh/o7fz7s91865u6vw/AAAsIzqbmrylD6lHl-yOJggXa?dl=0),是我去年在AGTA會議期間所做的運行中的閱讀內容[此處](https://www.dropbox.com/sh/0iqbjk7drmpsro0/AACBehmjVL7iABf5U2NVi9Lra?dl=0),並從嵌合閱讀調查中閱讀[此處](http://www.ebi.ac.uk/ena/data / view / PRJEB20601)。 ONT FAST5“標準”更改如此頻繁,以至於很難找到代表當前可用內容的內容。
二 答案:
Michael Hall
2017-08-16 09:30:10 UTC
view on stackexchange narkive permalink

注意:由於我已將原始腳本轉換為 pip 可安裝程序(帶有測試),並已更新了鏈接和相應的代碼段。答案的本質仍然是完全相同的。


這是我一直想解決的問題,所以感謝您的提示。

創建了一個名為 fast5seek 的python程序來執行您想要做的(我認為)。

正如您所提到的,這是出於教育目的在代碼中也添加了很多註釋,因此我認為在它之後應該沒有任何問題。

GitHub存儲庫上的文檔具有所有信息,但對於那些在家看書的人

  pip3安裝fast5seekfast5seek -i / path / to / fast5s -r in.fastq in.bam in.sam -o out.txt  

它的作用是在 <in.fastq | in.bam | in.sam> 中讀取的,並從每個標頭中提取讀取的ID。然後,它遍歷 / path / to / fast5s 下的所有fast5文件,並檢查它們的讀取ID是否在來自 <in.fastq | in.bam | in.sam>的讀取ID集中。 。如果是,則將文件的路徑寫入 out.txt 中自己的行。

如果未給出輸出( -o ) ,它將把輸出寫到stdout。

因此,如果您想將這些路徑通過管道傳輸到另一個程序中,則可以執行類似

  mkdirsubset_dir / fast5seek -i / path / to / fast5s / -r in.fastq | xargs cp -tsubset_dir /  

上面的示例會將在fastq / BAM / SAM中找到的fast5文件複製到 subset_dir /

請注意,應該檢查運行ID(如果有此信息)。來自不同運行的兩個FASTQ文件極有可能具有相同的讀取ID。
現在,我已經為fastq文件添加了此檢查。雖然,run_id不包含在BAM / SAM文件中(至少我沒有),所以此檢查僅在fastq上進行。
gringer
2017-08-15 23:44:01 UTC
view on stackexchange narkive permalink

我經常這樣做,使用讀取的文件名來識別與特定讀取關聯的FAST5文件。如果FASTQ記錄包含通道號和讀取號(最好還包括runID),那麼我將使用該信息來找到相關的FAST5讀取。

如果使用Albacore調用讀取,則 sequencing_summary.txt 文件包含其他信息。第一列是被調用文件的確切名稱,第二列是FASTQ序列的讀取ID,第三列是與該讀取ID關聯的運行ID。這很容易使用,但是確實需要使用Albacore調用讀取(誠然,這似乎是目前產生最佳結果的方法。)

是的,這就是我所做的,基本上是:1.將fast5提取到fastq; 2.將fastq與參考對齊; 3.從比對的SAM獲得映射的讀ID; 4. grep映射從fastq讀取ID; 5.從每次讀取的fasta頭中提取fast5的名稱(最後一個字段); 6.在原始fast5目錄中找到對應的fast5。但是我想知道我是否會錯過任何可以一次運行的軟件。
添加了有關albacore的註釋,該註釋在FASTQ讀取ID和FAST5文件名之間具有直接鏈接
根據您的上述評論,@AminaEchchiki我也添加了對BAM和SAM文件的兼容性。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...