标签: biopython

使用BioPython运行BLAST查询

我想要

  1. BLAST几个序列
  2. 从每个查询中检索前100个匹配
  3. 汇集下载的序列
  4. 删除重复项

我怎么能在BioPython中做到这一点?

sequences bioinformatics biopython blast

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

无法让 entrez 使用 biopython 返回网格项

快速问题——第一次使用 biopython,我只是想根据教程快速搭建一些真正的东西。

我似乎无法Entrez.efetch()返回给定文章的网格项,唯一的方法似乎是我正在做的,即:

handle = Entrez.efetch(db="pubmed", id=pmids, rettype="medline", retmode="xml")
records = Entrez.read(handle)
Run Code Online (Sandbox Code Playgroud)

其中 pmids 是发布的ID列表

这将返回以下内容:http : //pastie.org/5459700

我试过根据http://www.ncbi.nlm.nih.gov/books/NBK25499/调整 rettype 和 retmode 参数,但没有成功。有什么明显的我失踪了吗?

python biopython pubmed

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

根据单独文件中的条目从FASTA文件中提取序列

我有两个文件.

文件1:带有基因序列的FASTA文件,如下例所示:

>PITG_00002 | Phytophthora infestans T30-4 conserved hypothetical protein (426 nt)
ATGCATCGCTCGGGTTCCGCACGGAAAGCCCAAGGTCTGGGATTACGGGGTGGTGGTCGG
TTACACTTGGAATAACCTCGCAAATTCAGAATCTCTACAGGCTACGTTCGCGGATGGAAC
>PITG_00003 | Phytophthora infestans T30-4 protein kinase (297 nt)
ATGACGGCTGGGGTCGGTACGCCCTACTGGATCGCACCGGAGATTCTTGAAGGCAAACGG
TACACTGAGCAAGCGGATATTTACTCGTTCGGAGTGGTTTTATCCGAGCTGGACACGTGC
AAGATGCCGTTCTCTGACGTCGTTACGGCAGAGGGAAAGAAACCCAAACCAGTTCAGATC
>PITG_00004 | Phytophthora infestans T30-4 protein kinase, putative (1969 nt)
ATGCGCGTGTCTGGTCTCCTTTCAATTCTTGCAGCCACTTTGACCACGGCCCAAGACTAC
Run Code Online (Sandbox Code Playgroud)

文件2:一个简单的文本文件,其中包含基因的登录标识.像这样.

PITG_00003
PITG_00005
PITG_00023
Run Code Online (Sandbox Code Playgroud)

文件2中的每个条目都在文件1中的某个位置,但不是文件1中的每个条目都在文件2中.我需要从文件1中删除不在文件2中的所有条目.我觉得在biopython中必须有一些东西可以帮助我的模块,我只是不知道是什么.例如,我原本以为我可以使用该SeqIO.parse函数从我的FASTA文件中提取加入,但这真的让我有两个加入号文件.我不知道如何有选择地提取其他文件中的加入.也许喜欢将文件2中的所有条目读入字典,然后将该条目与文件1中的匹配条目相关联并用于SeqIO.parse提取整个序列...但我真的不知道....任何人都可以给予任何帮助我非常感谢!

python biopython

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

读取一个蛋白质fasta文件并将读取的字符串拆分为Arginine(R),然后将肽段进行爆破以获得匹配?

我有以下fasta文件:

'>gi|277456704|dbj|ID_P|Gene name LLL
MDGFAGSLDDSISAASTSDVQDRLSALESRVQQQEDEITVLKAALADVLRRLAISEDHVASVKKSVSSKV
YRRKHQELQAMQMELQSPEYKLSKLRTSTIMTDYNPNYCFAGKTSSISDLKEVPRKNITLIRGLGHGAFG
EVYEGQVSGMPNDPSPLQVAVKTLPEVCSEQDELDFLMEALIISKFNHQNIVRCIGVSLQSLPRFILLEL
MAGGDLKSFLRETRPRPSQPSSLAMLDLLHVARDIACGCQYLEENHFIHRDIAARNCLLTCPGPGRVAKI
GDFGMARDIYRASYYRKGGCAMLPVKWMPPEAFMEGIFTSKTDTWSFGVLLWEIFSLGYMPYPSKSNQEV
LEFVTSGGRMDPPKNCPGPVYRIMTQCWQHQPEDRPNFAIILERIEYCTQDPDVINTALPIEYGPLVEEE

'>gi|27704|dbj|ID_Y|Gene name JJJ
MDGFAGSLDDSISAASTSDVQDRLSALESRVQQQEDEITVLKAALADVLRRLAISEDHVASVKKSVSSKG
SELRGGYGDPGRLPVGSGLCSASRARLPGHVAADHPPAVYRRKHQELQAMQMELQSPEYKLSKLRTSTIM
TDYNPNYCFAGKTSSISDLKEVPRKNITLIRGLGHGAFGEVYEGQVSGMPNDPSPLQVAVKTLPEVCSEQ
DELDFLMEALIISKFNHQNIVRCIGVSLQSLPRFILLELMAGGDLKSFLRETRPRPSQPSSLAMLDLLHV
ARDIACGCQYLEENHFIHRDIAARNCLLTCPGPGRVAKIGDFGMARDIYRASYYRKGGCAMLPVKWMPPE

'>gi|2097704|dbj|ID_X|Gene name X
MDGFAGSLDDSISAASTSDVQDRLSALESRVQQQEDEITVLKAALADVLRRLAISEDHVASVKKSVSSKG
QPSPRAVIPMSCITNGSGANRKPSHTSAVSIAGKETLSSAAKSGTEKKKEKPQGQREKKEESHSNDQSPQ
IRASPSPQPSSQPLQIHRQTPESKNATPTKSIKRPSPAEKSHNSWENSDDSRNKLSKIPSTPKLIPKVTK
TADKHKDVIINQEGEYIKMFMRGRPITMFIPSDVDNYDDIRTELPPEKLKLEWAYGYRGKDCRANVYLLP
TGEIVYFIASVVVLFNYEERTQRHYLGHTDCVKCLAIHPDKIRIATGQIAGVDKDGRPLQPHVRVWDSVT
LSTLQIIGLGTFERGVGCLDFSKADSGVHLCVIDDSNEHMLTVWDWQRKAKGAEIKTTNEVVLAVEFHPT
Run Code Online (Sandbox Code Playgroud)

我想循环通过FASTA,将蛋白质序列分解为它遇到的所有'R',这将生成肽,然后将肽进行爆破.从blastp获取结果并将blastp结果存储在fasta文件中每个蛋白质ID的单独文件中.我并不特别关注使用何种语言.我想学习如何做到这一点,以便我可以在它上面构建更多功能.谢谢!

split bioinformatics fasta biopython bioperl

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

在Biopython中提取CDS序列

今天是个好日子,

我开始在 Biopython 中编程,我想知道如何从具有所有特征坐标的基因组 GenBank 文件 (*.gb) 中提取基因序列和蛋白质标识符。

我的想法是创建一个包含蛋白质标识符、基因坐标和基因序列的文本文件。

如果您有任何想法,我将不胜感激。

到目前为止我试过这个:

for seq_record in seq_record.features: 
    if seq_record.type == 'CDS':
       x=seq_record.qualifiers['protein_id']
       i=seq_record.location._start.position
       f=seq_record.location._end.position
       sq = seq_record.seq
       FEAT_LIST.append('START END STRAND ID')
       FEAT_LIST.append(str(((i, f), s, x, sq)))
       print(FEAT_LIST) 
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误: sq = seq_record.seq AttributeError: 'SeqFeature' object has no attribute 'seq'

感谢您的帮助。

sequences biopython

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

为什么在Python中安装包和模块不一样?

我想安装Biopython模块.所以我用了这个命令sudo apt-get install python-biopython.那会安装.现在,如果我输入import Bio在Python中,编译器无法找到模块捐赠ImportError: no module named Bio.不安装包意味着安装模块吗?

python module package biopython

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

循环打开和关闭文件

假设我有一个包含数万个条目的列表,我想将它们写入文件。如果列表中的项目符合某些条件,我想关闭当前文件并开始一个新文件。

我有几个问题,我认为它们源于这样一个事实,即我想根据该文件中的第一个条目命名文件。此外,启动新文件的信号基于条目是否具有与前一个相同的字段。因此,例如,假设我有以下列表:

l = [('name1', 10), ('name1', 30), ('name2', 5), ('name2', 7), ('name2', 3), ('name3', 10)]
Run Code Online (Sandbox Code Playgroud)

我想最终得到 3 个文件,name1.txt应该包含10and 30name2.txt应该有5, 7and 3,并且name3.txt应该有10. 该列表已经按第一个元素排序,所以我需要做的就是检查第一个元素是否与前一个元素相同,如果不是,则开始一个新文件。

起初我试过:

name = None
for entry in l:
    if entry[0] != name:
        out_file.close()
        name = entry[0]
        out_file = open("{}.txt".format(name))
        out_file.write("{}\n".format(entry[1]))
    else:
        out_file.write("{}\n".format(entry[1]))

out_file.close()
Run Code Online (Sandbox Code Playgroud)

据我所知,这有几个问题。首先,第一次通过循环,没有out_file关闭。其次,我不能关闭最后out_file创建的,因为它是在循环内定义的。以下解决了第一个问题,但看起来很笨重:

for entry in l:
    if name:
        if entry[0] != name:
            out_file.close()
            name = entry[0] …
Run Code Online (Sandbox Code Playgroud)

python biopython pandas

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

摆脱输出中的括号

我认为这对你来说是一个简单的问题,因为我是python3的初学者.打印fasta文件的标题时,它包含括号.我怎么能删除它们?

import sys
from Bio import Entrez
from Bio import SeqIO


#define email for entrez login
db           = "nuccore"
Entrez.email = "someone@email.com"

#load accessions from arguments
if len(sys.argv[1:]) > 1:
  accs = sys.argv[1:]
else: #load accesions from stdin  
  accs = [ l.strip() for l in sys.stdin if l.strip() ]
#fetch
sys.stderr.write( "Fetching %s entries from GenBank: %s\n" % (len(accs), ", ".join(accs[:10])))
for i,acc in enumerate(accs):
  try:
    sys.stderr.write( " %9i %s          \r" % (i+1,acc))  
    handle = Entrez.efetch(db=db, rettype="fasta", id=acc)
    seq_record = …
Run Code Online (Sandbox Code Playgroud)

python bioinformatics biopython python-3.x

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

计算给定序列的所有可能组合(在Python中)

我有以下字典,其中包含每个氨基酸(键|字母)所有可能的密码子(值|三联体)。这本字典在生物信息学中也被称为“DNA密码子表”。

codon_table = {
'A': ('GCT', 'GCC', 'GCA', 'GCG'),
'C': ('TGT', 'TGC'),
'D': ('GAT', 'GAC'),
'E': ('GAA', 'GAG'),
'F': ('TTT', 'TTC'),
'G': ('GGT', 'GGC', 'GGA', 'GGG'),
'H': ('CAT', 'CAC'),
'I': ('ATT', 'ATC', 'ATA'),
'K': ('AAA', 'AAG'),
'L': ('TTA', 'TTG', 'CTT', 'CTC', 'CTA', 'CTG'),
'M': ('ATG',),
'N': ('AAT', 'AAC'),
'P': ('CCT', 'CCC', 'CCA', 'CCG'),
'Q': ('CAA', 'CAG'),
'R': ('CGT', 'CGC', 'CGA', 'CGG', 'AGA', 'AGG'),
'S': ('TCT', 'TCC', 'TCA', 'TCG', 'AGT', 'AGC'),
'T': ('ACT', 'ACC', 'ACA', 'ACG'),
'V': ('GTT', 'GTC', 'GTA', 'GTG'), …
Run Code Online (Sandbox Code Playgroud)

python combinations combinatorics biopython python-3.x

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

如何从核苷酸生成IUPAC代码?

我想找到相当于2种不同核苷酸的IUPAC.

例如:我有A和C,我想要M.或者:我有R和T而我想要D.

在Biopython中有没有这样做的方法?(这听起来很容易,但我只找到了使用对齐的方法,这在我的情况下是不合适的.)

谢谢!

python bioinformatics biopython

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