【问题标题】:trimming and removing adapter from sequences in biopython从 biopython 中的序列中修剪和删除适配器
【发布时间】:2022-12-01 03:14:44
【问题描述】:

我遇到了这个我无法解决的问题: 用户有一个包含 5 个序列的输入 DNA.txt 文件。每个序列都以相同的 14 个碱基对片段开始——一个应该被移除的测序接头。编写一个程序,将 (a) 修剪这个适配器并将清理后的序列写入一个新文件,并且 (b) 打印每个序列的长度

我实际上是 biopython 的新手。我想过使用 Seq 模块中的 strip(),但我认为它行不通。

【问题讨论】:

  • 请提供足够的代码,以便其他人可以更好地理解或重现问题。

标签: python biopython


【解决方案1】:

我想我明白了,虽然没有使用 biopython:

import io

file =io.StringIO('AAAAAAAAAAAAAATTTTT
AAAAAAAAAAAAAATTTTT
AAAAAAAAAAAAAATTTT
AAAAAAAAAAAAAATTTTT
AAAAAAAAAAAAAATTTTT
')

print('read file :')    
for i in file.readlines():
    print(i.strip(),'
')
file.seek(0)

newfile =io.StringIO()
for i in file.readlines():
    i = i.lstrip('AAAAAAAAAAAAAA')
    #print(i)
    newfile.write(i)
newfile.seek(0)

print('read newfile :')    
for i in newfile.readlines():
    print(i.strip() + ' lenght : ', len(i),'
')

输出:

read file :
AAAAAAAAAAAAAATTTTT 

AAAAAAAAAAAAAATTTTT 

AAAAAAAAAAAAAATTTT 

AAAAAAAAAAAAAATTTTT 

AAAAAAAAAAAAAATTTTT 

read newfile :
TTTTT lenght :  6 

TTTTT lenght :  6 

TTTT lenght :  5 

TTTTT lenght :  6 

TTTTT lenght :  6 

如果你选择biopython路由,你应该能够按照手册在Seq对象上以相同的方式使用lstriphttps://biopython.org/docs/1.75/api/Bio.Seq.html#Bio.Seq.Seq.lstrip

lstrip(自我,字符=无)

返回一个去除前导(左)端的新 Seq 对象。

这类似于同名的 python 字符串方法。

可选参数 chars 定义要删除的字符。如果省略或无(默认),那么对于 python 字符串方法,这默认为删除任何空格。

例如打印(my_seq.lstrip(“-”))

另请参阅 strip 和 rstrip 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    • 2017-09-06
    • 2021-03-03
    • 2022-01-05
    相关资源
    最近更新 更多