Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从几个蛋白质序列中提取多态性位置?_Python_Alignment - Fatal编程技术网

Python 如何从几个蛋白质序列中提取多态性位置?

Python 如何从几个蛋白质序列中提取多态性位置?,python,alignment,Python,Alignment,我有几个fasta蛋白质比对(~5000),我想确定多态性位置加上序列间变化的氨基酸残基。我自己也试过写代码,但很难(我是编程新手),我也看过BioPython,但还没有发现任何东西。我想要像这样的东西: 蛋白质比对: > sp1 MQGAAYMQAAAYYMQA > sp2 MQGAARMQGAAYYMQA > sp3 MQGAARMQGAAYYMQM > sp4 MQGAARMQGAAYYMQA > sp5 MQGAARMQAAAYYMQA

我有几个fasta蛋白质比对(~5000),我想确定多态性位置加上序列间变化的氨基酸残基。我自己也试过写代码,但很难(我是编程新手),我也看过BioPython,但还没有发现任何东西。我想要像这样的东西:

蛋白质比对:

> sp1 MQGAAYMQAAAYYMQA
> sp2 MQGAARMQGAAYYMQA
> sp3 MQGAARMQGAAYYMQM
> sp4 MQGAARMQGAAYYMQA
> sp5 MQGAARMQAAAYYMQA
           ^  ^      ^
在上面的示例中,对齐有3个多态位置(用
^
标记)。第一个位于第6位,第二个位于第9位,第三个位于第16位。多态位点的一个常见符号可以是:R6Y,这意味着在第6个位置上发生了从R到Y的变化。变化的方向(R->Y或Y->R)基于该位置上最常见的字母。因此,在这种情况下,R的频率最高,可以推断方向是R->Y

如您所见,第6位和第16位有单一变化(不同的字母频率为1)。但是,第9个位置有两个序列(sp1和sp5)随变化而变化。我想区分这两种多态性。因此,在这种情况下,我希望输出如下:

输出:

# Alignment #1
#   Single polymorphisms:
#     R6Y: sp1
#     A16M: sp3

#   Non-single polymorphisms:
#     G9A: sp1, sp5
我希望这有助于澄清(如果有点太长,请道歉)


非常感谢您的建议,谢谢

这里有一个函数可以找到两个等位基因之间的差异。第一个应该是由每个位置最频繁的字母组成的规范多晶型(
mqgaarmqgaaymqa

示例:

>>> polymorphic_positions('MQGAARMQGAAYYMQA', 'MQGAARMQGAAYYMQM')
['A16M']
>>> polymorphic_positions('MQGAARMQGAAYYMQA', 'MQGAARMQAAAYYMQA')
['G9A']
以下是一些参考资料:


这并没有为您的问题提供足够的上下文。因此,您希望在一个字符中找到与最常见变体不同的序列,并且对于每个这样的序列,您希望构造一个由最常见变体中的字符组成的字符串,它是基于1的索引,变形中的不同字符?你是否提前知道最常见的变体是什么,或者你需要数一数才能找到它?变形可能在多个地方不同?请用这些答案更新你的问题。这非常有用!我将尝试在多个蛋白质比对中反复使用它。非常感谢。
>>> polymorphic_positions('MQGAARMQGAAYYMQA', 'MQGAARMQGAAYYMQM')
['A16M']
>>> polymorphic_positions('MQGAARMQGAAYYMQA', 'MQGAARMQAAAYYMQA')
['G9A']