我在fasta中有一个5000个蛋白质序列的大文件,其中有假设性蛋白质和功能性蛋白质,我如何将假设性蛋白质和假设性蛋白质分开。所以基本上假设蛋白质的标题中有假设这个词,所以我希望我可以用一些命令来分离它们。有人知道python或linux命令来执行这个操作吗?像这样的东西
VIR0002 BASYS00002,605-1000(顺时针)MOBC蛋白
mpkpasdgagsgchvqagvtslpteypfdrrksrmartqtftqedktkqalselpdls公司
Rnkiakadfleslkdqivllantkgyspaeiksalaqvvvvsvksiadllntqgkrqpr公司
Ksadkksnptq公司
VIR003 YUBP,2257-1421(逆时针)UPF0380蛋白质YUBP
mqfsnsvrgpnmlradhplsneqiasvaesfaaeayesserylyiptvevldalreeg
Fepfmasqtrvrnagkiehmlrlrhsssimdkeaillnshdgssyqmmagvfr公司
fvcqnglvigdrsfdqkirhsgndiksdviegayevldqfkamseqmkqiklcade公司
Qeafaataalsyrydpqegpavtarqllsprervedyendlwttfnriqingengglrgrn
Ksgrrattrsvsgidqdvklnralwtlaqelrghltta公司
VIR004 BASYS00004,3593-2535(逆时针)核酸酶
mhelsaeaasqlealekelesvqatieslsdqdseqldiredeledeeiskiksreg公司
法列夫姆巴加维斯yyygdlringmvrtadresvnavlegerlagretesagrksnt
Isdalrrsllghrnlaaqfvtaanpkakmlivckwistrnwsatptdlsigngygar
TGCPITDEagrvreeefvalgellieglpteygdlwdalaalseaeidkllafavarsvs公司
拉维德涅夫斯基
AMKKGALAAEETRLMGVPAEIATKPEELAQEKNSKKKNSSKPATGKA公司
VIR005 YUBM,4624-3506(逆时针方向)非特征蛋白质YUBM
mslhvvtlmcvecitipsalhrcpiraaatapglpcrgfymsnayntvvpfnrlrrse
环境风险
斯列耶夫卡达夫塔夫塔斯勒特涅夫斯雷亚姆帕代尔达夫卡特奇格瓦提兹
IPDSFGVTalvverrlkvraapalieeyrlgaltdqlialcatddhdrqlevwnrlrq
QHWnndpatlrraviktevesndkrvtfigveveyeaggevrdlfaedgqgaflsdsa
Lldvvetklqevgeqvraegwgwievwqfdhthtvwathrrscmscqpkqlvslkhwk公司
拉耶普拉
VIR006 BASYS000065844-5293(逆时针)假设蛋白PSPTOA
Mcpklkayhwqgrhspalnwkitvsakntdeqllamatkikesytpseiaqlvrlist公司
PNTGELSAEEFErvmqvlgsqnnrrpyssksviaalvlvlmgsseaakesglarqnvs公司
Elmlrirkrmeslpqgwvkvsewfpgevakqighisealkhsagkplnelsftikltg公司
精对苯二甲酸
我希望有两份文件
一个包含
VIR006 BASYS000065844-5293(逆时针)假设蛋白PSPTOA
Mcpklkayhwqgrhspalnwkitvsakntdeqllamatkikesytpseiaqlvrlist公司
PNTGELSAEEFErvmqvlgsqnnrrpyssksviaalvlvlmgsseaakesglarqnvs公司
Elmlrirkrmeslpqgwvkvsewfpgevakqighisealkhsagkplnelsftikltg公司
精对苯二甲酸
另一个含有其余的蛋白质序列
最佳答案
biopython有一个fasta解析器,它应该可以做您想要的事情。获取和使用它的说明位于http://biopython.org/DIST/docs/tutorial/Tutorial.html#htoc11。
在http://www.petercollingridge.co.uk/python-bioinformatics-tools/fasta-parser中有一个简单的python脚本,用于读取fasta文件并将其转换为以标题行(以>开头)为键的字典。我在你的例子中看不到这些。文件中的头与序列内容有何不同?
https://gamma2.wordpress.com/2014/01/03/reading-a-fasta-file-with-python/提供了编写上述相同类型脚本的逐步说明。很容易为包含“假想蛋白”的头添加过滤,跳过散列,只需根据头是否匹配将头+序列输出写入两个不同的文件。
使用ruby,bioruby类bio::sequence::common和bio::fastaformat具有很酷的功能。第一个是用FoTASA方法编写Bio::FASTA格式的序列对象。第二个可以读取bio::sequence对象中的fasta文件,它有7个与fasta头(定义行)相关的方法,6个用于序列。请参见http://bioruby.open-bio.org/rdoc/Bio/Sequence/Common.html和http://bioruby.open-bio.org/rdoc/Bio/FastaFormat.html以及从http://bioruby.open-bio.org/wiki/SampleCodes#How_do_I_write_Sequences_in_Fasta_format.3F开始的示例程序。