小编Fra*_*cis的帖子

如何每3个索引切一个字符串?

我正在使用Python为我工作的实验室编程.如何切出给定字符串中的每3个字符并将其附加到列表中?

即XXXxxxXXXxxxXXXxxxXXXxxxXXX(其中X或x是任何给定的字母)

string = 'XXXxxxXXXxxxXXXxxxXXXxxxXXX'
mylist = []

for x in string:
    string[?:?:?]
    mylist.append(string)
Run Code Online (Sandbox Code Playgroud)

我希望列表看起来像这样:['XXX','xxx','XXX','xxx','XXX'......等等]

有任何想法吗?

python string slice

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

如何使用readline()从第二行开始?

我正在用Python编写一个简短的程序来读取FASTA文件,该文件通常采用以下格式:

>gi|253795547|ref|NC_012960.1| Candidatus Hodgkinia cicadicola Dsem chromosome, 52 lines
GACGGCTTGTTTGCGTGCGACGAGTTTAGGATTGCTCTTTTGCTAAGCTTGGGGGTTGCGCCCAAAGTGA
TTAGATTTTCCGACAGCGTACGGCGCGCGCTGCTGAACGTGGCCACTGAGCTTACACCTCATTTCAGCGC
TCGCTTGCTGGCGAAGCTGGCAGCAGCTTGTTAATGCTAGTGTTGGGCTCGCCGAAAGCTGGCAGGTCGA
Run Code Online (Sandbox Code Playgroud)

我已经创建了另一个程序来读取这个FASTA文件的第一行(又名标题),现在我希望第二个程序从序列开始读取和打印.

我该怎么办?

到目前为止我有这个:

FASTA = open("test.txt", "r")

def readSeq(FASTA):
    """returns the DNA sequence of a FASTA file"""
    for line in FASTA:
        line = line.strip()
        print line          


readSeq(FASTA)
Run Code Online (Sandbox Code Playgroud)

多谢你们

-菜鸟

python

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

定义计算氨基酸相对频率的函数

我正在尝试计算给定DNA序列内的密码子频率.

例如:

sequence = 'ATGAAGAAA'
codons = ['ATG', 'AAG', 'AAA']
Run Code Online (Sandbox Code Playgroud)

密码子中的XX:

frequency  = codons.count(XX)/(codons.count(XX)+codons.count(XX2)+codons.count(XX3))
Run Code Online (Sandbox Code Playgroud)

请注意,XX2和XX3并不总是在序列中.一些密码子可能有也可能没有多个密码子.

实施例:赖氨酸具有2个密码子,AAA和AAG

所以的频率

AAA = codons.count('AAA')/(codons.count('AAA') + codons.count('AAG'))
Run Code Online (Sandbox Code Playgroud)

我怎样才能为列表中的每个密码子做这个?我如何解释多个密码子?

python bioinformatics

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

在书写行之间创建空间

我目前正在创建一个函数,该函数从其他函数读取数据并将其写入桌面上的文本文件.

def outputResults(filename):
"""This function serves to output and write the results from analyzeGenome.py to a text file \
   Input: filename of output file, dictionary of codon frequencies, dictionary of codon counts \
        GC-content, FASTA header, & sequence length

   Output: Text file containing all the above """

outString = "Header = %s" %header
filename.write(outString)

outString2 = "Sequence Length = %.3F MB" % length
filename.write(outString2)
Run Code Online (Sandbox Code Playgroud)

当我这样做时,python在文本文件中一个接一个地打印行.如何打印到下一行并在行之间添加空格?

python io file-io

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

标签 统计

python ×4

bioinformatics ×1

file-io ×1

io ×1

slice ×1

string ×1