标签: biopython

将字符串列表写出到文件中

我有一个缩写列表

字母= ['Ala','Asx','Cys',......'Glx']

我想将其输出到一个文本文件,看起来像这样:

#Letters
Ala,Asx,Cys,..... Glx

Noob程序员在这里!我总是忘记最简单的事情!啊

请帮助和谢谢!

import Bio
from Bio import Seq
from Bio.Seq import Alphabet

output = 'alphabetSoupOutput.txt'
fh = open(output, 'w')
ThreeLetterProtein = '#Three Letter Protein'
Letters = Bio.Alphabet.ThreeLetterProtein.letters
fh.write(ThreeLetterProtein + '\n')

  #Don't know what goes here

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

python bioinformatics biopython

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

两个字符串之间的总不匹配

我正在寻找一种方法来查找 python 中两个字符串之间不匹配的总数。我的输入是一个看起来像这样的列表

['sequence=AGATGG', 'sequence=AGCTAG', 'sequence=TGCTAG',
 'sequence=AGGTAG', 'sequence=AGCTAG', 'sequence=AGAGAG']
Run Code Online (Sandbox Code Playgroud)

对于每个字符串,我想看看它与序列有多少差异"sequence=AGATAA"。因此,如果输入[0]来自上面的列表,则输出将如下所示:

sequence=AGATGG, 2
Run Code Online (Sandbox Code Playgroud)

我不知道是否将每个字母拆分为单独的列表,或者是否应该尝试以某种方式比较整个字符串。任何帮助都是有用的,谢谢

python genetics biopython

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

Python:如何基于具有二进制内容的文本文件提取DNA序列?

例如,我有一个包含以下序列的fasta文件:

>human1
AGGGCGSTGC
>human2
GCTTGCGCTAG
>human3
TTCGCTAG
Run Code Online (Sandbox Code Playgroud)

如何使用python读取具有以下内容的文本文件来提取序列?1表示真,0表示假.仅提取值为1的序列.

示例文本文件:

0
1
1
Run Code Online (Sandbox Code Playgroud)

预期产量:

>human2
GCTTGCGCTAG
>human3
TTCGCTAG
Run Code Online (Sandbox Code Playgroud)

python bioinformatics fasta biopython python-2.7

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

为什么我的python脚本会自行删除?

我正在编写一个脚本,将多个fastq文件转换为fasta和qual.总是当我运行它时,脚本之后有零个字节.

import sys
import re
import os
import fileinput
from Bio import SeqIO
from Bio.Alphabet import IUPAC

Directory = "/users/etc"
def process(Directory):
    filelist = os.listdir(Directory)
    for f in filelist:
        SeqIO.convert(f, "fastq", f.replace(".fastq",".qual"), "qual", alphabet=IUPAC.ambiguous_dna)

my_directory = "/users/etc"
process(my_directory)
Run Code Online (Sandbox Code Playgroud)

我同时忙于同时执行fastq到fasta和qual转换 - 只是复制SeqIO.convert行并交换文件格式不起作用...而且,我希望有一个数字打印多少个文件已被转换.

干杯

python biopython

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

Biopython 的 ESearch 没有给我完整的 IdList

我正在尝试使用以下代码搜索一些文章:

handle = Entrez.esearch(db="pubmed", term="lung+cancer")
record = Entrez.read(handle)
Run Code Online (Sandbox Code Playgroud)

record['Count']我可以看到有 293279 个结果,但是当我查看record['IdList']它时只给了我 20 个 Id。这是为什么?如何获取全部 293279 条记录?

python biopython pubmed

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

使用python的文本文件中的图案查找器

我有一个像这个例子的大文本文件:

例:

>chr9:128683-128744
GGATTTCTTCTTAGTTTGGATCCATTGCTGGTGAGCTAGTGGGATTTTTTGGGGGGTGTTA
>chr16:134222-134283
AGCTGGAAGCAGCGTGGGAATCACAGAATGGCCGGGACCTTAAAGGCTTTGCTTGGCCTGG
>chr16:134226-134287
GGAAGCAGCGTGGGAATCACAGAATGGACGGCCGATTAAAGGCTTTGCTTGGCCTGGATTT
>chr1:134723-134784
AAGTGATTCACCCTGCCTTTCCGACCTTCCCCAGAACAGAACACGTTGATCGTGGGCGATA
>chr16:135770-135831
GCCTGAGCAAAGGGCCTGCCCAGACAAGATTTTTTAATTGTTTAAAAACCGAATAAATGTT
Run Code Online (Sandbox Code Playgroud)

此文件分为不同的部分,每个部分有2行.第一行以>(此行称为ID)开头,第二行是字母序列.我想GGAC在字母序列中搜索一个短主题(),如果它们包含主题,我想获得该行的ID(在该行之上一行).

对于上面的例子,这是预期的输出:

预期产量:

>chr16:134222-134283
>chr16:134226-134287
Run Code Online (Sandbox Code Playgroud)

我试图使用以下命令在python中执行此操作,但它不返回我想要的.

infile = open('infile.txt', 'r')
ss = 'CCGA'
new = []
for line in range(len(infile)):
    if not infile[line].startswith('>'):
        for match in pattern.finder(ss):
            new.append(infile[line-1])
Run Code Online (Sandbox Code Playgroud)

你知道怎么解决吗?

python bioinformatics fasta biopython

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

在biopython中仅显示DNA比对分数

我有 DNA 序列数据。例如,

X="ACGGGT"
Y="ACGGT"
Run Code Online (Sandbox Code Playgroud)

我想知道对齐分数,因此我使用了biopythonpairwise2函数。例如,

from Bio import pairwise2
from Bio.pairwise2 import format_alignment

alignments = pairwise2.align.globalxx(X, Y)
for a in alignments:
    print(format_alignment(*a))
Run Code Online (Sandbox Code Playgroud)

这成功地显示了 DNA 比对,但我只需要如下的分数。有没有办法只显示分数?

在此输入图像描述

我使用了biopython,但如果有更好的方法,我们将不胜感激。

python bioinformatics dna-sequence biopython pairwise

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

有没有办法在字符串中替换一次字母?

我遇到了一个问题,它要么将所有 Gs 替换为 Cs,但不将 C 替换为 Gs,我该怎么做才能解决这个问题?我现在得到的输出是“GUGAGGGGAG”我正在寻找的输出是“CUCAGCGCAG”这是我到目前为止的代码:

a_string = "GAGTCGCGTC" 
remove_characters = ["G", "A", "T", "C"]
ch1 = "G"
ch2 = "A"
ch3 = "T"
ch4 = "C"
a_string = a_string.replace (ch1, "C")
a_string = a_string.replace (ch2, "U")
a_string = a_string.replace (ch3, "A")
a_string = a_string.replace (ch4, "G")
print (a_string)
Run Code Online (Sandbox Code Playgroud)
  • 我正在做 DNA 到 RNA 的翻译代码!所以A替换为U,G替换为C,T替换为A,C替换为G

python bioinformatics biopython python-3.x

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