标签: biopython

返回外部功能

Hii我在Biopython中遇到以下错误:'return'在函数外面(文件名..第26行)下面是myfile的代码请帮助

# File Name RandonProteinSequences.py
# standard library
import os
import random

# biopython
from Bio.Seq import Seq
from Bio.Alphabet import IUPAC
from Bio.SeqRecord import SeqRecord
import Bio.writers.SeqRecord.fasta
from Bio import SeqIO
from sys import *

residueList1 = ["C","D","E","F","G","H","I"]
residueList2 = ["A","K","L","M","N","S"]
residueList3 = ["P","Q","R","T","V","W","Y"]
residueList4 = ["C","A","G","U"]
def getProteinSeqRecord(residue, seqcount):
    strSeq = ""
for i in range(0,100,1):
    index = random.randint(0, len(residue)-1)
    strSeq += residue[index]

sequence = Seq(strSeq, IUPAC.IUPACProtein)
seqRec = SeqRecord(sequence, id = 'randSeq' + str(seqcount), description= 'A random …
Run Code Online (Sandbox Code Playgroud)

python biopython

2
推荐指数
2
解决办法
3万
查看次数

如何在Python中从字符串中查找多个子字符串

例如,如果我有一个字符串'ATGAGGGATAGAGGGTTGGGAGAGATGGATAGGGGATAGATTG',我必须得到ATG和TTG之间的子串,因为我们可以看到字符串中有两种.

无论如何我都无法弄明白,plz帮助我通过它!

python biopython

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

如何计算fasta格式文件中的氨基酸?

我找到了解析fasta frmated文件的代码.我需要计算每个序列中有多少A,T,G等,例如:

>gi|7290019|gb|AAF45486.1| (AE003417) EG:BACR37P7.1 gene product [Drosophila melanogaster]
MRMRGRRLLPIIL 
Run Code Online (Sandbox Code Playgroud)

在这个序列中:

M - 2
R - 4
G - 1
L - 3
I - 2
P - 1
Run Code Online (Sandbox Code Playgroud)

代码很简单:

 def FASTA(filename):
  try:
    f = file(filename)
  except IOError:                     
    print "The file, %s, does not exist" % filename
    return

  order = []
  sequences = {}

  for line in f:
    if line.startswith('>'):
      name = line[1:].rstrip('\n')
      name = name.replace('_', ' ')
      order.append(name)
      sequences[name] = ''
    else:
      sequences[name] += line.rstrip('\n').rstrip('*')

  print "%d sequences found" …
Run Code Online (Sandbox Code Playgroud)

python bioinformatics fasta biopython

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

BioPython,如何将.fasta转换为.aln进行clustal对齐?

我有一个.fasta文件,我想转换为.aln,以便它可以与alignIO.read命令对齐或以某种方式给我的fasta文件"Clustal Headers",因为当我使用fasta文件时它只是输出它不是一个已知的clustal标题,是"ClustalwCommandline"返回应该这样做,因为在教程中它说它返回cline,只是打印cline,不知道如何处理cline

编辑: - 我也应该输出.dnd文件,不知道如何

python bioinformatics fasta biopython clustal

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

从 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
查看次数

Biopython从变量而不是文件解析

import gzip
import io
from Bio import SeqIO

infile = "myinfile.fastq.gz"
fileout = open("myoutfile.fastq", "w+")
with io.TextIOWrapper(gzip.open(infile, "r")) as f:
    line = f.read()
fileout.write(line)
fileout.seek(0)

count = 0
for rec in SeqIO.parse(fileout, "fastq"): #parsing from file
    count += 1
print("%i reads" % count)
Run Code Online (Sandbox Code Playgroud)

当"line"被写入文件并且该文件被提供给解析器时,上面的工作正常,但是下面不起作用.为什么不能直接读取行?有没有办法直接将"line"提供给解析器而不必先写入文件?

infile = "myinfile.fastq.gz"
#fileout = "myoutfile.fastq"
with io.TextIOWrapper(gzip.open(infile, "r")) as f:
    line = f.read()
#myout.write(line)

count = 0
for rec in SeqIO.parse(line, "fastq"): #line used instead of writing from file
    count += 1
print("%i reads" % …
Run Code Online (Sandbox Code Playgroud)

python biopython

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

使用 Bio.phylo 从几棵树中制作一个共识树

我对肠杆菌基因组中的 4 个管家基因感兴趣。

所以我有我的管家基因,我在 NR 上大放异彩并下载了比对的序列。

我使用 MEGA7 软件和最大似然法制作了系统发育树。Boostrap 方法进行了 200 次迭代。

我将树导出为 newick 文件。

所以现在,我的 4 个管家基因有 4 棵树。我想用我的 4 棵树创建一个共识树。

就我个人而言,我尝试使用 Bio.Phylo 的共识树http://biopython.org/DIST/docs/api/Bio.Phylo.Consensus-module.html#strict_consensus)(http://biopython.org/wiki/Phylo)。我选择了 Majority_consensus 函数,它运行得很好。但我有一个问题。

我的“脚本”是这样的:

import os

import sys

from Bio import Phylo

from Bio.Phylo.Consensus import *

fichier=sys.argv[1]

fichier2=sys.argv[2]

fichier3=sys.argv[3]

fichier4=sys.argv[4]

tree1=Phylo.read(fichier, 'newick')

tree2=Phylo.read(fichier2, 'newick')

tree3=Phylo.read(fichier3, 'newick')

tree4=Phylo.read(fichier4, 'newick')

trees=tree1,tree2,tree3,tree4

majority_tree = majority_consensus(trees, 0.5)

Phylo.draw(majority_tree)
Run Code Online (Sandbox Code Playgroud)

问题在于共识树依赖于顺序。例如,当我try trees = tree1,tree2,tree3,tree4trees = tree2,tree4,tree1,tree3

有人知道另一种软件可以从 newick 文件中制作共识树吗?

我需要帮助Bio.Phylo。如果有人了解更多有关此包的信息,那就太好了。

python bioinformatics biopython phylogeny

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

从matplotlib中的Needleman-Wunsch成对序列比对绘制得分矩阵

我正在尝试根据Python中的全局对齐算法(或Needleman-Wunsch算法)绘制矩阵.

我不知道matplotlib是否是这种情况下最好的工具.我试图使用Bokeh,但结构很难适合我想要的矩阵.

我正在使用Bio.SeqIO(BioPython的标准序列输入/输出接口)来存储两个序列.

我得到的结果与此图像类似:

在此输入图像描述

这可能在Matplotlib?我怎样才能做到这一点?

UPDATE

最后,我能够根据ImportanceOfBeingErnest给出的答案构建算法.结果如下:

在此输入图像描述

以下是此实现的要点:plot_needleman_wunsch.py

这是整个项目(正在进行中):bmc-sequence-alignment

python bioinformatics matplotlib biopython

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

Biopython(或者只是Python):从使用gi标识符的大型.fasta文件中解析物种名称的最有效方法

我有一个大约145000个条目的.fasta文件(.txt),其格式如下

>gi|393182|gb|AAA40101.1| cytokine [Mus musculus]
MDAKVVAVLALVLAALCISDGKPVSLSYRCPCRFFESHIARANVKHLKILNTPNCALQIVARLKNNNRQV
CIDPKLKWIQEYLEKALNKRLKM

>gi|378792467|pdb|3UNH|Y Chain Y, Mouse 20s Immunoproteasome
TTTLAFKFQHGVIVAVDSRATAGSYISSLRMNKVIEINPYLLGTMSGCAADCQYWERLLAKECRLYYLRN
GERISVSAASKLLSNMMLQYRGMGLSMGSMICGWDKKGPGLYYVDDNGTRLSGQMFSTGSGNTYAYGVMD
SGYRQDLSPEEAYDLGRRAIAYATHRDNYSGGVVNMYHMKEDGWVKVESSDVSDLLYKYGEAAL

>gi|378792462|pdb|3UNH|T Chain T, Mouse 20s Immunoproteasome
MSSIGTGYDLSASTFSPDGRVFQVEYAMKAVENSSTAIGIRCKDGVVFGVEKLVLSKLYEEGSNKRLFNV
DRHVGMAVAGLLADARSLADIAREEASNFRSNFGYNIPLKHLADRVAMYVHAYTLYSAVRPFGCSFMLGS
YSANDGAQLYMIDPSGVSYGYWGCAIGKARQAAKTEIEKLQMKEMTCRDVVKEVAKIIYIVHDEVKDKAF
ELELSWVGELTKGRHEIVPKDIREEAEKYAKESLKEEDESDDDNM
Run Code Online (Sandbox Code Playgroud)
  1. 我有一个gi列表(在|之后列出的第一个数字).
  2. 对于给定的测试,该列表的大小在60-600gi之间变化
  3. 我想返回一个列表,其中包含各种gi的种类
  4. 物种名称通常在第一个例子中看到(由方括号[Mus musculus]包围)并不总是存在.
  5. 订单并不是特别重要.

我一直在使用各种BioPython解析碎片,但我认为由于搜索的大小而失败.我希望这里有人知道更有效的方式吗?

提前致谢!

python search large-data biopython

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

将GenBank登录码指定为biopython,如何获得科学名称?

有人知道如何仅使用GenBank代码登录名和biopython从GenBank中的数据中获取科学名称(或所有功能)。例如:

>>> From Bio import Entrez
>>> Entrez.email = someuser@mail.com
>>> Input = Entrez.someFunction(db="nucleotide", term="AY851612")
>>> output = Entrez.read(Input)
>>> print output

"Austrocylindropuntia subulata"
Run Code Online (Sandbox Code Playgroud)

还是:

>>> print output

"LOCUS AY851612 892 bp DNA linear PLN 10-APR-2007
DEFINITION Opuntia subulata rpl16 gene, intron; chloroplast.
ACCESSION AY851612
VERSION AY851612.1 GI:57240072
KEYWORDS .
SOURCE chloroplast Austrocylindropuntia subulata
ORGANISM Austrocylindropuntia subulata
Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta;
Spermatophyta; Magnoliophyta; eudicotyledons; core eudicotyledons;
Caryophyllales; Cactaceae; Opuntioideae; Austrocylindropuntia.
REFERENCE 1 (bases 1 to 892)
AUTHORS Butterworth,C.A. and …
Run Code Online (Sandbox Code Playgroud)

python bioinformatics biopython genbank

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