美國加州大學圣地亞哥分校生信課程練習題week1.1

問題需求:在text中統(tǒng)計pattern重復次數(shù),需要注意的是TGGACTCTG和TGGACTCTGGACTCTG都符合pattern。

text:GGGTTATGGACTCTGGACTCTCAATGGACTCTGGACTCACTGGACTCTGGACTCGGCAATGGACTCATGGACTCTTGGACTCTTGGACTCTACTCGTGGACTCTGGACTCTAATGGACTCAATGGACTCTGGACTCATTTGGACTCGTTGGACTCCTGGACTCGTTGGACTCTGGACTCTTGGACTCCACTCTGGACTCACTGGACTCTGGACTCTTTGGACTCACCGCTGGACTCCTATGGACTCAGTGGACTCGAGTGGACTCCAGTAGTAGGATGTGGACTCTTGGACTCCGGGGACTTAAGCCTGGACTCGGTGGACTCACGATGGACTCTGGACTCTAACTGGACTCGGTGGACTCTGGACTCACCGACAGCGTCTGGACTCCACTGCAGAATGGACTCTGTGGACTCGAACTGGACTCGGCGGGAGATTTGGACTCATGGACTCTGGACTCACTGGACTCCATGGACTCAATTTTGGACTCTGGACTCTCGTGGACTCTGGACTCCCCTGGACTCCTATGGACTCCGTGGACTCTGGACTCTGGACTCTGGACTCTGGACTCGGACTGGACTCATGGACTCTGGACTCTGGACTCCGTTGGACTCTTGGACTCCTCTGGACTCTGTGGACTCAGTGGACTCTTGGACTCGTGGACTCATGGACTCGGTTTTAGTGGACTCGGTATGGACTCTCTGGACTCTGGACTCAGCATGGACTCATGGACTCCCGAGTCATGGACTCTGGACTCGGACGCTGGACTCTGGACTCTATGGACTCATTGGACTCTGGACTCTTTGGACTCAAATGGACTCACTGGACTCTGGACTCCATGGACTCGTGGACTCACTGGACTCGATCCGAATGGACTCTGGACTCACTCCTGGACTCCATGGACTCTTGGACTCGGGTGGACTCGTGGACTCCTCTGGACTCAGATGGACTCAGACCCTGGACTCGTTGGACTCTCTTTGGACTC

pattren:TGGACTCTG

代碼實現(xiàn):

python代碼實現(xiàn):

txt, i= {},1path ="dataset_2_6.txt"
f =open(path,encoding='utf-8')
for line in f:    
  txt[i] = line
  i +=1    
  txt.update(txt)
f.close() 
text = str(txt[1].strip())
pattern = str(txt[2].strip())
def PatternCount(text, pattern):
count=0
for i in range(len(text)-len(pattern)+1):
  if text[i:i+len(pattern)] == pattern:
    count=count+1
return count 
print(PatternCount(text, pattern))

R代碼實現(xiàn):

library(stringr)
data = read.table('dataset_2_6.txt', stringsAsFactors = F)
str = str_split(data[1,1],'') %>%
        as.data.frame()

ncount = 0
for (i in 1:(nrow(str) - nchar(data[2,1]) + 1)) {
        j = i+nchar(data[2,1]) - 1
        rep.1 = paste(str[i:j,1], sep = '')
        
        rep.2 = ''
        
        for (m in 1:length(rep.1)) {
                rep.2 = paste(rep.2,rep.1[m], sep = '')
        }
        
        if (rep.2 == data[2,1]) {
                ncount = ncount + 1
        }
        
        if (i == (nrow(str) - nchar(data[2,1]) + 1)) {
               print(ncount) 
        }
}

shell代碼實現(xiàn):

text=$(sed -n '1p' dataset_2_6.txt)
pattern=$(sed -n '2p' dataset_2_6.txt)
len_text=echo ${#text}
len_pattern=echo ${#pattern}
len_range=$(($len_text-$len_pattern))
count=0
for((i=0;i<=$len_range;i++))
  do
    temp=$(echo ${text:$i:$len_pattern})
    if [ $temp == $pattern ]; then
      count=$(($count+1))
    fi
done
echo $count
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 美國加州大學圣地亞哥分校Python實戰(zhàn)項目總結(jié) 課程內(nèi)容和老師教學情況 課程內(nèi)容當然就是講Python啦!Pyt...
    哲哲99閱讀 304評論 0 0
  • 表情是什么,我認為表情就是表現(xiàn)出來的情緒。表情可以傳達很多信息。高興了當然就笑了,難過就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 129,825評論 2 7
  • 16宿命:用概率思維提高你的勝算 以前的我是風險厭惡者,不喜歡去冒險,但是人生放棄了冒險,也就放棄了無數(shù)的可能。 ...
    yichen大刀閱讀 8,072評論 0 4

友情鏈接更多精彩內(nèi)容