【发布时间】:2021-03-03 18:12:21
【问题描述】:
如果之前有人问过这个问题,我深表歉意,但我已经搜索了好几天,在 Python 中找不到解决方案。
我有一个大的 fasta 文件,包含标题和序列。
>cavPor3_rmsk_tRNA-Leu-TTA(m) range=chrM:2643-2717 5'pad=0 3'pad=0 strand=+ repeatMasking=none
GTTAAGGTGGCAGAGCCGGTAATTGCATAAAATTTAAGACTTTACTCTCA
GAGGTTCAACTCCTCTCCTTAACAC
>cavPor3_rmsk_tRNA-Gln-CAA_ range=chrM:3745-3815 5'pad=0 3'pad=0 strand=- repeatMasking=none
AGAGGGTCATAAAGGTTATGGGGTTGGCTTGAAACCAGCTTTAGGGGGTT
CAATTCCTTCCTCTCT
>cavPor3_rmsk_tRNA-Ser-TCA(m) range=chrM:6875-6940 5'pad=0 3'pad=0 strand=- repeatMasking=none
AGAGGGTCATAAAGGTTATGGGGTTGGCTTGAAACCAGCTTTAGGGGGTT
CAATTCCTTCCTCTCT
这是文件外观的一小部分。我只想保留第一个条目(标题和序列),如果你可以看到最后两个条目的序列是相同的。
输出如下所示:
>cavPor3_rmsk_tRNA-Leu-TTA(m) range=chrM:2643-2717 5'pad=0 3'pad=0 strand=+ repeatMasking=none
GTTAAGGTGGCAGAGCCGGTAATTGCATAAAATTTAAGACTTTACTCTCA
GAGGTTCAACTCCTCTCCTTAACAC
>cavPor3_rmsk_tRNA-Gln-CAA_ range=chrM:3745-3815 5'pad=0 3'pad=0 strand=- repeatMasking=none
AGAGGGTCATAAAGGTTATGGGGTTGGCTTGAAACCAGCTTTAGGGGGTT
CAATTCCTTCCTCTCT
问题在于 FASTA 文件的大小超过 1 GB。我找到了通过基于重复 ID 删除重复项或使用 bash 来解决此问题的方法,但遗憾的是我无法在我的计算机上执行此操作。 此任务是针对研究项目,而不是家庭作业或任务。
提前感谢您的帮助!
【问题讨论】:
-
不应该FASTA文件如:> SEQUENCE_1 MTEITAAMVKELRESTGAGMMDCKNALSETNGDFDKAVQLLREKGLGKAAKKADRLAAEG LVSVKVSDDFTIAAMRPSYLSYEDLDMTFVENEYKALVAELEKENEERRRLKDPNKPEHK IPQFASRKQLSDAILKEAEEKIKEELKAQGKPEKIWDNIIPGKMNSFIADNSQLDSKLTL MGQFYVMDDKKTVEQVIAEKEKEFGGKIKIVEFICFEVGEGLEKKTEDFAAEVAAQL> SEQUENCE_2 SATVSEINSETDFVAKNDQFIALTKDTTAHIQSNSLQSVEELHSSTINGVKFEEYLKSQI ATIGENLVVRRFATLKAGANGVVNGYIHTNGRVGVVIAAACDSAEVASKSRDLLRQICMH 跨度>
-
所以你应该读取第一个序列并附加到新文件,然后读取第二个序列检查新文件,如果不存在,将其附加到它,依此类推,直到第一个文件结束
-
biostars.org/p/250123 问题:使用 python 处理大型 fasta 文件的最佳方法。
-
biostars.org/p/710 : 问题:在 Python 中解析 Fasta 文件的正确方法
标签: python duplicates biopython fasta