标签: protein-database

使用Python正则表达式在一个模式中剪切

目标:我正在尝试在Python RegEx中执行切换,其中split不能完全按照我的意愿执行.我需要在一个模式中剪切,但在角色之间.

我在找什么:

我需要在字符串中识别下面的模式,并将字符串拆分到管道的位置.管道实际上不在字符串中,它只显示我要分割的位置.

图案: CDE|FG

串: ABCDEFGHIJKLMNOCDEFGZYPE

结果: ['ABCDE', 'FGHIJKLMNOCDE', 'FGZYPE']

我尝试过的:

我似乎使用带括号的split是接近的,但是它并没有像我需要的那样将搜索模式保持在结果上.

re.split('CDE()FG', 'ABCDEFGHIJKLMNOCDEFGZYPE')

给人,

['AB', 'HIJKLMNO', 'ZYPE']

当我真的需要的时候,

['ABCDE', 'FGHIJKLMNOCDE', 'FGZYPE']

动机:

使用RegEx进行练习,并想看看我是否可以使用RegEx制作一个脚本来预测使用特定蛋白酶消化蛋白质的片段.

python regex string split protein-database

12
推荐指数
2
解决办法
3158
查看次数

蛋白质结构可视化

我被要求研究蛋白质结构可视化,比如RasMol,用户将打开一个pdb文件来获得蛋白质结构.

我如何从pdb文件生成蛋白质结构?

如果我使用OpenGL或VTK,我想用Python编写代码并可视化结构?还有其他模块可以在这方面帮助我吗?

python opengl bioinformatics protein-database vtk

5
推荐指数
1
解决办法
2426
查看次数

使用 Biopython 库删除 PDB 中的残留物

使用biopython库,我想删除列表中列出的残留物,如下所示。该线程(http://pelican.rsvs.ulaval.ca/mediawiki/index.php/Manipulated_PDB_files_using_BioPython)提供了一个去除残留物的示例。我有以下代码来去除残留物

 residue_ids_to_remove = [105, 5, 8, 10, 25, 48]
 structure = pdbparser.get_structure("3chy", "./3chy.pdb")
 first_model = structure[0]
 for chain in first_model:
     for residue in chain:
         id = residue.id
         if id[1] in residue_ids_to_remove:
             chain.detach_child(id[1])
 modified_first_model = first_model 
Run Code Online (Sandbox Code Playgroud)

但这段代码不起作用并引发了错误

def detach_child(self, id):
    "Remove a child."
    child=self.child_dict[id]
    KeyError: '105'
Run Code Online (Sandbox Code Playgroud)

这段代码有什么问题?

或者,我可以使用accept_residue()并将其写入PDB。我不想这样跟踪,因为我想在内存中执行此操作以进行进一步处理。

python protein-database biopython

5
推荐指数
1
解决办法
2831
查看次数

DNA到RNA和用Perl获得蛋白质

我正在研究一个项目(我必须在Perl中实现它,但我不擅长它),它读取DNA并找到它的RNA.将RNA分成三联体以获得其等同的蛋白质名称.我将解释一下这些步骤:

1)将以下DNA转录为RNA,然后使用遗传密码将其转化为氨基酸序列

例:

TCATAATACGTTTTGTATTCGCCAGCGCTTCGGTGT
Run Code Online (Sandbox Code Playgroud)

2)为了转录DNA,首先用每个DNA替换它的对应物(即G表示C,C表示G,T表示A,A表示T):

TCATAATACGTTTTGTATTCGCCAGCGCTTCGGTGT
AGTATTATGCAAAACATAAGCGGTCGCGAAGCCACA
Run Code Online (Sandbox Code Playgroud)

接下来,记住胸腺嘧啶(T)碱基变成尿嘧啶(U).因此我们的序列变为:

AGUAUUAUGCAAAACAUAAGCGGUCGCGAAGCCACA
Run Code Online (Sandbox Code Playgroud)

使用遗传密码就是这样

AGU AUU AUG CAA AAC AUA AGC GGU CGC GAA GCC ACA
Run Code Online (Sandbox Code Playgroud)

然后在遗传密码表中查找每个三联体(密码子).所以AGU变成丝氨酸,我们可以写成Ser,或者只是S. AUU变成Isoleucine(Ile),我们写成I.我继续这样做,我们得到:

SIMQNISGREAT
Run Code Online (Sandbox Code Playgroud)

我会给蛋白质表:

在此输入图像描述

那么如何在Perl中编写该代码呢?我将编辑我的问题并编写我所做的代码.

perl project dna-sequence protein-database

3
推荐指数
1
解决办法
3540
查看次数

Biopython:如何避免蛋白质的特定氨基酸序列,以便绘制Ramachandran图?

我写了一个python脚本来绘制泛素蛋白的'Ramachandran Plot'.我正在使用biopython.我正在使用pdb文件.我的脚本如下:

import Bio.PDB
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

phi_psi = ([0,0])
phi_psi = np.array(phi_psi)
pdb1 ='/home/devanandt/Documents/VMD/1UBQ.pdb'

for model in Bio.PDB.PDBParser().get_structure('1UBQ',pdb1) :
    for chain in model :
        polypeptides = Bio.PDB.PPBuilder().build_peptides(chain)
        for poly_index, poly in enumerate(polypeptides) :
            print "Model %s Chain %s" % (str(model.id), str(chain.id)),
            print "(part %i of %i)" % (poly_index+1, len(polypeptides)),
            print "length %i" % (len(poly)),
            print "from %s%i" % (poly[0].resname, poly[0].id[1]),
            print "to %s%i" % (poly[-1].resname, poly[-1].id[1])
            phi_psi = poly.get_phi_psi_list()
            for …
Run Code Online (Sandbox Code Playgroud)

python bioinformatics protein-database biopython

3
推荐指数
1
解决办法
676
查看次数

使用grep查找两个字符串中的任何一个而不改变行的顺序?

我确信这已被问到但我找不到,所以我对冗余道歉.

我想使用grep或egrep来查找其中包含"P"或"CA"的每一行,并将它们传递给新文件.我可以使用以下方法轻松完成:

egrep ' CA ' all.pdb > CA.pdb
Run Code Online (Sandbox Code Playgroud)

要么

egrep ' P ' all.pdb > P.pdb
Run Code Online (Sandbox Code Playgroud)

我是regex的新手,所以我不确定它的语法or.

更新: 输出行的顺序很重要,即我不希望输出对匹配的字符串排序.以下是一个文件的前8行示例:

ATOM      1 N    THR U  27     -68.535  88.128 -17.857  1.00  0.00      1H5  N  
ATOM      2 HT1  THR U  27     -69.437  88.216 -17.434  0.00  0.00      1H5  H  
ATOM      3 HT2  THR U  27     -68.270  87.165 -17.902  0.00  0.00      1H5  H  
ATOM      4 HT3  THR U  27     -68.551  88.520 -18.777  0.00  0.00      1H5  H  
ATOM      5 CA   LYS B 122 …
Run Code Online (Sandbox Code Playgroud)

regex grep protein-database

3
推荐指数
1
解决办法
3680
查看次数

从 PDB 中去除杂原子

必须删除 pdb 文件中的杂原子。这是代码,但它不适用于我的测试 PDB 1C4R。

for model in structure:
    for chain in model:
        for reisdue in chain:
            id = residue.id
            if id[0] != ' ':
                chain.detach_child(id)
        if len(chain) == 0:
            model.detach_child(chain.id)
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

python protein-database biopython

2
推荐指数
1
解决办法
4732
查看次数

使用多个条件对嵌套哈希进行排序

我对 perl 编程有点陌生,我有一个可以这样表述的散列:

$hash{"snake"}{ACB2}   = [70, 120];
$hash{"snake"}{SGJK}   = [183, 120];
$hash{"snake"}{KDMFS}   = [1213, 120];
$hash{"snake"}{VCS2}   = [21, 120];
...
$hash{"bear"}{ACB2}   = [12, 87];
$hash{"bear"}{GASF}   = [131, 87];
$hash{"bear"}{SDVS}   = [53, 87];
...
$hash{"monkey"}{ACB2}   = [70, 230];
$hash{"monkey"}{GMSD}   = [234, 230];
$hash{"monkey"}{GJAS}   = [521, 230];
$hash{"monkey"}{ASDA}   = [134, 230];
$hash{"monkey"}{ASMD}   = [700, 230];
Run Code Online (Sandbox Code Playgroud)

哈希的结构总结如下:

%hash{Organism}{ProteinID}=(protein_length, total_of_proteins_in_that_organism)
Run Code Online (Sandbox Code Playgroud)

我想根据某些条件对这个哈希进行排序。首先,我只想考虑那些蛋白质总数大于100的生物,然后我想显示生物的名称以及最大的蛋白质及其长度。

为此,我将采用以下方法:

    foreach my $org (sort keys %hash) {
        foreach my $prot (keys %{ $hash{$org} }) {
            if ($hash{$org}{$prot}[1] > 100) {
                @sortedarray = …
Run Code Online (Sandbox Code Playgroud)

perl hash multidimensional-array protein-database perl-hash

1
推荐指数
1
解决办法
132
查看次数