亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

字符串替換中的字符。清潔(DNA)

字符串替換中的字符。清潔(DNA)

夢里花落0921 2024-01-27 14:37:37
在數據分析中,數據以臟形式傳送給我們是很常見的,其中存在與轉錄或下載方式相關的錯誤。由于我們知道DNA的任何序列都必須由四個堿基組成'a','g'因此DNA中出現't'的'c'任何其他字母一定是錯誤的。編寫一個函數clean(dna),返回一個新的 DNA 字符串,其中除 A、C、G 或 T 之外的每個字符都被替換為 N。例如,clean('goat')應返回字符串'gnat'。您可以假設 dna 全部為小寫,但不要假設任何有關錯誤字符的性質(例如,它們甚至可能被意外轉錄為數字)。clean('') → ''clean('agct7ttczttctgactgcaacgggcaatatgtctctxtgtggattaaaaaaagagtgtcygatagcagcttctgaactggttacctgcc') → 'agctnttcnttctgactgcaacgggcaatatgtctctntgtggattaaaaaaagagtgtcngatagcagcttctgaactggttacctgcc'clean('gtgagtaaattaaaattttnttgacttaggtcactaaptactttaaccaatataggbatagcgcacagacagataaaaattacagagtac') → 'gtgagtaaattaaaattttnttgacttaggtcactaantactttaaccaatataggnatagcgcacagacagataaaaattacagagtac'使用for循環
查看完整描述

2 回答

?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

我希望我沒有替你做功課。我看到已經使用 .sub 發布了答案,但您只要求使用循環


def clean(text):

    cleaned_text=""

    for i in range(0, len(text)):

        if text[i] in "agtc":

            cleaned_text=cleaned_text+text[i]

        else:

            cleaned_text=cleaned_text+"n"

    return cleaned_text


print(clean("agct7ttczttctgactgcaacgggcaatatgtctctxtgtggattaaaaaaagagtgtcygatagcagcttctgaactggttacctgcc"))

# returns agctnttcnttctgactgcaacgggcaatatgtctctntgtggattaaaaaaagagtgtcngatagcagcttctgaactggttacctgcc



查看完整回答
反對 回復 2024-01-27
?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

使用re.sub:


Import re

dna = 'gtgagtaaattaaaattttnttgacttaggtcactaaptactttaaccaatataggbatagcgcacagacagataaaaattacagagtac'

dna = re.sub(r'[^ACTG]','N',dna.upper())

print(dna)


查看完整回答
反對 回復 2024-01-27
  • 2 回答
  • 0 關注
  • 179 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號