[Southern blotting] 서던 블로팅 Start

BioinformaticsAndMe






Southern blot (서던 블롯)

: 겔 전기영동으로 분획된 DNA 단편을 membrane에 옮긴 후, 특정 염기서열을 지닌 단편을 검출하는 기술

: 서던(E. Southern)에 의해 개발 (1975)

: 분자 생물학에서 DNA 시료의 특정 DNA 서열을 찾기위한 방법

: 샘플에서 특정 DNA 서열의 존재 여부, DNA 양, 절편 크기 등을 확인 가능





Southern blot 실험 과정

1. 세포들에서 DNA 분리

2. 추출된 DNA를 제한효소로 절단

3. 아가로스(Agarose) 겔에 전기영동 한 후, DNA 조각을 크기별로 분리

4. DNA를 알칼리로 단일 가닥 상태로 만듦

*DNA 길이가 짧을수록 NC필터로 전이 잘됨

5. 모세관 현상으로 겔에서 NC(Nitrocellulose) 필터로 DNA 전이

6. NC 필터에 자외선을 쪼여 핵산과 NC 필터 사이에 교차 결합을 형성

7. 탐지하고자 하는 DNA와 상보적인 DNA 탐침(probe) 제조

*probe: 방사선동위원소나 효소, 혹은 발광 및 발색 반응할 수 있는 핵산조각

8. 여과지와 탐침을 충분한 시간동안 혼성화 진행

*관심있는 DNA절편과 탐침이 다시 이중나선을 형성

*혼성화(hybridization): 염색체에 탐침 DNA를 부착시키는 과정

9. X선 필름에 여과지를 감광시켜 특정 DNA 존재 확인





#서던 블로팅 실험 영상







#Reference
1) https://ko.wikipedia.org/wiki/%EC%84%9C%EB%8D%98_%EB%B8%94%EB%9E%8F
2) https://terms.naver.com/entry.nhn?docId=380135&cid=50328&categoryId=50328
3) https://bio.libretexts.org/Bookshelves/Genetics/Book%3A_Online_Open_Genetics_(Nickle_and_Barrette-Ng)/08%3A_Techniques_of_Molecular_Genetics/8.6%3A__DNA_Analysis%3A_Blotting_and_Hybridization
4) https://www.youtube.com/watch?v=GPVf_AWMYZ4





[Southern blotting] 서던 블로팅 End

BioinformaticsAndMe

'Technology' 카테고리의 다른 글

[PCR] 중합효소 연쇄반응  (0) 2019.10.14
[Northern blotting] 노던 블로팅  (0) 2019.10.09
[Genotyping] SNP Array  (0) 2019.09.25
[NGS] Epigenetic sequencing  (0) 2019.05.26
[NGS] Targeted gene panel  (0) 2018.08.19

카이제곱검정 (Chi square test) Start

BioinformaticsAndMe






카이제곱검정 (Chi square test)

: χ² 검정은 카이제곱 분포에 기초한 통계적 방법

: 관찰된 빈도가 기대되는 빈도와 유의하게 다른지를 검증

범주형 자료로 구성된 데이터 분석에 이용

카이제곱 값 χ² = Σ(관측값 - 기댓값)² / 기댓값




1. What is a Chi Square Test?

: 카이제곱검정에는 두 가지 형태가 있으며, 같은 카이제곱 통계량과 분포를 사용하지만 다른 목적을 가짐

ㄱ) Goodness of fit test (적합도 검정)

-관찰된 비율 값이 기대값과 같은지 조사하는 검정 (어떤 모집단의 표본이 그 모집단을 대표는지 검정)

ㄴ) Test of homogeneity (동질성 검정)

-두 집단의 분포가 동일한지 검정

ㄷ) Test for independence (독립성 검정)

-Contingency table에서 있는 두 개 이상의 변수가 서로 독립인지 검정

-기대빈도는 두 변수가 서로 상관 없고 독립적이라고 기대하는 것을 의미하며, 관찰빈도와의 차이를 통해 기대빈도의 진위여부를 밝힘

-귀무가설 : 두 변수는 연관성이 없음 (독립)

-대립가설 : 두 변수는 연관성이 있음 (독립X)





2. What is a Chi Square Statistic?

: 카이제곱 통계량은 데이터 분포와 가정된 분포 사이의 차이를 나타내는 측정값


: 카이제곱 검정통계량이 카이제곱분포를 따른다면 카이제곱분포를 사용해서 가설검정 수행

: 귀무가설 하에서 검정통계량이 카이제곱분포를 따를 때,

검정통계치가

*카이제곱분포에서 일어나기 어려운 일이면 귀무가설 기각 (대립가설 채택)

*충분히 일어날 수 있는 일이면 귀무가설 기각 X 

: 이 때 일어날 법한 일인지, 희귀한 경우인지의  판단 기준은 confidence level 혹은 p value





3. Chi Square P-Values

: 카이제곱검정으로 p value를 얻게 됨 (p value는 검정 결과가 얼마나 유의한가에 대한 지표)

: 카이제곱검정을 수행하고, p value를 얻기 위해 아래 두가지 정보가 필요

ㄱ) 자유도(Degrees of freedom) = n - 1 (n: 카테고리개수)

ㄴ) Alpha level(α) =  0.05 or 0.01 (연구자에 의해 결정됨)





4. The Chi-Square Distribution

: 카이제곱 분포는 감마 분포(gamma distribution)의 특수한 형태

: 카이제곱 분포는 항상 오른쪽으로 치우침

: 자유도(k)가 클수록 카이제곱 분포는 정규분포에 유사해짐





5. How to Calculate a Chi Square Statistic

카이제곱검정의 구하는 과정을 살펴보자

256명의 시각예술가들이 있고, 각자의 별자리(Aries, Taurus...)를 조사했다.

별자리의 종류가 시각예술가들 사이에서 고르게 분포한다는 가설을 카이제곱으로 검정해본다.


Step 1. Expected value(3번째 열) 계산

⇒ 256명을 12개 별자리로 나눈 값 (256/12=21.333)

Step 2. Residual value(4번째 열) 계산

⇒ 관찰값(실제값) - 기대값 (29-21.333=7.667)

Step 3. (Obs-Exp)² value(5번째 열) 계산

⇒ Residual value 제곱 (7.667²=58.782889)

Step 4. Component value(6번째 열) 계산

⇒ (Obs-Exp)² value를 Expected value로 나눔 (58.782889/21.333=2.7554...)

Step 5. 카이제곱 통계량 계산

⇒ 마지막 열을 모두 더함 (2.7554 + 0.3334 + ... +0.1302 = 5.0940...)


chi-square statistic(X²) = 5.094







#Reference
1) http://sphweb.bumc.bu.edu/otlt/MPH-Modules/BS/BS704_HypothesisTesting-ChiSquare/BS704_HypothesisTesting-ChiSquare_print.html
2) https://www.statisticshowto.datasciencecentral.com/probability-and-statistics/chi-square/
3) https://www.tutor2u.net/geography/reference/chi-squared-test
4) https://ko.wikipedia.org/wiki/%EC%B9%B4%EC%9D%B4%EC%A0%9C%EA%B3%B1_%EA%B2%80%EC%A0%95
5) https://getcalc.com/statistics-chi-squared-distribution-calculator.htm
6) http://michaelminn.net/tutorials/r-categorical/
7) https://namu.wiki/w/%EC%B9%B4%EC%9D%B4-%EC%A0%9C%EA%B3%B1%20%EB%B6%84%ED%8F%AC
8) http://www-ist.massey.ac.nz/dstirlin/CAST/CAST/Hindep/indep6.html






카이제곱검정 (Chi square test) End

BioinformaticsAndMe


'Statistics' 카테고리의 다른 글

피셔정확검정 (Fisher exact test)  (0) 2019.10.15
1종, 2종 오류 (Type 1, 2 error)  (0) 2019.10.07
FDR (False Discovery Rate)  (1) 2019.09.23
심슨의 역설 (Simpson's Paradox)  (0) 2019.09.03
산포도 (Dispersion)  (0) 2019.09.02

K-medoids clustering (R PAM) Start

BioinformaticsAndMe






K-medoids clustering (PAM; Partitioning Around Medoids)

: 이전에 소개된 K-means clustering은 평균을 이용하기에 이상치(outlier)에 민감함

: PAM(Partitioning Around Medoids, 1987)는 평균 대신 대표주자(medoid)를 선택하고, 더 좋은 군집을 만드는 대표주자가 있으면 대체

: PAM은 K-means보다 강건한 방법(robust method)

: PAM은 소규모 자료 적용에는 유리하지만, 대규모 자료 적용에는 불안정(non-scalable)




K-medoids clustering 과정

1) 패키지 설치

install.packages(“cluster”) library(cluster)

2) pam 함수 적용

pam.result <- pam(iris, 3)

3) table 함수로 배치된 클러스터 확인

table(pam.result$clustering, iris$Species)

    setosa versicolor virginica
  1     50          0         0
  2      0          3        49
  3      0         47         1

4) 한 화면에 클러스터링 결과가 모두 출력

par(mfrow=c(1,2)) plot(pam.result) par(mfrow=c(1,1))

clusterplot

: iris 데이터가 3개의 클러스터로 나뉨

: 분홍선은 클러스터간의 거리


Silhouette plot of pam

: iris 데이터의 실루엣(silhouette)

: 군집 1에는 50개 데이터를 포함 (0.80은 클러스터링 설명력)

#1.00 에 가까울수록 데이터들이 적합하게 클러스터링

#음수값은 데이터가 잘못된 클러스터에 속함







#Reference

1) https://rstudio-pubs-static.s3.amazonaws.com/249084_09c0daf4ceb24212a81ceddca97ba1ea.html

2) http://ropatics.com/data-mining/r-and-data-mining/RDM-Clustering.html

3) https://slidesplayer.org/slide/15150112/

4) https://blog.naver.com/asus1984/120065317344

5) https://win100.tistory.com/167





K-medoids clustering (R PAM) End

BioinformaticsAndMe

'R' 카테고리의 다른 글

[R Shiny] 샤이니 소개  (0) 2019.10.06
Hierarchical clustering (R 계층적 군집화)  (0) 2019.10.04
K-means clustering (R 군집분석)  (0) 2019.09.24
if, else, else if, ifelse (R 조건문)  (0) 2019.09.16
while, for (R 반복문)  (0) 2019.09.16

Python API Start

BioinformaticsAndMe







#API 기초 학습을 위해 아래 포스트 참조

https://bioinformaticsandme.tistory.com/135


Python API

: 파이썬에서 API 작업을 하기 위해, 'requests' 라이브러리 사용




1. Making API Requests in Python

'requests'는 파이썬 표준 라이브러리가 아니므로, 아래 두 가지 경로 중 하나로 설치 필요

#pip 설치 pip install requests

#conda 설치 conda install requests

라이브러리가 설치되면, 'requests'를 import 하기

import requests




2. Making Our First API Request

request에는 다양한 형태가 존재

*GET: 데이터 검색

*POST: 새로운 데이터를 서버에 추가

*PUT: 기존 정보 변경

*DELETE: 기존 정보 삭제


request를 실행할 때, API 서버로부터 response data와 response code를 받음

response code는 우리의 request가 성공적인지 말해줌 (!문제가 있다면 원인을 설명)

'GET’ request를 실행하기 위해, requests.get() function을 사용함

requests.get() function은 사용자가 request를 진행하고 싶은 URL을 입력값으로 사용

http://open-notify.org/ 를 API server 로 두고 연습 진행

#request를 만들고 결과값을 출력 request = requests.get('http://api.open-notify.org') print(request.text)

#response code 확인 (200 : request가 성공적으로 작동) print(request.status_code)

200


request된 URL이 서버에서 발견되지 않는다면 404 에러 출력

request2 = requests.get('http://api.open-notify.org/fake-endpoint') print(request2.status_code)

404




3. API Status Codes

API Status codes는 서버 request 요청에 대한 상태 출력

200 – OK. The request was successful.
   The answer itself depends on the method used (GET, POST, etc.) and the API specification.
204 – No Content.
        The server successfully processed the request and did not return any content.
301 – Moved Permanently.
        The server responds that the requested page (endpoint) has been moved to another address and redirects to this address.
400 – Bad Request.
        The server cannot process the request because the client-side errors (incorrect request format).
401 – Unauthorized.
        Occurs when authentication was failed, due to incorrect credentials or even their absence.
403 – Forbidden.
        Access to the specified resource is denied.
404 – Not Found.
        The requested resource was not found on the server.
500 – Internal Server Error.
        Occurs when an unknown error has occurred on the server.








#Reference

1) https://www.dataquest.io/blog/python-api-tutorial/

2) https://medium.com/quick-code/absolute-beginners-guide-to-slaying-apis-using-python-7b380dc82236

3) https://blog.rapidapi.com/how-to-use-an-api-with-python/

4) https://itnext.io/api-calls-and-http-status-codes-e0240f78f585






Python API End

BioinformaticsAndMe

'Python' 카테고리의 다른 글

Anaconda 설치  (0) 2019.10.08
Python JSON  (0) 2019.10.02
Variable (Python 변수)  (0) 2019.09.25
Python이 성장하는 7가지 이유  (0) 2019.09.17
Python 시작  (0) 2019.09.04

하디-바인베르크 평형 (Hardy-Weinberg equilibrium) Start

BioinformaticsAndMe





하디-바인베르크 법칙

: 하디-바인베르크 법칙(=하디-와인버그 평형)이란 유전자 풀에서 세대를 거쳐 대립 유전자 빈도가 변하지 않고 평형상태를 유지한다는 원리

: 영국 수학자 Godfrey Harold Hardy와 독일 의사 Wilhelm Weinberg가 각자 동시에 발견한 법칙




하디-바인베르크 평형에 도달하기 위한 집단 조건

1. 자연 선택(natural selection) 일어나지 않음

2. 돌연변이(mutation) 없음

3. 유입, 유출(migration)의 유전자 흐름 없음

4. 대규모 집단(population)

5. 무작위 교배(random mating)





하디-바인베르크 방정식

위의 전제 조건들을 만족하는 이상 집단에서 아래 수식들이 성립

ㄱ. Allele Frequency Equation: p + q = 1

대립 유전자 A 빈도(A allele frequency):  p

대립 유전자 a 빈도(a allele frequency):  q

세대를 거듭해도 p + q = 1 로 일정

ㄴ. Genotype Frequency Equation: p2 + 2pq + q2 = 1

AA 유전자형의 빈도(AA genotype):  p2

Aa 유전자형의 빈도(Aa genotype):  2pq

aa 유전자형의 빈도(aa genotype):  q2

세대를 거듭해도 p2 + 2pq + q2 = 1 로 일정



1st Generation (1세대)



2nd Generation (2세대)


위 예제는

대립유전자형 빈도(Allele frequency)와 유전자형 빈도(Genotype frequency)가

세대를 거듭해도 일정한 비율로 유지되는 현상을 볼 수 상황이다





하디-와인버그 평형이 깨진다면 (=평형 방정식이 성립되지 않는다면)

언급되었던 조건이 위배되었을 가능성이 높다


무작위 교배 대신 선별적 교배가 일어났거나,

대규모 집단 대신 작은 규모의 집단이었거나,

돌연변이/자연선택/인구이동이 발생했는지 살펴봐야겠다.





#Reference

1) https://ko.wikipedia.org/wiki/%ED%95%98%EB%94%94-%EB%B0%94%EC%9D%B8%EB%B2%A0%EB%A5%B4%ED%81%AC_%EC%9B%90%EB%A6%AC

2) https://namu.wiki/w/%ED%95%98%EB%94%94-%EB%B0%94%EC%9D%B8%EB%B2%A0%EB%A5%B4%ED%81%AC%20%EB%B2%95%EC%B9%99

3) http://evieiraapbio.blogspot.com/2016/05/hardy-weinberg-equilibrium.html

4) http://www.hammiverse.com/instructionalunits/evolution/chp22-25lecture/print/lecture2-4.html





하디-바인베르크 평형 (Hardy-Weinberg equilibrium) End

BioinformaticsAndMe

'Biology' 카테고리의 다른 글

세포핵 (Cellular nucleus)  (0) 2019.10.08
눈의 구조 (Human Eye Anatomy)  (0) 2019.10.03
박테리아 성장곡선 (Bacterial growth curve)  (0) 2019.09.21
항체 (Antibody)  (0) 2018.09.16
비교유전체학 (Comparative genomics)  (0) 2018.09.07

API 기초 학습 Start

BioinformaticsAndMe






왜 API가 필요한가?

1. 데이터가 급속하게 변화된

주식시장의 주가를 생각해보자. 시시각각 변하는 주가를 웹사이트에서 매순간 다운받고, 로딩하는 일은 소모적인 일이다.

2. 변화된 작은 부분을 원한다

트위터의 코멘트를 생각해보자. 트위터에 달린 코멘트 몇 개를 얻기 위해, 트위터 모든 DB를 내려 받는 것은 슬픈 일이다.

3. 반복적인 작업이다

날씨 정보를 얻고싶다. 아침마다 기상청에 들어가 날씨 데이터를 다운받는 일은 힘들다..



위 언급된 이유 중 하나로 우리는 API를 시작한다







그래서 API가 뭐지?

: Application Program Interface

: 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
: 컴퓨터 코드를 사용하여 데이터를 검색하거나, 데이터를 보낼 수 있는 서버


API로부터 데이터를 받고자 할 때, 말그대로 Request(요청)가 필요하다.

Request는 모든 웹상에서 사용된다.


예를 들어, 방문자들이 여기 블로그 포스트(bioinformaticsAndMe)를 방문했을 때,

방문자의 웹브라우저는 bioinformaticsAndMe 웹 서버에 Request를 보낸다.

요청을 받은 bioinformaticsAndMe 서버는 응답하여 해당 콘텐츠를 보여준다







#Reference

1) https://www.dataquest.io/blog/python-api-tutorial/

2) https://www.testdevlab.com/blog/2018/06/an-introduction-to-testing-apis-using-rest-assured/

3) https://ko.wikipedia.org/wiki/API






API 기초 학습 End

BioinformaticsAndMe

'Program' 카테고리의 다른 글

Jupyter notebook (주피터 노트북)  (0) 2019.11.14
[Kubernetes] 쿠버네티스 소개  (0) 2019.10.18
Docker 설치  (0) 2018.09.03
Docker 시작하기  (1) 2018.07.17
[Pachyderm] Splitting Data for Distributed Processing (분산처리)  (0) 2018.07.08

경사하강법 종류 Start

BioinformaticsAndMe






경사하강법 종류 (Types of Gradient Descent)

Gradient Descent Learning에는 기본적으로 3가지 타입이 존재

*경사하강법 배치 - 단일 반복에서 기울기를 계산하는 데 사용하는 예의 총 개수

*배치가 너무 커지면 단일 반복으로도 계산하는 데 오랜 시간이 걸림




1. Batch Gradient Descent

: 파라미터를 업데이트 할 때마다 모든 학습 데이터를 사용하여 cost function의 gradient를 계산

: Vanilla gradient descent 라고도 불림
: 불필요하게 낮은 learning 효율을 보일 수 있음



2. Stochastic Gradient Descent (SGD)

: 파라미터를 업데이트 할 때, 무작위로 샘플링된 학습 데이터를 하나씩만 이용하여 cost function의 gradient를 계산

: 모델을 훨씬 더 자주 업데이트하며, 성능 개선 정도를 빠르게 확인 가능

: Local minima 에 빠질 가능성을 줄일 수 있음

: 최소 cost에 수렴했는지의 판단이 상대적으로 어려움




3. Mini Batch Gradient Descent (Mini batch SGD)

: 파라미터를 업데이트 할 때마다, 일정량의 일부 데이터를 무작위로 뽑아 cost function의 gradient를 계산

: Batch gradient descent 와 Stochastic gradient descent 개념의 혼합

: SGD의 노이즈를 줄이면서, 전체 배치보다 효율적

: 널리 사용되는 기법










#Reference

1) https://medium.com/mindorks/an-introduction-to-gradient-descent-7b0c6d9e49f6

2) https://developers.google.com/machine-learning/crash-course

3) https://towardsdatascience.com/gradient-descent-algorithm-and-its-variants-10f652806a3






경사하강법 종류 End

BioinformaticsAndMe

'Machine Learning' 카테고리의 다른 글

[TensorFlow] 기본 연산  (0) 2019.10.04
[TensorFlow] 문자열 출력  (0) 2019.10.03
학습률 (Learning rate)  (0) 2019.09.24
경사하강법 (Gradient descent)  (0) 2019.09.18
머신러닝 선형회귀 (ML, Linear regression)  (0) 2019.09.16

Variable (Python 변수) Start

BioinformaticsAndMe






Variable (변수)

: 파이썬 변수는 값을 저장하는 장소

: 변수는 메모리 주소를 가짐 (변수에 들어가는 값은 메모리 주소에 할당)

: 변수는 이름이나 x, y, z 등과 같은 알파벳으로 선언 가능

: 파이썬는 숫자, 문자열, 리스트, 튜플, 사전 등의 여러 데이터 형태를 변수로 저장





#Example

x 변수에 숫자 5 할당

y 변수에 문자 John 할당

x = 5
y = "John"

변수 x, 변수 y 출력
print(x)
print(y)
5
John





#변수 이름 작성

ㄱ) 알파벳, 숫자, 언더스코어( _ ) 로 선언

money = 0

_b124 = 4

_gsg = 'wffw'


ㄴ) 변수명은 간단하게라도 의미를 가지도록 표기

learning_rate_value = 3


ㄷ) 알파벳 대소문자 구분

ABCD 는 abcd 와 같지 않음


ㄹ) 파이썬 내 기능을 갖는 특수어를 변수로 사용하지 않음

if(조건문), for(반복문)


ㅁ) 숫자로 시작하는 변수는 불가능

1team, 2and1








#Reference

1) https://www.w3schools.com/python/python_variables.asp

2) https://www.guru99.com/variables-in-python.html

3) https://realpython.com/python-variables/






Variable (Python 변수) End

BioinformaticsAndMe

'Python' 카테고리의 다른 글

Anaconda 설치  (0) 2019.10.08
Python JSON  (0) 2019.10.02
Python API  (0) 2019.09.30
Python이 성장하는 7가지 이유  (0) 2019.09.17
Python 시작  (0) 2019.09.04

[Genotyping] SNP Array Start

BioinformaticsAndMe






SNP array

: 유전변이형을 알아내는 실험 방법

>한 개의 SNP genotyping - TaqMan, SNapShot, MassArray

>대규모의 SNP genotyping - SNP array (Illumina chip, Affymetrix chip)


#SNP(Single Nucleotide Polymorphism): DNA 서열에서 하나의 염기서열(A,T,G,C)의 차이를 보이는 변이


SNP Chip array는 NGS에 밀려 예전만큼 보편적이지 않지만,

코호트 스터디나 유전자분석 서비스 등에서 여전히 상용되고 있음

현재, 일반적으로 상용화된 SNP Chip을 판매하는 두 업체는 Illumina와 Affymetrix (Affy는 최근 Thermofisher에 흡수)


두 업체 내에서도 SNP Chip의 여러 버전이 있으므로 연구 디자인 과정에 주의할 필요가 있음
최근에는 아래 두 제품을 밀고 있는 것으로 보임
*Illumina: GSA chip (Global Screening Array)
*Thermofisher: PMRA chip (Precision Medicine Research Array)






#아래는 Du Y et al (2017) 논문에 제시된 SNP Chip 비교 내용이다
: 회색 표시는 해당 칩에서 Genotyping 할 수 있는 SNP 개수
: 회색 대각선을 기준으로 우측 상단부가 서로 다른 칩 사이에서 교차하는 SNP 개수
*여기서 교차한다는 의미는 유전체 상에서 같은 Position을 본다는 의미
*예를 들어, Axiom PMRA와 Illumina GSA 사이는 128,503개의 SNP가 겹침





#GSA 와 PMRA에 담긴 SNP들은 7가지의 특성을 갖는다
(1) Genome-wide imputation grid

(2) Global population specific variants
기존 SNP는 서양인에 집중되어 있었는데, 아시아인을 포함해 여러 인구집단에서 활용할 수 있는 SNP를 업데이트

(3) Variants from GWAS Catalog and common cancer variants
GWAS catalog 변이와 암 관련 변이들을 포함

(4) Rare functional variants from ClinVAR, ExAC consortium
Clinvar, ExAC 기반 희귀질환 변이들을 포함

(5) Variants with pharmacogenomic effects including those from PharmGKB databases
PhargmGKB 약물유전체학 기반 변이들을 포함

(6) HLA region and CNV variants
HLA(human leukocyte antigen) 영역의 변이들과 CNV 변이들을 포함
*참고: HLA를 통해 면역관련 인자와 암 사이의 연관성을 밝히는 연구들이 존재

(7) Fingerprinting variants
사람의 신원확인을 위해 사용되는 변이들을 포함









마무리하며..
하나의 칩으로 볼 수 있는 SNP 개수가 많으면 좋겠지만,
무작정 많은 것이 제일 좋은 SNP chip은 아니다.
예를 들어, 100만개를 볼 수 있는 SNP chip이 있는데,
절반이 missing value거나 정확도가 매우 떨어진다면 문제이다.
SNP Chip 연구는 일반적으로 대규모로 수행되기에, SNP개수/정확도/가격/TAT 등 고려할 요소가 많다.




#Reference
1) https://www.futurelearn.com/courses/the-genomics-era/0/steps/4904
2) https://ko.wikipedia.org/wiki/%EB%8B%A8%EC%9D%BC%EC%97%BC%EA%B8%B0_%EB%8B%A4%ED%98%95%EC%84%B1
3) https://www.illumina.com/content/dam/illumina-marketing/documents/products/datasheets/infinium-commercial-gsa-data-sheet-370-2016-016.pdf
4) https://pdfs.semanticscholar.org/0f24/906e9daf5477088c2edf18b646bf79409cf3.pdf
5) https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5604942/




[Genotyping] SNP Array End

BioinformaticsAndMe

'Technology' 카테고리의 다른 글

[Northern blotting] 노던 블로팅  (0) 2019.10.09
[Southern blotting] 서던 블로팅  (0) 2019.10.01
[NGS] Epigenetic sequencing  (0) 2019.05.26
[NGS] Targeted gene panel  (0) 2018.08.19
[NGS] Target Enrichment(Capture) assay  (0) 2018.08.14

K-means clustering (R 군집분석) Start

BioinformaticsAndMe






K-means clustering

: K-평균 클러스터링은 주어진 데이터를 K개의 클러스터로 묶는 알고리즘

: 각 클러스터와 거리 차이의 분산을 최소화하는 방식으로 작동

: 자율 학습의 일종

: Label이 없는 입력 데이터에 Label을 표지하는 역할을 수행



K-means clustering 과정
1) 새로운 변수 설정
iris2 <- iris 

2) 5번째 컬럼 제거                   
iris2$Species <- NULL 
  
3) kmeans 알고리즘으로 클러스터링 3개 생성
kmeans.result <- kmeans(iris2, 3)            


4) 실제 클러스터링 결과 점검을 위해, 테이블을 생성하여 비교
table(iris$Species, kmeans.result$cluster)              


5) 시각화
plot(iris2[c("Sepal.Length", "Sepal.Width")], col = kmeans.result$cluster, pch=15)            

6) 각 클러스터 중심 그리기 (centers : 각 클러스터별로 컬럼의 평균값을 나타낸 것)
points(kmeans.result$centers[,c("Sepal.Length", "Sepal.Width")], col= 1:3, pch=8, cex=4)


 


#Reference

1) http://pypr.sourceforge.net/kmeans.html

2) http://ropatics.com/data-mining/r-and-data-mining/RDM-Clustering.html






K-means clustering (R 군집분석) End

BioinformaticsAndMe

'R' 카테고리의 다른 글

Hierarchical clustering (R 계층적 군집화)  (0) 2019.10.04
K-medoids clustering (R PAM)  (0) 2019.09.30
if, else, else if, ifelse (R 조건문)  (0) 2019.09.16
while, for (R 반복문)  (0) 2019.09.16
R, as.Date (날짜 변환)  (0) 2019.06.03

+ Recent posts