所以我写了一段代码来读取一个fasta文件。在fasta文件中,将有10个序列。序列的开始将是“>”,我想拆分这些序列的50:50,并用它创建两个新的fasta文件。一个新文件中有5个序列;其他5个序列在另一个新文件中。
我有一个接口是序列本身,fasta file类有10个序列来实现它。前5个序列和后5个序列有两个类。我有一个读法斯塔文件的阅读器。我只是不知道如何写一些东西,将它分成两个文件。我是否要添加另一个拆分的类,然后添加另一个创建的类?我不知道该怎么办。请帮帮泰
文件格式示例:
>XP_012508841.1 PREDICTED: apolipoprotein E [Propithecus coquereli]
---------------------------MNALWAVVVVTFLAGCQAKVEPALE------LE
AGELTEWQTGQPWEQALGRFWDYLRWVQTLSNQVQEELLSSQVTQELTVLMEETMKEVKA
YKLELEEQMSPMAEETRARLSKELQAAQARLGQDMQDLRGRLEQYCSEAQAVLGQNTEEL
RARLAAHLRKLRKRLLRDAEDLQKRLAVYQAGAREGAERGVSAIRERLRPLVERGRTRAA
TVG-TLASQPLRERAQAWGERLRAGLEEMGARGRDRLDEVREQLEEVRAKVEEQAAQLRL
QAEAFESRLKSWFTPLVEDMQRQWAGLVEKLQAAVQSPTATPEPSTNH
>XP_012616817.1 apolipoprotein E [Microcebus murinus]
---------------------------MNALWAVVVVTFLAGCQAKVEPALE------PE
ARELTEWQTGQPWEQALGRFWDYLRWVQTLSDQVQEELLSSQVTQELTVLMEETMKELKA
YKSELEQQLNPMAEETRARLSKELQAAQARLGQDMQDLRGRLAQYRGEVQAMLGQSTDEL
RARFASHLRKLRKRLLRDAEDLQRRLAVYQAGAREGAERGVSAIRERLGPLVEQGRLRAA
TVG-TLAGQPLRERAEAWGERLRARLEEMGSQGRDRLDEVREQVEEVRVKVEEQAAKMRL
QAEALEARLKSWFTPLVEDMQRQWAGLVEKLQAAVQGTTATPEATENH
>XP_008047463.1 apolipoprotein E [Carlito syrichta]
---------------------------MKVLWAVLLVTFLAGGRADVEPELE------TE
LRKPAEWQSGQPWEAALGRLWDYLRWVQTLSDEVQEELLSSQVTQELT------------
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------
1条答案
按热度按时间643ylb081#
我最初创建了一个方法(函数)来解析一个fasta文件中的序列,但与其他许多事情一样,fasta文件的格式也非常多,因此需要进行某种形式的设置来解析一种类型和另一种类型。您的fasta文件也不例外,因为在大多数fasta序列中,我不相信连字符或减号(
-
)允许在序列中使用,除非它包含在序列头中,但是,我可以看到在您的fasta文件中,连字符包含在序列中。当然,我很可能错了现在知道了这一点,我添加了一些可以手动设置的额外变量,以便为不同的fasta文件格式提供更大的灵活性(我希望如此)。实际上,从一开始这应该是一个类而不是一个方法,但是我将让你自己把它转换成一个可行的类。
现在,这是一个很大的方法(我觉得不太好),有很多评论,但我想给你一些相对快速的东西。我建议您阅读代码中提供的所有注解。
尝试此方法后…请创建一个类:
用法示例: