2024-09-30 05:21:04 发布
网友
我是一个生物学家,需要做一个快速的脚本来处理一些文件。在
文件格式为fasta:
>line1 ACCGAGCTACTAGXXXXX >line2 ACGTAX
等等。在
我想删除所有的X字符,然后快速将此脚本放在一起:
它不起作用,我不知道为什么。有什么帮助吗?在
抱歉,代码太糟糕了。在
可以使用regex执行此操作:
import re pattern = re.compile("(\w[^X]+)") # This groups everything but X stripped = pattern.match(line).group()
对于您的情况,您可以在代码的“else”部分执行类似的操作,并将“(\w[^X]+)”中的“X”替换为“char”变量:
使用line.replace(char,'')代替line.strip(char) Strip函数只从https://docs.python.org/2/library/string.html#string.strip侧面删除字符
line.replace(char,'')
line.strip(char)
其他答案指明了更好的选择。但在您的例子中,[Python 3.Docs]: Built-in Types - str.strip([chars])不起作用,因为文件中的每一行都以EOLN结束符结束,所以X实际上并不在字符串的末尾。在
需要最少更改代码的选项是从以下位置修改3rd行:
char = raw_input('Which sequence should be stripped?:')
收件人:
当心:行fasta_file.strip('.fasta')可能没有您认为的那样。在这里,建议使用:
fasta_file.strip('.fasta')
fasta_file.replace('.fasta', '_stripped.fasta')
编辑0:
我认为在写入输出文件时,您需要将EOLN添加回,因此您还需要替换以下行:
OutPut = line.strip(char)
签署人:
OutPut = line.strip(char) + "\n"
可以使用regex执行此操作:
对于您的情况,您可以在代码的“else”部分执行类似的操作,并将“(\w[^X]+)”中的“X”替换为“char”变量:
^{pr2}$使用
line.replace(char,'')
代替line.strip(char)
Strip函数只从https://docs.python.org/2/library/string.html#string.strip侧面删除字符其他答案指明了更好的选择。但在您的例子中,[Python 3.Docs]: Built-in Types - str.strip([chars])不起作用,因为文件中的每一行都以EOLN结束符结束,所以X实际上并不在字符串的末尾。在
需要最少更改代码的选项是从以下位置修改3rd行:
收件人:
^{pr2}$当心:行
fasta_file.strip('.fasta')
可能没有您认为的那样。在这里,建议使用:编辑0:
我认为在写入输出文件时,您需要将EOLN添加回,因此您还需要替换以下行:
签署人:
相关问题 更多 >
编程相关推荐