1. 程式人生 > >python生信程式設計6-10

python生信程式設計6-10

文章目錄

Counting Point Mutations 統計點突變

Problem

Given two strings s s and t

t of equal length, the Hamming distance between s s and t t , denoted d
H ( s , t ) d_H(s,t)
, is the number of corresponding symbols that differ in and . See Figure 2.

Given: Two DNA strings s s and t t of equal length (not exceeding 1 kbp).

Return: The Hamming distance

xxx

Figure 2. The Hamming distance between these two strings is 7. Mismatched symbols are colored red.

Sample Dataset

GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT

Sample Output

7

兩個字串之間的漢明距離(Hamming distance)是指兩個相等長度的字串,對應位置上不同字元的個數

s = 'GAGCCTACTAACGGGAT'
t = 'CATCGTAATGACGGCCT'
hamm = (i for i in range(len(s)) if s[i] != t[i] )
print(len(list(hamm)))


7

孟德爾第一定律/分離定律

問題

複習一下概率論中學到的知識

  • 概率定義:大量的試驗證明,當試驗的重複次數n逐漸增大時,事件A發生的頻率逐漸穩定與某個常數p。這個p就是事件A發生的概率,用於表示在一次試驗中,事件A 發生的可能性大小,記事件A的概率為P(A)

  • 例1:例:從一所高中中隨機抽取一名學生,已知抽到一名女生的概率是0.5,抽到一名高二學生的概率是0.3,抽到一名高二女生的概率是0.2。那麼抽到一名高二學生或一名女生的概率是?

使用公式P(A∪B)=P(A)+P(B)-P(AB),記事件A={抽到一名女生,事件B={抽到一名高二學生},則P(A)=0.5,P(B)=0.3,P(AB)=0.2
P(A∪B)=P(A)+P(B)-P(AB)=0.5+0.3-0.2=0.6

  • 排列:從n個不同元素中,任取m個元素,按照一定的順序排成一列,叫做從n個不同元素中取出m個元素的一個排列.與順序有關

  • 組合:從n個不同元素中,任取m個元素,併成一組,叫做從n個不同元素中取出m個元素的一個組合.與順序無關

  • 例2:從n個不同的元素中取出m個元素,並按照一定的順序排成一列,則共有:

A n m = n ( n 1 ) ( n 2 ) . . . ( n m + 1 ) = n ! ( n m ) ! A_{n}^m =n(n-1)(n-2)...(n-m+1) = \frac{n!}{(n-m)!}

  • 例3:從n個不同的元素中取出m個元素,則共有:

C n m = n ( n 1 ) ( n 2 ) . . . ( n m + 1 ) m ! = n ! ( n m ) ! m ! C_{n}^m = \frac{n(n-1)(n-2)...(n-m+1)}{m!} = \frac{n!}{(n-m)!m!}

  • 例4:一千張彩票中任意抽取一張,有多少基本事件?任意抽取兩張有多少基本事件?

任意抽取一張,基本事件1000個;任意抽取2張,則應該是從1000個任意取2個的組合數:

C 1000 2 = 1000 999 2 = 499500 C_{1000}^2 = \frac{1000 * 999}{2} = 499500

下面舉一個古典概型例子

一個口袋裝有5只球,其中3只紅球,2只藍球,從袋中取球兩次,每次隨機地取一隻,考慮兩種取球方式:

(a)第一次取一隻球,觀察其顏色後放回,攪勻後再取一次,這種取球方式叫做放回抽樣

(b) 第一次取一球不放回袋中,第二次從剩餘的球中再取一球,這種方式叫做不放回取樣

試分別就上面兩種情況:

(1)取到的兩隻球都是紅球的概率

(2)取到的兩隻球顏色相同的概率

(3)取到的兩隻球中至少一隻是紅球的概率

解:

A , B , C A,B,C 分別表示“取到的兩隻球都是紅球”,“取到的兩隻球都是藍球”“ 取到的兩隻球中至少一隻是紅球”。易知“取到兩隻顏色相同的球”這一事件即為 A B A\cup B ,而 C = B C = \overline B

放回抽樣的情況

P ( A ) = 3 5 × 3 5 = 9 25 P(A) = \frac{3}{5} \times \frac{3}{5} = \frac{9}{25}

P ( B ) = 2 5 × 2 5 = 4 25 P(B) = \frac{2}{5} \times \frac{2}{5} = \frac{4}{25}

由於 A B = ϕ AB=\phi

P ( A B ) = P ( A ) + P ( B ) P ( A B ) = 13 25 P(A\cup B) = P(A) + P(B) - P(AB) = \frac{13}{25}

P ( C ) = 1 P ( B ) = 21 25 P(C) = 1 - P(B) = \frac{21}{25}

不放回抽樣的情況

第一次從袋中取紅球有3個球可以取,第二次取紅球只有2個球可以取
P ( A ) = C 3 1 C 2 1 C 5 1 C 4 1 = 3 10 P(A) = \frac {C_3^1 C_2^1} {C_5^1 C_4^1} = \frac {3}{10}

第一次從袋中取藍球有2個球可以取,第二次取藍球只有1個球可以取

P ( B ) = C 2 1 C 5 1 C 4 1 = 1 10 P(B) = \frac {C_2^1} {C_5^1 C_4^1} = \frac {1}{10}

相關推薦

python程式設計6-10

文章目錄 Counting Point Mutations 統計點突變 Problem Sample Dataset Sample Output 孟德爾第一定律/分離定律 問題 說明 樣本

python程式設計1-5

文章目錄 Counting DNA Nucleotides/統計ATCG數 Problem Sample Dataset Sample Output Transcribing DNA into RNA /DNA轉錄RNA

python基礎小練習6-10

# 斐波那契數列 def fib(args): args = int(args) if args == 1 or args == 2: return 1 return fib(args - 1) + fib(args - 2) print(fib(10

牛客網線上程式設計10):身份證分組-python

  題目描述 18位身份證的編碼規則是: 前1、2位數字表示:所在省(直轄市、自治區)的程式碼 第3、4位數字表示:所在地級市(自治州)的程式碼 第5、6位數字表示:所在區(縣、自治縣、縣級市)的程式碼; 第7—14位數字表示:出生年、月、日; 第15、16位數字表示:所在地的

C#高階程式設計10版 C# 6 & .NET Core 1.0.pdf

  【下載地址】 Visual Studio 2015、ASP.NET Core 1.0和Universal Windows Platform的推出,為開發人員提供了使用C#建立應用程式的新方式。作為經典C#暢銷書 ,C#高階程式設計(第10版)涵蓋了充分利用升級功能,積極簡

《劍指offer》第6--10題答案分享--------python實現

‘’’’’ ‘’’ 6、題目描述 把一個數組最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。 輸入一個非減排序的陣列的一個旋轉,輸出旋轉陣列的最小元素。 例如陣列{3,4,5,1,2}為{1,2,3,4,5}的一個旋轉,該陣列的最小值為1。 NOTE:給

程式設計6】貪吃蛇遊戲(python+pygame)

效果圖~新鮮出爐 開始介面 遊戲中 結束介面 一、pygame模組概覽 模組名稱 功能 pygame.cdrom 訪問光碟機

【行易少兒程式設計10.Python 小學線性方程題目的解答-兩種程式設計方法:窮舉法及方程法等的比較

下面這道題目,是小學很常見的數學題目,除了慣用的解題方法外,通過程式設計也可以解答。某班級的總人數為64人。女生比男生的一半多7人。請問:男女生分別是多少?第一種程式設計方法:窮舉法for intboys in range(0,65):    for intgirls in

面試必考,新手必知!python程式設計10大優勢!

python作為一門高階程式語言,它的誕生雖然很偶然,但是它得到程式設計師的喜愛卻是必然之路。       Python的定位是“優雅”、“明確”、“簡單”,所以Python程式看上去總是簡單易懂,初學者學Python,不但入門容易,而且

Python程式設計筆記10

文章目錄 正則表示式 一、基本使用 二、進階——更精確 三、re模組 1、match()方法 2、split()——切分字串 3、()——分組 4、貪婪匹配 5、編譯

人值得擁有的程式設計模板-Perl

為什麼要學程式設計 圖1. 重複工作任務量與時間關係[1] 如上圖,對於大量重複工作,非程式設計者(non-geek)工作量和時間是正相關的,就像富士康流水線上的工人,這種工作對於高智商的人是無法忍受(富士康招流水線工人會測智商,高智商不會被分配大量重複

Python doc v2.7.6 ------ 5.2.10.1. Generator-iterator methods

This subsection describes the methods of a generator iterator. They can be used to control the execution of a generator function. Note

Python程式設計學習10:lambda表示式和filter,map函式的使用

1. lambda 表示式    (1) 優點:          a. 在寫一些簡單函式時,可以省下定義函式的過程,使得程式碼更加精簡 ,同時也簡化了程式碼的可讀性          b. 對於一些比較抽象並且只需要呼叫一兩次的函式,有時候給函式取名字也比較頭疼,使用lam

C#高階程式設計(第10版) C#6 &.NET Core(清華大學出版社)含原始碼

作者:[美] Christian Nagel, Jay Glynn, Morgan Skinner 著 李銘 譯 清華大學出版社 簡介 本書由.NET專家的夢幻組合編寫,包含開發人員使用C#所需的所有內容。C#是編寫.NET應用程式的一種語言,本書適合

2020/6/10 JavaScript高階程式設計 BOM

BOM(瀏覽器物件模型):提供用於訪問瀏覽器的物件。 8.1 window物件  window是BOM的核心物件,表示瀏覽器的一個例項。 JavaScript訪問瀏覽器視窗的介面 ECMAScript規定的Global物件 8.1.1 全域性作用域 全域性變數會成為window的屬性,但是定義全

Python學習之路6?函數,遞歸,內置函數

erro memory 子程序 none 種類 lan 萬年 字典 得到 一python中的函數 函數是邏輯結構化和過程化的一種編程方法。 python中函數定義方法: def test(x): "The function definitions" x

6.10心得

aaaaa rip ons scrip 變量 undefine 類型 什麽是 什麽 什麽是指針指針就是一個存放地址的變量 當指針指向某個變量 這時這個指針裏就存放了那個變量的地址 同時可以利用指針直接取變量中的值用 只要在指針前加 * 就是取其 真值了(也就是被指向的變量的

Python通知 先挖個坑

source left amp nbsp https clas 信息 play isp 桑心病狂,試試把報警信息發到微信上 原文 https://segmentfault.com/a/1190000009717078 Python 微信通知 先挖個坑

Python入門 (一)Python3.6安裝

修改 pla color style com www 方便 mar 更改   Python語言現在比較火,在本科學習期間沒有接觸過Python語言,現在打算從頭學起。我的電腦系統是Windows系統。   學習Python語言首先需要在電腦上配置Python環境。可以選擇去

sublime 顯示 python 錯誤

highlight 控制臺 copy tool lin tail 結果 ews tails 默認的編譯器可以直接按Ctrl+B編譯運行Python,並在控制臺輸出結果.美中不足的是無法輸出中文,需要自己手動配置一番。 在Sublime Text 3 中依次點擊菜單Tools