我有以下結構的文件:打印線
@scaffold456
ATGTCGTGTCAGTG
GTACGTGTGTGG
+
[email protected]!!!!!!!!
!!!!!!!!!!!!
@scaffold342
ATGGTGTCGTGGTG
ACGTGGC
+
!>!>!!!!+!!!!!
!!!!!!!
我希望像這樣的輸出:
>scaffold456
ATGTCGTGTCAGTG
GTACGTGTGTGG
>scaffold342
ATGGTGTCGTGGTG
ACGTGGC
我想在Python實現這一目標,我開始執行以下操作:
fastq_filename = "test_file"
fastq = open(fastq_filename) # fastq is the file object
for line in fastq:
if line.startswith("@"):
print line.replace("@", ">")
,但我不能再繼續下去,因爲我不知道: 1。如何在特定模式匹配後打印行? 2.我應該如何指定我要跳過+
到下一個@
符號之間的行?
這是一個比較複雜的Python主題,我不知道,任何幫助和解釋都會很棒,謝謝!
爲什麼不直接使用[Biopython](http://biopython.org/wiki/SeqIO)庫來爲您閱讀這些內容? – CoryKramer
由於我的文件雖然是fastq格式,但不是原始讀取文件,它基本上是一個已轉換爲fastq的fasta文件,因此屬於每個序列的行數很多,看起來很亂。另外,我正在嘗試學習python,嘗試學習python是一件簡單的工作。 – Homap