标签: biopython

'module'对象不可调用 - Bio.IUPAC

当我尝试时,

from Bio.Alphabet import IUPAC
from Bio import Seq
my_prot = Seq("AGTACACTGGT", IUPAC.protein)
Run Code Online (Sandbox Code Playgroud)

为什么我会遇到以下错误:

TypeError: 'module' object is not callable
Run Code Online (Sandbox Code Playgroud)

PS:这是BioPython's Cookbook的一个例子

python biopython

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

使用Biopython(Python)从FASTA文件中提取序列

好的,我需要使用python从一个FASTA文件中提取部分序列(biopython,http://biopython.org/DIST/docs/tutorial/Tutorial.html)

我需要从每个序列中获取前10个碱基并将它们放在一个文件中,保留FASTA格式的序列信息.最糟糕的是,如果没有办法保留序列信息,我可以使用基数.所以这是一个例子:

>gi|2765658|emb|Z78533.1|CIZ78533 C.irapeanum 5.8S rRNA gene and ITS1 and ITS2 DNA
CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGAATAAACGATCGAGTG
AATCCGGAGGACCGGTGTACTCAGCTCACCGGGGGCATTGCTCCCGTGGTGACCCTGATTTGTTGTTGGG

>gi|2765658|emb|Z78533.1|CIZ78533 C.irapeanum 5.8S rRNA gene and ITS1 and ITS2 DNA
CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGAATAAACGATCGAGTG
AATCCGGAGGACCGGTGTACTCAGCTCACCGGGGGCATTGCTCCCGTGGTGACCCTGATTTGTTGTTGGG

>gi|2765658|emb|Z78533.1|CIZ78533 C.irapeanum 5.8S rRNA gene and ITS1 and ITS2 DNA
CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGAATAAACGATCGAGTG
AATCCGGAGGACCGGTGTACTCAGCTCACCGGGGGCATTGCTCCCGTGGTGACCCTGATTTGTTGTTGGG
Run Code Online (Sandbox Code Playgroud)

我需要一些方法来获得前10个基地(然后我计划在最后10个基地再做一次).该教程网站非常详尽,但我是新手,因为它没有涉及到这一点,我甚至不确定它是否可行.谢谢你提供的所有帮助.

python fasta biopython python-2.7

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

在哪里存放执行生物信息学分析的Python脚本?

我在Python中编写了一个分析管道,我认为这对其他人有用.我想知道在GitHub中发布这样的脚本是否习惯,是否有特定的地方为Python脚本执行此操作,或者即使有更具体的地方用于与生物相​​关的Python脚本.

python publishing bioinformatics biopython

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

如何从具有列表值的字典中获取一系列键来检索所有可能的组合

我有这个字典

d={'M':['ATG'],'D':['GAC','GAT'],'E':['GAA','GAG']}
Run Code Online (Sandbox Code Playgroud)

在给定一系列键的情况下,我想要的输出是包含所有可能序列的列表.(也可以是一个字符串,其中所有可能的序列都在单独的行中"\n")

sequence = "MDE" 
Run Code Online (Sandbox Code Playgroud)

所以,输出应该如下:

['ATGGACGAA','ATGGACGAG','ATGGATGAA','ATGGATGAG']
Run Code Online (Sandbox Code Playgroud)

到目前为止我所尝试的是以下内容,但当然这不是我想要的:

seq_trans = ''

for aa in sequence:
  for k, v in d.iteritems():
    if k == aa:
      for item in v:
        seq_trans= seq_trans + item
print seq_trans
Run Code Online (Sandbox Code Playgroud)

我得到的"MDE"是:

'ATGGACGATGAAGAG'
Run Code Online (Sandbox Code Playgroud)

python biopython

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

BioPython:如何将氨基酸字母表转换为

在讨论如何使用Bio.SeqIO.parse()导入序列数据时,BioPython食谱说明:

有一个可选的参数字母表来指定要使用的字母表.这对于像FASTA这样的文件格式很有用,否则Bio.SeqIO将默认为通用字母表.

如何添加此可选参数?我有以下代码:

from os.path import abspath
from Bio import SeqIO

handle = open(f_path, "rU")
records = list(SeqIO.parse(handle, "fasta"))
handle.close()
Run Code Online (Sandbox Code Playgroud)

这将从UniProt数据库导入大量FASTA文件.问题是它在通用的SingleLetterAlphabet类中.如何在SingleLetterAlphabet和ExtendedIUPACProtein之间进行转换?

最终目标是在这些序列中搜索诸如GxxxG之类的主题.

python bioinformatics biopython

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

有没有办法获得给定的pubmed id列表的摘要?

我有一个 pmid 列表,我想在一个 url 中获取它们的摘要

    pmids=[17284678,9997]
    abstract_dict={}
    url = https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?
    db=pubmed&id=**17284678,9997**&retmode=text&rettype=xml
Run Code Online (Sandbox Code Playgroud)

我的要求是获得这种格式

   abstract_dict={"pmid1":"abstract1","pmid2":"abstract2"}
Run Code Online (Sandbox Code Playgroud)

我可以通过尝试每个 id 并更新字典来获得上述格式,但为了优化时间,我想将所有 id 都提供给 url 和 process 并仅获取摘要部分。

biopython pubmed

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

来自uniprot蛋白质id python的蛋白质序列

我想知道是否有办法从 uniprot 蛋白质 id 中获取蛋白质序列。我确实检查了一些在线软件,但它们允许一次获得一个序列,但我有 5536 个 vlues。biopython中是否有任何包可以做到这一点?

python bioinformatics biopython

4
推荐指数
2
解决办法
2944
查看次数

获取一组 Residue 的所有邻居

我保存了一个残基编号列表, centerResidueList = [100, 140, 170, 53]我正在尝试从这组残基中获取所有相邻的残基。
目前我正在使用下面的脚本,我是否处理了整个 PDB 文件并生成了一个距离为 10.0 的原子对列表,然后遍历列表并检查列表中的残基编号是否all_neighbors对应于centerResidueList.

from Bio.PDB import *

centerResidueList = [100, 140, 170, 53]
neighbours_resi_number = []
structure = PDBParser().get_structure('X', "1xxx.pdb") 
atom_list = Selection.unfold_entities(structure, 'A') 
ns = NeighborSearch(atom_list)
all_neighbors = ns.search_all(10.0, "R") 
for residuepair in all_neighbors:
    resi_number = residuepair[0].id[1]
    if resi_number in centerResidueList:
        resi_number_partner = residuepair[1].id[1]
        neighbours_resi_number.append(resi_number_partner)
Run Code Online (Sandbox Code Playgroud)

首先,我如何只创建atom_listusing CA 原子?

其次,residuepair[0].id[1]生成残差数的方法是否正确(它有效,但有没有办法得到它)?

最后,有没有更好的解决方案来实现这一目标?

python biopython

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

如何使用python编程将一组DNA序列转换为蛋白质序列?

我正在使用 python 创建一个程序,将一组 DNA 序列转换为氨基酸(蛋白质)序列。然后我需要找到一个特定的子序列,并计算存在这个特定子序列的序列数。这是我到目前为止的代码:

#Open cDNA_sequences file and read in line by line
with open('cDNA_sequences.csv', 'r') as results:

    for line in results:

        columns = line.rstrip("\n").split(",") #remove end of line characters and split commas to produce a list
        ensemblID = columns[0] #ensemblID is first element in our list
        dna_seq = columns[1] #dna_seq is second element in our list
        genetic code = {


        "UUU":"F", "UUC":"F", "UUA":"L", "UUG":"L",
        "UCU":"S", "UCC":"s", "UCA":"S", "UCG":"S",
        "UAU":"Y", "UAC":"Y", "UAA":"STOP", "UAG":"STOP",
        "UGU":"C", "UGC":"C", "UGA":"STOP", "UGG":"W",
        "CUU":"L", "CUC":"L", …
Run Code Online (Sandbox Code Playgroud)

python bioinformatics dna-sequence biopython python-3.x

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

在一个 fasta 中查找 contig 的长度,使用另一个 fasta 的标题作为 python 中的查询

我正在尝试找到一个 python 解决方案,以使用序列的完整标题作为查询来提取 fasta 文件中特定序列的长度。完整的标头作为变量存储在管道中的较早位置(即“CONTIG”)。我想将此脚本的输出保存为变量,以便稍后在同一管道中使用。

下面是使用 Lucía Balestrazzi 提供的代码的脚本更新版本。

附加信息:以下 with 语句嵌套在一个更大的 for 循环中,循环遍历原始基因组的子样本。我目录中的第一个子样本 fasta 具有单个序列“>chr1:0-40129801”,长度为 40129801。我正在尝试写出一个文本文件“OUTPUT”,其中包含有关每个子样本 fasta 的一些基本信息。该文本文件将用作下游另一个程序的输入。

原始 fasta 文件中的标题名称是 chr1、chr2 等...而子样本 fastas 中的标题名称大致如下:

batch1.fa >chr1:0-40k

batch2.fa >chr1:40k-80k

...等等...

import Bio.SeqIO as IO

record_dict = IO.to_dict(IO.parse(ORIGINAL_GENOME, "fasta")) #not the subsample
with open(GENOME_SUBSAMPLE, 'r') as FIN: 
    for LINE in FIN:
        if LINE.startswith('>'):
                #Example of "LINE"... >chr1:0-40129801
                HEADER = re.sub('>','',LINE)
                #HEADER = chr1:0-40129801
                HEADER2 = re.sub('\n','',HEADER)
                #HEADER2 = chr1:0-40129801 (no return character on the end)
                CONTIG = HEADER2.split(":")[0]
                #CONTIG = …
Run Code Online (Sandbox Code Playgroud)

python bioinformatics fasta biopython

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