gieyoung0226의 등록된 링크

키자드에 등록된 총 182개의 포스트를 확인하실 수 있습니다.

Naver Blog

T2D 발병에 미치는 요인들의 영향력 조사

순서 한줄 요약 Abstract Reference https://doi.org/10.1038/s41598-019-39145-x 한줄요약 : SNPs, 부모의 영향 그리고 비만은 T2D 변이성의 27.3%(8.4%, 11.8%, 7.1%)만 설명할 수 있었다. Abstract : 제 2형 당뇨병(T2D)의 발병과 연관있는 요인들에 대해 영향력을 조사하였고, 총 1,234명의 비당뇨군과 1,219명의 당뇨군을 비교하였으며 재현은 2,904명과 1,901명에서 진행함. 그 결과 모든 요인은 T2D 변이성의 27.3%만을 설명할 수 있었으며, SNPs(8.4%), 부모력(11.8%), 비만(7.1%) 순으로 기여함. 이러한 요인들은 남성(33.2%)보다 여성(25%)에서 더 큰 역할을 하였으며, 특히 46세 이전에 진단된 경우에 더 강함(46.7% vs. 30%). 유전자는 남성에서 여성보다 훨씬 중요한 역할을 하였으며, 반면에 비만과 부모력은 성별에 상관없이 비슷한 역할을 함. Refer

Naver Blog

커피원두의 품질 및 로스팅과 암의 상관관계

순서 한줄 요약 Abstract Reference https://doi.org/10.1016/j.foodres.2020.110089 한줄요약 : 커피 로스팅과 콩의 품질이 낮을 수록 암 발병률과 관련이 있다. Abstract : 커피 원두의 로스팅 과정에서 발암성과 연관된 다환방향족탄화수소가 형성되는데, 커피 원두의 품질과 로스팅 정도가 돌연변이 유발성, 세포 독성 및 유전 독성에 미치는 영향을 평가함. 1. 돌연변이 유발률 및 독성을 확인하는 TA98 균주에서 상업용 원두 샘플(진한 로스팅)의 가장 높은 농도가 돌연변이의 수를 유의미하게 증가시켰음. 2. 모든 샘플이 인간 간암 종양에서 유래한 HepG2 세포에 세포 독성을 유발함. Reference : https://doi.org/10.1016/j.foodres.2020.110089 Elsevier Your request cannot be processed at this time. Please try again later. Cop

Naver Blog

DNA 메틸화 분석 기초 원리 (Microarray)

순서 한줄요약 Bisulfite 방법 이를 이용한 microarray 방법 Illumina의 방법 분석도구 Reference 한줄요약 : Cytosine(C)에 methylation(Me)이 일어난 위치를 찾는 방법 Bisulfite 방법 : 염기서열 중 Cytosine(C)에 methylation(Me)이 일어난 위치를 찾아야 하는데 염기서열은 그대로 존재하기 때문에 Genotyping 하듯 알아낼 수 없다. 그래서 아래 사진처럼 methylation이 일어나면 염기가 변하지 않는다는 특징을 활용한 방법이 bisufite방법이다. 이를 사용하면 methyl기가 붙지 않은 "C"는 "U"로, PCR 를 진행하면 "T"로 변하게 된다. DNA Methylation - Bisulfite conversion - Epigenetics | Diagenode 이를 이용한 microarray 방법 : 위에 말한 것 처럼, bisulfite 진행 시 methylation이 일어난 부위에는 "C"

Naver Blog

D-prime(D') 과 R-square(R2)의 차이

순서 한줄요약 LD와 D'과 R2란? D'과 R2 계산 수식 D'과 R2 의 차이 한줄 요약 : R2 : 대립유전자까지 같이 유전됨, D' : 같이 유전됨 LD와 D'과 R2란? 부,모로 부터 받은 유전변이(SNP)들은 블럭처럼 뭉텅이로 유전되며, 이로 인해 유전변이들이 서로 독립적으로 유전되지 않는 현상을 Linkage Eisequilibrium(LD)란 연관 불균형이라고 한다. 더 자세한 설명은 GWAS란? 참조 유전변이들의 상관관계를 수치로 설명하는 것이 D'(D-prime)과 R2(R-square)다. D'과 R2 계산 수식 이전 포스팅에 기재해두었으니 궁금하신 분들은 아래 이미지를 토대로 따라해보시길 추천한다. D'과 R2 계산 수식 참조 R-sq = 1 D' = 1 Haplotype Frequency Expectation under LE --------- --------- -------------------- AC 0.4655 0.216690 GC 0 0.248810 AA

Naver Blog

Intensity normaliztion in Infinium

순서 한줄요약 Normalization 과정 한줄요약 Allele specific intensities are normalized using Gencall algorithm Normalization 과정 Illumina의 probe design(bead type)에 따라 infinium1, infinium2 로 나뉘는데 서로 상이한 probe design 때문에 infinium1이 커버하는 loci와 infinium2가 커버하는 loci는 별도의 구간으로 나뉘어 normalization이 진행된다. Normalization 구간 내 loci의 수가 적은 경우(<192 loci), normalization 과정에 부정적인 영향을 미칠 수 있음. Infinium1,2의 probe design에 대한 설명은 이전 포스팅에 정리해두었다. DNA 메틸화 분석 기초 원리 (Microarray) Reference : doi: 10.1186/1471-2105-9-409 gentrain-tech-n

Naver Blog

GTEx) eQTL p-value의 의미

순서 GTEx란 eQTL이란 eQTL p-value의 의미 한줄요약 GTEx(Genotype-Tissue Expression)란 eQTL 또는 sQTL와 같은 정보를 찾을 때 대표적으로 사용되는 데이터베이스인 GTEx에는 유럽인종에서 다양한 조직에서 유전자 발현 패턴을 분석하고 유전자 발현과 유전자 변이의 연관성을 확인하는 것을 목표로 하는 프로젝트이다. 우리는 여기서 genomics과 transcriptomics의 연관성을 확인해볼 수 있다. eQTL(Expression Quantitative Trait Loci)이란 eQTL 이란 유전자 변이와 유전자 발현 간의 연관성으로 보면 된다. 유전자로부터 생성된 RNA 전사물의 양(expression QTLs, eQTLs, 곧 expression 양이 달라지게 하는 QTL) 또는 단백질의 양(protein QTLs, pQTLs)으로 나타낼 수 있다. 이러한 분자 표현형(expression RNA or protein 등의 molecular

Naver Blog

SAIGE 결측치 처리

SAIGE의 경우, 결측치(missing data) 를 imputation을 진행하여 계산에 포함시킨다. 때문에, missing data 를 가진 샘플은 제거하는 게 좋으며, plink처럼 -9 로 처리했다간 인식해버리니 NA 로 기재하는 방법도 존재한다. https://saigegit.github.io/SAIGE-doc/docs/single_step2.html Step 2 Just the Docs is a responsive Jekyll theme with built-in search that is easily customizable and hosted on GitHub Pages. saigegit.github.io

Naver Blog

NGS data imputation

순서 NGS data imputation pipeline Reference NGS data imputation "joint genotyping" 기반 imputation gvcf를 사용한다면 calling 되지 않은 genotype 을 확보할 수 있음. 이의 원리는 Joint genotyping 이라는 통계 모델을 기반으로, cohort에 존재하는 WES 또는 WGS cohort에서 gatk 를 사용하여 진행할 수 있음. 장점은 platform이 다르더라도 같은 참조서열을 사용하여 만들어진 gvcf를 사용한다면, joint genotyping이 가능함. 단, 샘플 사이즈가 증가할수록 오류도 축적될 수 있기 때문에, 이후에 QC를 꼭 필요로 함. GWAS 처럼 imputation tools로도 사용이 가능하나 ,IMPUTE tool 이 유료다보니, 기업에서 쓰기에 적합하고, 여러 논문에서 사용되는 추세임. 이를 위해 reference 로 사용될 WGS cohort 가 필요하며, 100

Naver Blog

연속형 기계학습 모델 수식

기계학습 모델을 활용하여 어떤 값(=종속변수)을 예측하기 위한 모델을 만들기 위한 수식(Formula)는 아래와 같이 정의해볼 수 있다. ex) 피부색 ~ 나이 + 설문조사항목 + 임상정보 + 유전정보 이때 독립변수(=나이, 설문조사항목, 임상정보, 유전정보)가 어떤식으로 사용되는지 알아보기 위해 대표적인 모델 4가지의 수식은 아래와 같다. 1. Linear regression model 2. SVM linear kernel model 3. PLS (Partial Least Squares) model 4. Xgboost model xgboost의 경우 사용되는 파라미터에 대해서는 아래와 같다. best_nrounds = 모델 학습 시 지정한 최대 트리 개수(=반복 횟수) max_depth = 각 트리의 최대 깊이(=분기) eta = learning rate(=각 트리의 출력값에 0.1을 곱해 모델의 예측값에 반영) gamma = 성능 향상이 "gamma" 이상일 때, 새로운 깊이(=

Naver Blog

apply, lapply, sapply 간단 요약

for문과 apply문 차이 for문 apply문 속도 큰 데이터에서 매우 느림 R의 장점인 벡터화로 속도 빠름 유연성 for문 내에 for문 작업 가능 apply문 안에 apply문을 추가할 수 없음. (경험상 복잡하게 짜면 for문과 속도차이 없음) apply문 간단 요약 apply lapply sapply 데이터 행렬(matrix) 리스트(list), 벡터(vector) 리스트(list), 벡터(vector) 적용 단위 행(1), 열(2) 리스트 또는 벡터의 각 요소 리스트 또는 벡터의 각 요소 반환값 벡터, 행렬, 리스트 리스트 벡터, 행렬, 리스트 비교 예제 코드 > mat <- matrix(1:9, nrow = 3, byrow = TRUE) > apply(mat, 1, sum) [1] 6 15 24 > packages <- c("ggplot2", "dplyr","caret") > sapply(packages, print(class)) function (x) .Primiti

Naver Blog

ICD10 Code - Neoplasm

의료 기록(Clinical information)의 표준화는 의사가 아닌 나와 같은 사람들에게 보다 정확하게 각 질병에 대한 이해를 도와줄 수 있다. 예를 들어 유방암 이라고 한다면 전이성, 침윤성, 발생위치 등에 따라 Malignant neoplasm of breast, Lobular carcinoma in situ, Intraductal carcinoma in situ, Other carcinoma in situ of breast, Carcinoma in situ of breast, unspecified 등 다양하게 나뉠 수 있다. 나와 같이 의사가 아닌 사람들은 임상정보만으로 어떤 암인지 구분하는 것이 어렵고, 구분한다고 하더라도 정확성을 검증 할 수 없다. 다양한 질병 및 상태에 대해 전문가가 정의를 해준다면, 의료정보를 사용하는 연구자의 입장에서는 편리함과 정확성을 가져갈 수 있다. 이를 위해 ICD-10(10차 버전, International Classification o

Naver Blog

GWAS)로지스틱 회귀(2) - 관측값의 예측 확률

로지스틱 회귀분석(logistic regression analysis)를 설명하기 위해 GLM의 MLE를 사용하여 회기계수를 계산하는 수식과 영상을 이전 포스트에서 설명하였다. 이을 통해 i번째 관측값에 대한 예측된 확률(πⅰ, =종속변수의 확률)을 예측할 수 있다. GLM으로 계산된 회기계수를 사용하면 i번째 관측값에 대한 에측된 확률을 계산할 수 있게 된다. χⅰ : 독립변수 Y : 종속변수(0 or 1) πⅰ 값 :ⅰ번째 관측값에 대한 예측된 확률 P(=1|χⅰ ) : χⅰ가 주어졌을 때, Y=1 일 확률 ß =로지스틱 회귀에서 추정된 값 로지스틱 회귀분석은 이항(Binary)분류 문제에서 진행하기에 종속변수 Y= 0 or 1로만 존재하며 최대 우도 추정법을 통해 게산된 회기계수(ß)를 추정하고, 이을 통해 i번째 관측값에 대한 예측된 확률(πⅰ, =종속변수의 확률)을 예측할 수 있다. 참고자료 : https://www.cog-genomics.org/plink/2.0/assoc

Naver Blog

GWAS)로지스틱 회귀(1) - 최대 우도 추정법

로지스틱 회귀분석(logistic regression analysis)는 이항(Binary)분류 문제에서 진행하기에 종속변수 Y= 0 or 1로만 존재하며 비선형을 선형으로 '일반화'시키는 일반화 선형모형(generalized linear model, GLM) 의 하나에 속하는 방법이다. GLM은 최대 우도 추정법(Maximum Likelihood Estimation, MLE) 를 통해 회기계수를 계산하게 된다. Y : 종속변수 ß0 =모델절편 ß1, ß2 , ... , ßn = 각각의 공변량에 대해 glm으로 계산된 계수값 χ1, χ2 , ... , χn = 각각의 독립변수 ε = 오차항 수식으로 보기 어렵다면, 아래 유튜브에 최대 우도 추정법에 대해 영상으로 설명하는 부분이 있으니 참고하면 좋을 것 같다. 참고자료 : https://www.cog-genomics.org/plink/2.0/assoc#glm Association analysis - PLINK 2.0 Associati

Naver Blog

GWAS)로지스틱 회귀(3) - 공변량(covairate)

Y : 종속변수 ß0 =모델절편 ß1, ß2 , ... , ßn = 각각의 공변량에 대해 glm으로 계산된 계수값 χ1, χ2 , ... , χn = 각각의 독립변수 ε = 오차항 공변량을 사용하면 어떤 부분에서 이점이 있을까? 공변량을 사용함으로서의 이점 : 간단하게 설명한다면 "잡음을 최소화" 할 수 있다는 이점이 있다. 예시로 치매를 들어보자면, Late Onset Alzheimer disease(LOAD)의 경우 Age와 Gender에 영향을 받는다고 알려져있다고 가정해보자(실제로도 그러하다). 그렇다면 아래와 같이 Age 와 Gender를 공변량으로 사용함으로서, SNP 외 다른 "잡음을 최소화" 할 수 있도록 보정해줄 수 있다. 참고자료 : https://www.cog-genomics.org/plink/2.0/assoc#glm Association analysis - PLINK 2.0 Association analysis Linear and logistic/Firth re

Naver Blog

유전자를 통한 T2D 이질성 확인

Abstract 6가지 인종에 대해 T2D 환자 428,452명, 비환자군 2,535,601명을 민족간 이질성을 고려한 메타분석(MR-MEGA) 를 통해 1,289개의 다형성 마커를 확인하였다. 그리고 재미있는건, 제2형 당뇨병의 이질성을 확인하기 위해 1,289개 다형성 마커의 risk allele을 index SNVs로 정의하여 37개의 심혈관대사(cardiometabolic) 형질과의 연관성을 확인하여 유사한 심혈관 대사 형질을 가진 8개의 중복되지 않는 index SNV 하위집합을 식별하였다. 유럽인들의 경우 주로 인슐린 저항성이 증가하여 T2D가 시작되지만, 동아시아인들의 경우 인슐린 분비가 감소하고 인슐린 저항성이 낮은 것으로 특징 지어진다는 인종 간 T2D 병인학에 대한 연구 결과와 일치하는 결과를 보였다. 물론 T2D 환자 대부분이 유럽인(60.3%) 이였기에 유럽인을 제외한 인종 중 그 수가 적은 경우 정확도가 떨어질 수 있지만, T2D의 이질성을 유전자를 활용하여

Naver Blog

BI 대학원생을 위한 논문정리 탬플릿 공유

제가 논문을 읽고 난 뒤에 정리하는 노션 탬플릿 입니다 :) 노션의 경우, 카테고리화할 수 있어 다시 찾을 때 편하더라구요. 공유드릴 탬플릿은 제가 주로 보고있는 GWAS, 기술논문, 특정 형질에 대해 임상논문들을 읽고 있어서 이에 따라 게재지, 주제, 소주제 그리고 인종을 구분한 탬플릿 입니다. 사용자가 직접 수정할 수 있으니 말 그대로 탬플릿으로만 사용하시구, 복제하여 수정하시면 되어요. 노션 예시 복제 방법 : 1. 아래 링크 접속 https://bioinformatician.notion.site/3dcf276e9f544b1abfc2aa09037f6bd4?v=f4102f953f674b0db245841947f5b6e4&pvs=4 논문 정리 | Notion Built with Notion, the all-in-one connected workspace with publishing capabilities. bioinformatician.notion.site 2. 탬플릿을 복제할 본인

Naver Blog

Sensitivity, Specificity, AUC 그림 설명

Sensitivity, Specificity, AUC 한 줄 요약 민감도(Sensitivity) = 암환자를 “암” 이라고 진단할 확률 특이도(Specificity) = 정상인을 “정상” 이라고 진단할 확률 AUC(Area Under the ROC Curve) = 정상인과 암환자를 정확하게 진단할 확률 예시 : 건강이 의심되는 환자가 의사에게 진단 받는 경우 민감도 와 위음성 특이도와 위양성 ROC curve

Naver Blog

생존분석)Cox regression analysis 수식

Cox regression analysis 설명 생존 분석에 사용되는 통계적 기법 중 하나인 Cox regression analysis는 관찰 기간에 따라 사건 발생에 영향을 미치는 요인들을 평가함. 수식 ß1, ß2 , ... , ßp = 각각의 독립변수(=공변량)에 대해 회귀(regression)로 계산된 계수값 χ1, χ2 , ... , χp = 각각의 독립변수(=공변량) Beta값은 앞서 공변량(covariate)에 설명한 것과 같이 regression 방법을 통해 계산됨 수식 실제 예시 χ1 : 나이 χ2 : 흡연 여부 ß1 : 0.03 ( = 양수임으로 나이가 증가할 수록 위험이 증가) ß2 : -0.05 ( = 음수임으로 흡연을 한다면 위험이 감소) 곧 위험비율은 약 2.7배 증가한다고 볼 수 있다.

Naver Blog

UK Biobank에서 인슐린 저항성에 대한 유전자 연구

인슐린 저항성(Insulin resistance, IR)은 TG(중성지방)/HDL-C 의 비율과 강한 연관성을 가지고 알려져 있다[1-3]. IR를 종속변수로 사용하여 UK Biobank에서 SAIGE 분석을 통해 369개의 독립적인 SNP들을 확인하였고, IR에 대한 다른 연구들에서replication(P<0.05)인 114개의 유전자좌(loci)를 확인하였다. 확인된 114개의 유전자좌에 대해 51,550 명의 Michigan Genomics Initiative (MGI)에서 Effect size 를 다시 계산하여 PRS model를 구축하였다[4]. 1. https://doi.org/10.1016/j.clnu.2017.06.018 2. https://doi.org/10.1371/journal.pone.0154345 3. https://doi.org/10.1186/s12944-016-0270-z 4. https://doi.org/10.1016/j.xgen.2023.100257 M

Naver Blog

Jonckheere-Terpstra test (다중 그룹의 순위 검증)

순서 Jonckheere-Terpstra test 한줄 요약 Jonckheere-Terpstra test 설명 Jonckheere-Terpstra test 수식 Jonckheere-Terpstra test 예시 Jonckheere-Terpstra test 한줄 요약 : Jonckheere-Terpstra test (용크헤이러-데르프스트라 검정) 은 "세 개 이상의 그룹" 간에 "순위"를 비교하기 위한 "비모수적" 검정방법이다. Jonckheere-Terpstra test 설명 : Jonckheere-Terpstra 는 아래 3가지로 나뉘게 된다. 1) Two -side test (그룹 간 차이가 존재하는가) 2) Increased (그룹의 순서에 따라 순위가 증가하는가) 3) Decreased (그룹의 순서에 따라 순위가 감소하는가 그중 2) Increased 을 기준으로 설명을 해보면 아래와 같다. 귀무가설 : 그룹의 순서는 없다. 대립가설 : 그룹의 순서에 따라 순위가 증가한다.

Naver Blog

GCTA-COJO independent SNPs 확인

GCTA-COJO (Genome-wide Complex Trait Analysis Conditional and Joint Association Analysis) 순서 GCTA-COJO 한줄요약 Conditional Analysis (조건부 분석) Joint Analysis (공동 분석) 예제 코드 예제 데이터 결과물 Reference GCTA-COJO 한줄요약 : 변이들의 "독립적인 변이" 확인하기 위해 사용됨 Conditional Analysis (조건부 분석): 특정 유전적 변이의 효과를 다른 유전적 변이의 효과를 조정한 후 평가를 진행함. 예를 들어, A와 B라는 두 변이가 있고, A의 효과를 평가할 때 B의 영향을 제거(조정)함. 이를 통해 A의 독립적인 효과를 평가할 수 있음. 이는 LD (Linkage Disequilibrium, 연관 불균형)로 인해 발생할 수 있는 bias를 제거함. Joint Analysis (공동 분석): 여러 유전적 변이들의 효과를 동시에 평가,

Naver Blog

genotypes or sequence reads로 인종을 추적하는 방법(TRACE)

doi: 10.1093/bioinformatics/btx075 순서 TRACE 한줄요약 Abstract TRACE 한줄요약 : KNN 방법으로 인종을 추적하는 방법 Abstract : 여러가지 다른 연구들의 조상(인종)에 대해 직접적인 비교가 가능할 수 있도록 만들어진 방법으로, 샘플 당 genotype or sequence data만 있다면 비교가 가능하다. Genetic level에서 "TRACE"라는 도구가 필요한 이유는 인종의 다양성 때문이다. 우리나라의 경우 대부분 east asian으로 이루어져 있지만, European 또는 America의 경우 다양한 인종들이 함께 모여 산다. 함께 산다고 하더라도 유전적으로는 서로 다를 수 있는데, 대표적인 예시로 아래에 1000Genome project의 PCA plot을 본다면, 인종에 따라 서로 다른 cluster를 이루는 것을 볼 수 있다. 곧 인종에 따라 genotype 정보가 상이한 것을 알 수 있는데, 인종의 정보를 모르는

Naver Blog

Conditional and joint analysis(GCTA)

순서 한줄 요약 Abstract Reference doi:10.1038/ng.2213 한줄 요약 : GWAS summary statistics 에서 LD 내의 독립 변이 또는 공동 변이를 추적함. Abstract : GWAS 메타분석에서 얻은 summary statistics 와 reference samples의 LD 데이터로 Conditional & Joint analysis를 진행함. 이 방법을 BMI GWAS 메타분석에 적용하여 49개의 추가 SNP를 포함하는 36개의 loci를 식별하였고, 이 49개의 추가 SNP는 약 1.3%의 분산을 설명함으로서 36개의 loci에서 설명되는 유전성이 약 2배 증가하였다. Reference : doi:10.1038/ng.2213 https://yanglab.westlake.edu.cn/software/gcta/#COJO GCTA | Yang Lab GCTA a tool for Genome-wide Complex Trait Analysis

Naver Blog

WGCNA-1, scale free network

Expression matrix Calculate Adjacency matrix Calculate TOM Similarity matrix WGCNA 논문에서 adjacency matrix에 대해 살펴보면 아래와 같다. P. Langfelder, S. Horvath, WGCNA: an R package for weighted correlation network analysis, BMC Bioinfo, 9, 559 (2008) 정리하자면 Expression data matrix 에서 수학적인 계산 방법으로 scale-free network 형태로 변환시켜 적절한 adjacency matrix 를 찾아간다. adjacency matrix를 계산하는 방법은 간단하게도 |cor(genei, genej)|Power of scale-free topology 인데 Power of scale-free topology 중 그중 scale free 가 무엇인지 알아보자. Scale-free networ

Naver Blog

WGCNA-2, TOM(Topological Overlap Matrix)

Expression matrix Calculate Adjacency matrix Calculate TOM Similarity matrix TOM 이란? Topological Overlap Matrix 의 약어로서 TOM의 을 통해 직접적인(aij) 관계와 간접적인(Iij) 관계를 계산하는 방식이며 이를 통해 두 유전자의 유사성(similarity)를 계산할 수 있다. 계산과정은 아래와 같다. aij = The adjancency matrix of gene i and gene j. Iij = Gene i와 gene j 사이에 간접적인 관계를 갖는 값의 총량 aij는 검은 동그라미의 유전자들 사이의 관계이며 Iij는 검은 동그라미 주변의 투명한 동그라미 유전자가 여러개인 유전자의 값이다. 직관적으로는 아래 Scale free network. https://en.wikipedia.org/wiki/Scale-free_network 곧 TOM을 통해 직접적인(aij) 관계와 간접적인(Iij)

Naver Blog

sPLS-DA

1. parse PLS discriminant analysis(sPLS-DA) 란 PLS (Partial Least Squares Regression) 목적 : PLS 를 통한 demension 축소 PCA는 Total feature를 통해 분류하지만, PLS 는 feature 와 class 까지 고려한 뒤 rotation을 진행하여 feature가 늘어선 방향이 class 와 잘 일치하는 co-variance 를 찾아주면 samples이 class 에 따라 Clustering 되는 방식을 볼 수 있음. 결국 PCA 기반 regression도 가능하겠지만, Class 에 대한 걸 요구하지 않고 total-variance 만 따지기에 class를 잘 나눌 수 있는 방식을 사용하였음. DA (discriminant analysis) 유전자 > 샘플 수 인 경우, overfitting 이 생길 수 있어 모델을 구축하게 되면 어떤 결과물도 맞출 수 있게 됨. Heatmap 상 같은 clus

Naver Blog

베이지안(Bayessian) 추론

베이지안 모델 이란 어떤 가설의 확률을 평가하기 위해 사전지식(prior)를 갖춘 뒤 관측결과를 기반으로 likelihood 를 계산하며 사전지식을 보정하는 과정을 통해 우리가 아는 지식(pre)을 보충해가는 것을 말함. 그래서 베이지안은 ML에서 중요함. ML은 데이터가 주어졌을 때 FB을 통해 보완해가는 것과 Bayessian 과 같은 개념. 따라서 Bayessian 모델은 인공지능 분야에서 베이지안 추론, 판별분석 등에 사용된다. 실제로 Deep learning(DL), 회귀분석, Bayessian 을 통한 모델들 중 Bayessian 이 정확하게 맞추는 경우가 많아서 중요함. 확률론에서는 기존 빈도를 기반으로한 확률이 있고 Bayessian 이 있다. Bayessian이 인공지능 파트에서 다뤄지는 이유는 "반복을 통해 학습한다" 라는 부분이 DL과 ML 와 비슷함. 베이즈 공식(Bayes formula) P(Bj|A) : 사후확률(Posterior), A가 발생한 경우의 Bj

Naver Blog

판별분석(Discriminant analysis)

sPLS-DA 중 DA (discriminant analysis) 유전자 > 샘플 수 인 경우, overfitting 이 생길 수 있어 모델을 구축하게 되면 어떤 결과물도 맞출 수 있게 됨. Heatmap 상 같은 cluster 유전자 패턴이 비슷한 경우, 생물학적인 이유로 유전자 끼리 서로 independent 하지 않음 이런 경우 model fitting이 잘 안됨 DA 는 이런 경우에도 잘 작동한다고 알려져 있으며, PCA처럼 적은 수의 Component를 뽑아줄 수 있음. 판별분석(discriminant analysis)이란 두개 이상의 모집단(Phenotype)에서 추출된 표본들(Genes)이 지니고 있는 정보를 이용하여 이 표본들이 어느 모집단에서 추출된 것인지를 결정해줄 수 있는 분석 방법. ex) 은행에서 부동산 담보 대출을 행하고자 하는 경우, 채무자가 대출금을 갚을 것인지, 그렇지 않을 것인지의 여부가 중요한 관심사이다. 이 경우 과거에 대출금 반황을 하지 않은 사

Naver Blog

GWAS) Type1 Error, Type2 Error

어떤 검정(test)을 통한 의사결정을 할 때는, 일반적으로 분포(distribution)를 통해 나오는 "확률"을 기준으로 한다. predict \ label 암 정상 암 일 것이다(Positive) TP(예측 : 암, True) FP(예측 : 암, False) 정상인 일 것이다(Negative) FN(예측 : 암 아님, False) TN(예측 : 암 아님, True) 통계학 데이터를 만지다보면 P < 0.05 라는 걸 들어볼 수 있는데, 여기서 1종 오류와 2종 오류 라는 걸 들어봤을텐데 1종 오류란 Positive 로 예측(넌 유의한 snp야!)했지만, 실제론 유의하지 않은 오류 2종 오류란 Negative 로 예측(넌 유의하지 않은 snp야!)했지만, 실제론 유의한 오류 Case, Control 의 수가 서로 불균형하다면 1종오류의 발생확률이 증가(https://www.nature.com/articles/s41588-018-0184-y)하기 때문에 1종오류의 발생확률이 증가하

Naver Blog

GWAS) PCA란

Principal Component Analysis(PCA, 주성분분석) 간단하게 설명하면, "N차원의 변수들을 가장 잘 설명할 수 있는 축" 이다. 이러한 PC(주성분)에는 아래와 같은 특징이 있다. 첫번째 PC 에는 대부분의 변수들의 정보를 최대한 압축하여 입력한 다음 두번째 PC 에 나머지 정보들을 최대한 압축하여 입력하고 세번째 PC 에서도 마찬가지로 나머지 정보들을 최대한 압축하여 진행하는 방식으로 정보를 재활용하지 않기 때문에 서로간의 연관성이 없는, 각 PCs는 서로 연관성이 없다. 이런 정보는 GWAS과 같이 많은 변이를 예측 변수로 포함하는 고차원 데이터세트에서 발생할 수 있는 차원의 저주(Curse of dimensionality)를 해결하기 위해 유용하게 쓰인다. 차원의 저주(Curse of dimensionality) 차원의 저주란 변수의 수가 급격히 증가하는 고차원 데이터를 다룰 때 발생하는 어려움을 지칭하는데, GWAS 또한 같이 수 많은 변이를 예측변수로

Naver Blog

GWAS)PCA 계산 방법(1)

PCA 계산 방법 연속 초기 변수의 범위 표준화 상관 관계를 식별하기 위한 공분산 행렬 계산 공분산 행렬의 고유 벡터와 고유 값을 계산하여 주성분을 식별 유지할 주성분을 결정하기 위해 특징 백터 구축 주성분 축을 따라 데이터 재구성 Step1. 표준화(Standardization) PCA를 진행하기 위해 표준화를 진행하는 이유는, 초기 변수의 분산에 민감하게 반응하기 때문인데, 초기변수의 범위 차이가 크다면, 넓은 범위에 존재하는 변수들은 대부분 좁은 범위에 존재하고, 이는 편차(bias)가 생긴 결과를 가져온다(0~100이라면, 대부분 0,1 사이에 존재함). 수학적으로는 z-score 를 사용하거나 log 값을 취하는 방법으로 표준화를 진행한다. #/bin/Rscript #log, N is number log(A, base=N) #Z-statistic qnorm(A) Step 2. 공분산 행렬 계산 변수들이 서로에 대해 평균과 얼마나 차이가 있는지, 어떤 관계가 있는지 확인하는

Naver Blog

Genetic Relationship Matrix (GRM)

GCTA 와 SAIGE 에서 Genetic Relationship Matrix(GRM) 을 사용하여 GWAS 분석을 진행한다. GCTA에는 total SNPs를, SAIGE에서는 parameter를 추정하기 위하여 null model 에 fitting 하기 위해 sparse GRM을 사용한다. GRM 은 무엇일까? Genetic Relationship Matrix(GRM) Genetic Relationship Matrix는 SNPs와 Individuals 사이의 연관성을 나타내는 matrix이다. GCTA 실습 R code #Make simulate data n=5; m=3 set.seed(10) p = runif(m, min=0.2, max=0.5) ### allele frequency were draw from a uniform distribution x_A1 = t(replicate(n, rbinom(m, 1, p))) ### for the plink ped file x_A2

Naver Blog

논문 pulish 후 느낀점

석사기간동안 연구하던 내용을 썼던 2편의 논문이 최근에 공동1저자로 publish되며 마무리를 지었다. Publish 된 걸 보니까 이제서야 진짜로 대학원을 졸업한 기분이 든다. 학부를 순수 생물학으로 시작했던 내게 Bioinformatics는 매우 어려운 과목이었다. 유전체분석에서 절대로 빠질 수 없는 regression을 위해 배워야 했던 생소한 수학(linear allegra 등), windows가 아닌 linux 그리고 분명 한글로 써있는 KCI 논문임에도 이해하기 어려워하는 나를 보며 '과연 이 분야에서 논문 한 편은 써볼 수 있을까' 라는 생각이 들었었다. 그리고 이런 어려움은 나 혼자만의 어려움이 아닐거라는 생각이 들어서, 블로그에 공부한 내용들을 적기 시작했었다. 다행히 석사 기간동안 많은 지식과 피드백 그리고 연구자의 자세와 마인드를 알려주시고 지도해주신 너무나도 훌륭하신 지도교수님과 여러 발표회에 참여할 수 있는 기회를 주시고 다양한 NGS 데이터들을 분석해볼 수

Naver Blog

SnpEff & SnpSift

변이(variant) 분석을 진행하다보면 한 두개 정도야 dbSNP 와 같은 데이터베이스에 접근해서 rsID, frequency 등의 정보를 볼 수 있지만, 많은 변이들을 확인해야 하거나 다양한 정보들을 확인하기 위해서 일일이 손으로 찾는다면 human error을 범할 수도 있고 시간도 오래 걸리게 될 것이다. 이를 위해 다양한 annotation tool 이 있지만, 그 중 무료로 사용 가능한 snpEff & SnpSift 를 소개한다. SnpEff (SNP Effect): SnpEff는 주로 유전체 데이터에서 발생한 단일 염기 다형성 (SNP), 삽입 및 삭제 (Indels)와 같은 변이들의 기능적 영향을 예측함. 주요 기능: 1. 변이의 기능적 영향을 예측하고, 유전체 주석(annotation)을 제공함. (GRCh38 기준, ensembl ID 로 mapping gene & variant type 제공) 2. 다양한 생물종에 대한 데이터베이스를 활용하여 변이의 기능을 예측함

Naver Blog

PRSise-2

GWAS(Genome-wide association studies)통해 다양한 질병 및 상태와 연관성이 있는 수많은 SNPs를 확인할 수 있다. PRS(Polygenic risk scores,다유전성 위험 점수)는 다양한 연구들에서 확인된 SNPs 에서 개개인의 alleles 의 effect(beta 값 등)을 더하여 다양한 질병 및 상태의 위험도를 계층화 할 수 있도록 도와준다. 이때, 어떤 SNPs를 사용하는 것이 좋을지를 결정하는 것이 필요한데, 가장 간단한 방법으로는 window size 내 가장 높은 p-value를 가지는 snp를 선별하는 방법 이 있지만, 매우 strict 방법이기 때문에, 유의미한 snps까지 제거될 수 있다. 예를 들어 LOAD(Late-onset alzheimer disease)의 APOE 가 있다. APOE type을 결정하는 두개의 snps는 매우 인접해있기 때문에, 일반적인 window size만 고려하게 된다면 둘 중 p-value가 높은 s

Naver Blog

Imbalance GWAS 해결방법

일반적으로 GWAS 를 진행할 때, 처음부터 디자인을 하는 경우가 아니라면 open database를 사용하게 될 것텐데, 계층화(stratification)분석으로 Case Control 을 디자인한게 아니라면 Case 대비 많은 수의 Control samples 을 다루게 된다. Control samples이 많은 상태로 GWAS를 분석하면 나타날 수 있는 문제점들과 해결방안에 대해 이야기 해보자. Control samples이 많은 상태로 GWAS를 분석하면 나타날 수 있는 문제점 1) 편향된 연관성 평가 : Case Control 그룹이 불균형하게 분포되면, 연구 결과가 Control 에 편향되어 실제로는 유의미하지 않은 변이가 통계적인 불균형으로 인해 특정 질병과 연관성을 나타날 수 있음. 2) 상대적으로 적은 수의 Case의 검정력을 낮춤 : 표본 크기가 작은 케이스 그룹은 통계적 검정력(힘)을 낮추게 됨으로 유전적 연관성을 식별하기 어렵게 만들 수 있음. 3) 위험율의

Naver Blog

Chisquare distribution

Credible Set 를 얻기 위해 신뢰구간을 설정하기 위한 분포로서 Chisqure distribution을 사용하는데, Chisqure distribution 에 대해 알아보고자 한다. Chisqure distribution : 확률밀도함수 형태의 경우 아래와 같이 normal distribution과 달리 대칭형태를 이루지 않는다. x축은 quantiles vecotr 이고, y축은 probabilities vector 이다. 이때 degree of freedom(=자유도)를 설정해줄 수 있는데, 보통 GWAS에서 Case-Control 분석을 진행하기에 자유도는 1로 설정한다. 출처 : wikipedia, k=자유도 분포의 합 = 1 임을 이용하여 얻어지는 누적분포함수는 아래와 같다. 출처 : wikipedia, k=자유도 이를 R 로 구현하자면 1) Density 2) distribution function 3) quantile function 4) random gener

Naver Blog

Fine mapping 원리

Fine-mapping 의 목적은 확인된 GWAS variants 로 부터 sets of Causal SNPs 를 확인하기 위한 방법이다. 많은 논문에서 사용 중인 Fine-mapping 방법은 Analytic and Translational Genetics Unit, Massachusetts General Hospital, Boston MA 의 Hailiang Huang 이라는 분이 만든 github 에 올라온 방법이다. 이 방법은 누저 Chisquare distribution 을 적용하여 통계적으로 접근하게 되는데 이에 대한 설명은 아래에 기록해두었다. https://blog.naver.com/gieyoung0226/222653785347 Chisquare distribution Credible Set 를 얻기 위해 신뢰구간을 설정하기 위한 분포로서 Chisqure distribution을 사용하는데, ... blog.naver.com 예를 들어 Case-Control GWAS(

Naver Blog

Correlation coefficient(CC)

Correlation coefficient(CC, 상관계수) 두 변수로 산점도 그래프를 그려보면 직선, 곡선 등 다양한 형태를 가질 수 있는데, 점들이 얼마나 직선에 가까운지 정도를 나타는 데 쓰이는 척도가 상관계수(Correlation Coefficient)이다. 곧, 상관계수란, 두 변수 X, Y 사이의 상관관계 정도를 숫자로 나타낼 수 있다. https://en.wikipedia.org/wiki/Pearson_correlation_coefficient 상관계수가 절대값 1에 가까울 수록, 곧 절대값의 크기가 클 수록 두 변수 X, Y 의 산점도는 직선관계에 가깝고 이는 두 변수 사이의 연관성이 크다는 것을 알 수 있지만, 반대로 0에 가까울 수록 연관성이 매우 약하다는 것을 의미한다. R에 기본으로 내장되어있는 함수 cor를 통해 이를 구현할 수 있다. cor(x, y = NULL, use = "everything", method = c("pearson", "kendall",

Naver Blog

논문요약) Methylation age predictor in mouse

Babraham dataset로서, RRBS libraries를 사용한 new born, 14 weeks, 27 weeks and 41 weeks mice의 Tissues 사용 Elastic-net regression model를 통해 chronological age를 예측한 final predictor 인 329개의 selected CG sites는 DNA methylation levels 은 age 와 높은 연관성이 있었음 Age predictions using the human clock sites in mouse - 인간에서 나이를 예측할 수 있는 specific genomic loci 가 Mouse도 예측할 수 있는지 확인 - 175 개 중 age prediction에 사용할 수 있는지 평가하기 위해 age prediction model을 생성하여 175개의 regions이 age-related information 과 age를 예측할 수 있는지 확인하였을 때 모든 175개

Naver Blog

Seurat (1)

10X 데이터를 분석을 진해하기 위해 cellranger 를 사용하면 barcodes.tsv, genes.tsv 그리고 matrix.mtx 형태의 데이터를 얻을 수 있다. Seurat 에 존재하는 Read10X function를 통해 해당 데이터들을 읽어드리면 gene by barcode(cell) 인 "Matrix" 형태를 얻게 된다. Read10X pbmc.data <- Read10X(data.dir = "../data/pbmc3k/filtered_gene_bc_matrices/hg19/") CreateSeuratObject > pbmc <- CreateSeuratObject(counts = pbmc.data, project = "pbmc3k", min.cells = 3, min.features = 200) > dim(pbmc.data) [1] 32738 2700 > dim(pbmc) [1] 13714 2700 > pbmc.data["OR4F5", 1:12] AAACATACAAC

Naver Blog

t-test 와 t-test 내 p-value의 의미

t-test란? 두 집단의 평균 등의 차이가 의미가 있는지 알아보는 검사방법으로 사용되며, 영가설 하에서 t-분포를 이루는 통계치를 사용한다. t-분포를 구하기 위해서 t-value를 구해야 한다. (Student's) t-value 계산방법 : t = 그룹간 평균의 차이가 클 때 큰 값을 가지게 세팅된 변수로서 그 식은 아래와 같다. t-value 를 통한 p-value 계산방법 : 각 비교하고자 하는 그룹의 분포의 평균(X) 과 표준편차(s) 를 사용하여 (Student's) t-value 를 구했다면 Probability density function(PDF)를 통해 t-distribution을 구하게 된다. 이를 통해 p-value를 구할 수 있다. 아래는 t-distribution의 모습이다. R 에 기본으로 내장되어 있는 t.test 함수를 통해 t값과 p-value를 계산할 수 있다. Reference : https://ko.wikipedia.org/wiki/%EC%8A

Naver Blog

Seurat (2) - FindVariableFeatures

https://github.com/leegieyoung/scRNAseq/blob/master/Seurat/QC.R scRNAseq 코드 및 변수 설명 QC pipeline (One sample) QC <- function(dir,Sample,type){ print("Read10X") raw.QCdata <- Read10X(data.dir = paste0(dir,"/",Sample)) print("CreateSeuratObject") QCdata <- CreateSeuratObject(counts = raw.QCdata, project = type) QCdata[["percent.mt"]] <- PercentageFeatureSet(QCdata, pattern = "^MT-") QCdata[["percent.he"]] <- PercentageFeatureSet(QCdata, features = hemo) QCdata[["percent.ep"]] <- PercentageFeatureSe

Naver Blog

Seurat(3) ScaleData RunPCA JackStraw

https://github.com/leegieyoung/scRNAseq/blob/master/Seurat/QC.R scRNAseq 코드 및 변수 설명 QC pipeline (One sample) NormalizeData FindVariableFeatures ScaleData (features를 통한 수를 정해주지 않으면 2000 개의 유전자로만 진행하게 되기에 정해주는 게 좋음, 이는 PCA 와 Clustering 결과에는 영향을 주지 않지만 DoHeatmap() 에 영향을 줄 수 있음) Shifts the expression of each gene, so that the mean expression across cells is 0. Scales the expression of each gene, so taht the variance across cell is 1 test <- function(x){ + A = paste("sum= " ,sum(x)) + B = paste("var=

Naver Blog

Seurat - Normalize Data & GetAssayData

Seurat 에서 분석 진행 중 Normalized 단계가 있다. pbmc <- NormalizeData(pbmc, normalization.method = "LogNormalize", scale.factor = 10000) 이는 각 Cell 당 Feature(=gene)에 n수의 SD의 크기를 줄이기 위한 방법인데 그 중 default 값인 LogNormalize 에 대해 알아보고자 한다. normalization.method LogNormalize: Feature counts for each cell are divided by the total counts for that cell and multiplied by the scale.factor. This is then natural-log transformed using log1p. 이를 해석하면 이며 아래의 값을 통해 위 식이 맞는 것을 확인할 수 있다. > GetAssayData(pbmc, slot="counts")[c(74,

Naver Blog

Seurat - Integration

Integration 시 features 의 수를 지정하게 되고 그 결과 assay 에 따라 features의 수가 다르다. > dim(GetAssayData(object=Plasma, slot="data",assay="integrated")) [1] 2000 2551 > dim(GetAssayData(object=Plasma, slot="data",assay="RNA")) [1] 33694 2551 그럼 features 의 변화가 있을까? 가 궁금했고 이를 확인해보았다. > GetAssayData(object=Plasma, slot="counts",assay="RNA")[c(23873, 23866, 32546),c(1,3:10)] 3 x 9 sparse Matrix of class "dgCMatrix" C69_AACATATGTCCTCG-1 C69_AACCTTACGCTCCT-1 C69_AAGATTACGAGGAC-1 IGHM 1 1 . IGHGP . 3 1 IGLL5 . . . C69

Naver Blog

다중비교(multiple hypothsis test)

1종오류 모집단(실제)에서는 차이가 없지만 표본(일부분)에서 분석하니 집단간 차이가 있다고 판단하는 오류를 말한다. 다중비교, 곧 가설에 근거하지 않고 무작정 많은 비교를 하게되면 생기는 문제가 위와같은 1종오류가 많이 발생할 수 있다는 것인데, 실제로는 연관성이 없는데도 불구하고 우연에 의해 연관성이 나타나는 것 처럼 보이게 된다. 예를 들어 GWAS 같이 수십~수백만개의 SNPs를 phenotype에 따른 연관성을 분석하는 것과 같은 경우가 있다. 다중비교의 문제 중 하나인 1종오류의 증가를 보정하는 방법(FWER) Family-wise error rates(FWER)이란, 전체 가설에서 하나라도 잘못 기각 시킬 확률(false positive, 제 1종오류) 이를 줄이기 위해 쓰이는 방법 2가지를 소개하면 일반적으론 Bonferroni correction 을 사용하나 이는 지나치게 보수적인 방법으로 실제로는 연관성이 있는데도 이를 배제시킬 수도 있다. Free step-down

Naver Blog

RNAseq)edgeR 원리 3) TMM

이전 포스팅에서 calcNormFactors 에 대해 설명했는데, 그 결과물인 effective library size 에 대해 설명해보겠다. cpm(counts-per-million)의 공식은 gene's counts / total counts * 1*10^6 이다. RNAseq의 경우 소수의 유전자들이 매우 높은 발현값을 가질 수 있다. 이로 인해 total counts의 값이 커지게 되고 낮은 발현을 가진 유전자들이더 낮은 값을 갖게 된다. 이를 보정해주는 방식 중 trimmed mean of M-values(TMM) 방식이 있으며 calcNormFactors 단계에서 이를 사용하여 total counts의 size 를 보정하는 scaling factors를 계산한다. effective library size = scaling factors * total counts 각 샘플당 1개의 scaling factors를 만들지만 이는 여러 샘플들 사이 most genes의 log-F

Naver Blog

GOterm) NaviGO

Bulk RNAseq 분석 후 pathway 단계에서 GO term들이 너무 많이 나와서 어떻게 하면 묶을 수 있을까 하다가 발견한 web tools 인 NaviGO 을 찾았다. GO terms 들의 유사성을 확인할 수 있으며, 유사한 정도를 사용자가 직접 지정해줄 수 있고 6개의 서로 다른 similarity scores 로 계산되어 서로 유사한 질병간의 생물학적 차이를 파악할 때 유용하다. 또한 node 와 edge를 사용한 Visualization 까지 할 수 있어 다른 사람들에게 보여주기에도 유용했다. 그러나 Web tools 이기에 input으로 올라간 GO term 이 150개 정도만 넘어가도 매우 버벅이기에visualization을 기대하기엔 어렵고 각 score에 대한 csv file 까진 획득할 수 있어 각 GO term 중 사용자가 의미가 있다고 생각하는 정도만 추려서 넣어주는 게 좋을 것 같다.

Naver Blog

TWAS) Error

모델을 구축한 후 아래와 같이 model에 사용된 snps 가 매칭되지 않다고 하는 에러 (INFO - 0% of model's snps used)의 이유 두 가지를 찾았다. 1) GWAS(plinkr format or dosage format) result의 snp_id 가 model 의 snp_id 와 일치하지 않는 경우 (ex rs429358 , 19:45411941) 2) SPrediXcan.py 옵션 중 BETA 값을 구했는데 zcore_column 이라고 기록한 경우 이다. 위 두 가지를 고려하였을 때 코드가 작동하였다. https://github.com/hakyimlab/MetaXcan GitHub - hakyimlab/MetaXcan: MetaXcan software and manuscript MetaXcan software and manuscript. Contribute to hakyimlab/MetaXcan development by creating an accou

Naver Blog

선형대수) eigenvalue, eigenvector, eigenspace, Diagonalization

eigenvalue, eigenvector, eigenspace Diagonalization

Naver Blog

논문분석)Cibersortx

Abstract : Single cell RNAseq은 세포별 이질성(heterogeneity)을 특정화 할 수 있는 방법이지만, 현재는 규모가 큰 샘플 코호트에서는 관행적이지 않으며 일반적인 임상 치료 방법으로 모은 고정된 검체에서는 적용할 수 없다. Digital cytometry 방법인 CIBERSORT 는 bulk tissue transcriptomes 에서 cell type 별 abundances를 추정할 수 있는데, 논문에서 소개하는 CIBERSORTx는 물리적인 cell isolation 없이 cell-type-specific 하게 gene expression profiles 을 추정하는(infer) 머신러닝 방법을 사용하였다. CIBERSORTx 는 platform-specific한 변수를 최소화함으로서 대규묘 tissue dissection 으로부터 single-cell RNAsequencing 을 사용할 수 있도록 해준다. Introduction : 조직들은 기능들

Naver Blog

RNAseq)edgeR 원리 1)

edgeR은 RNA counts data로부터 Differential Expression(DE) Analysis 를 진행하며 속도측면에서 빠르고 Bayesian gene-wise dispersion estimation을 구할 수 있기에 유전자와 전사체 간의 정보를 알 수 있습니다. RNA분석은 Count data를 그대로 사용하지 않고 normalization을 필요로 하며 edgeR에서 사용하는 normalization 과정 중 사용하는 옵션들에 대해 설명해보겠습니다. 1) DGEList > edgeR 에서 데이터를 효율적으로 사용할 수 있도록 List-based data 형태로 변환시켜주는 옵션이며 각각의 샘플에 대해 1) Counts data 2) Library.size(= sequencing depth = sums of the counts) 를 얻을 수 있습니다. x$samples. group을 정해주지 않아서 숫자형태 2) filterByExpr > Computer Cost

Naver Blog

RNAseq)edgeR 원리 2)

1) DGEList 2) filterByExpr 3) calcNormFactors Differential Expression analysis 진행 중, 한 샘플에서 highly expressed genes 이 total library size에 상당한 부분을 차지한다고 가정하면, 그 외 genes 은 total library size에서 낮은 비율로 존재하게 되어 해당 샘플에서 down-regulated expression으로 예측되게 된다. calcNormFactors 은 이런 오류를 최소화 하기 위해 normalization을 진행하여 그 방법은 대부분의 genes 에 대해 samples 사이의 log fold change(logFC)값을 최소화하는 library sizes의 scaling factors를 찾아내어 normalization을 진행해준다. 찾아진 Scaling factors 값과 original library sizes의 값을 통해 만들어진 값을 effective

Naver Blog

논문분석)Cibersortx-2

Cell fractions(=proportions) between signature matrix and bulk RNAseq data 의 Platform-specific variantion을 줄이기 위해 batch correction scheme를 적용하니 scRNAseq 과 결과가 유사했다.

Naver Blog

논문분석)Cibersortx-3

LM22 라고하는 22개의 immune cell type을 통해 GEP를 진행해보았을 때 Group mode 에서 Adaptive noise filter를 적용하고 샘플 수에 늘어남에 따라(max : 302 개) 결과가 좋아짐을 확인할 수 있었음

Naver Blog

Imputation)beagle

https://blog.naver.com/gieyoung0226/222352131971 논문분석)GWAS imputation - Introduction Microarray chip을 통한 분석은 50-100만개 (Korean Chip의 경우 83만개) 의 SNP(=marker)의 g... blog.naver.com

Naver Blog

Cibersortx

https://blog.naver.com/gieyoung0226/222600007696 논문분석)Cibersortx Abstract : Single cell RNAseq은 세포별 이질성(heterogeneity)을 특정화 할 수 있는 방법이지만, 현... blog.naver.com https://blog.naver.com/gieyoung0226/222615381923 논문분석)Cibersortx-2 Cell fractions(=proportions) between signature matrix and bulk RNAseq data 의 Platform-sp... blog.naver.com https://blog.naver.com/gieyoung0226/222621010568 논문분석)Cibersortx-3 LM22 라고하는 22개의 immune cell type을 통해 GEP를 진행해보았을 때 Group mode 에서 Adaptive n... blog.naver.com

Naver Blog

선형대수) Cross product(외적)

외적(Cross product) 단어가 햇갈리지만, 주어진 벡터들과 수직으로 존재하는 벡터를 얻는 방법이다. 외적으로 넓이를 구하는 방법(라그랑주 항등식)

Naver Blog

xshell에서 x11 display 사용하기(xming)

개인적으로 mobaxterm 보다 학생에게 무료로 배포하는 xshell 환경이 익숙하지만 x11 display 을 사용하여야 할 때 어쩔 수 없이 mobaxterm 을 사용하였다. xshell 제작사 내에 x-manager 가 있지만 유료만 존재하기에 이번에 무료로 사용 가능한 xming 을 통해 이를 해결해보자. https://xming.softonic.kr/ Xming 이 디스플레이 서버를 Windows에서 무료로 실행하십시오. xming.softonic.kr 보이는 것처럼 무료 소프트웨어이다. 위 프로그램 설치 후 xshell 에서 등록정보를 수정해주면 바로 사용이 가능하다. 등록정보 수정방법 세션 : 세션 - 등록정보 - ssh - 터널링 - X11 포워딩 - x11연결을 다음으로 전달합니다 - X DISPLAY : localhost:0 터미널 : export DISPLAY=myID:0 ex) $export DISPLAY=112.111.111.111:0

Naver Blog

RNAseq) edgeR -1

edgeR : Count table 을 받아서 DEG 계산가능 1) DGEList > edgeR 에서 데이터를 효율적으로 사용할 수 있도록 List-based data 형태로 변환시켜주는 옵션 edgeR stores data in a simple list-based data object called a DGEList. This type of object is easy to use because it can be manipulated like any list in R. Input으로 gene x sample 형태의 Count matrix 를 받고, Output으로 x$counts x$samples (x$samples$group x$samples$group x$samples$norm.factors) x$samples. group을 정해주지 않아서 숫자형태 를 내놓음 2) filterByExpr > Computer Cost 를 줄이기 위해 worthwhile Genes 만 추리게 됨 (t

Naver Blog

RNAseq)salmon

Alignment tool 인 salmon 은 Transcript에 mapping 하기에 주로 RNAseq 에서 사용한다. Paired 데이터의 경우, paired 로 존재하는 reads만 사용하며, 각 Transcript 에 mapping 된 reads 의 수, TPM, Effective Lengh 를 계산해준다. NumReads bam read(single) paired bam read 810,724 394,261 TPM X = One Transcript https://www.reneshbedre.com/blog/expression_units.html 1) Normalization of X RPK X of RPK = (X 에 매핑된 reads의 수 x1,000) / X of Effective Length 2) Normalization of Total RPK 로 보정 X of TPM = X of RPK / Total PRK TPM(=abundance) = X 에 매핑된 reads의

Naver Blog

linux)lftp

파일을 한,두 개 정도 옮기는 경우 ftp / sftp 로도 가능하지만, 겹치는 파일이 있거나, 전송 중 끊긴 파일 같은 것들이 있는 경우 ftp/sftp 는 덮어쓰지만, 이를 위한 "미러링"기능이 있는 lftp 가 있다. lftp 사용방법 : lftp -u '사용자ID:비밀번호' sftp://서버주소 접속한 서버 : local 접속할 서버 : remote mirror : remote에서 local로 파일을 내려받는 경우(get) 사용 mirror -R : local 에서 remote로 파일을 올리는 경우(put) 사용 lftp -u '사용자ID:비밀번호' sftp://서버주소 "mirror /local파일위치 /remote파일위치" parrarel 병렬처리를 원하는 경우 사용 --parallel=n(숫자) lftp -u '사용자ID:비밀번호' sftp://서버주소 "mirror -R --parallel=10 /local파일위치 /remote파일위치"

Naver Blog

21년 8-9월 달리기/하이킹 기록

8-9월에는 10월에 뉴발란스에서 진행하는 10km 달리기 대회에 나가기 위해 준비하는 달이라고 생각하고 달리기 코스를 6km에서 10km로 연장하여 달려보았다. 아직은 10km 가 50분을 넘어가지만, 40분 후반대를 목표로 달려보고자 한다. 추가로, 9월 초에 친한 형과 관악산 등산을 다녀왔다. 러닝이랑 비슷하겠지 생각하고 런닝화를 신고 갔다가 발을 몇번 접질렸지만 새벽공기 마시며 등산하는 게 기분이 좋았다. 오늘은 혼자 관악산에 다녀왔는데 아마 매주 일요일 오전엔 등산을 다녀올 것 같다 :)

Naver Blog

NGS)dosage

Dosage의 사전적 의미를 확인해보면 dosage : The size or frequency of a dose of a medicine or drug. 라고 한다. 그러나 Gene 이나 Allele에 대해 dosage를 표기하는 경우들이 있다. SNP minor allele dosage SNP 에서 dosage 의 의미는 Genotype 에서 해당 Minor(or Major) allele의 frequency 다. 그래서 0 or 1 or 2 중 하나가 되며 Gene 에서 dosage 의 의미는 wiki 에서 확인해보면 아래와 같다. 이도 마찬가지로 genome 위에서 특정 gene 의 copy 수 라고 하기에 Gene dosage 와 SNP dosage 는 동일한 의미로 사용된다. Make referenece to : https://en.wikipedia.org/wiki/Gene_dosage Gene dosage - Wikipedia Gene dosage From Wikipedia

Naver Blog

21년 7-8월 달리기 기록

대학원에 오기 전, 회사에 면접을 보러 다닐 때 공통적으로 받았던 질문이 "스트레스를 해소하기 위해 하는 행동은 무엇입니까?" 였다. 머리 속이 복잡하거나 화가나는 일이 있으면 지칠 때 까지 뛰는게 나만의 스트레스 해소법이었는데 형식적인 답변처럼 보일 수도 있겠고 또 이걸 증명할 방법이 없었다. 대학원에 와서도 개인사로 인해 휴학하고 1년간 직장을 다닐 때에도 나만의 스트레스를 해소하는 방법은 여전히 "달리기" 이다. 문득 이걸 기록해두는 게 좋겠다 싶어 기록을 시작한 7-8월의 달리기 내용을 기록해보자 한다. 7월 주 3-4회 빈도로 뛰었다. 한 번 뛸 때 5-6 km 사이로 뛰는데 7월 14일 1km/6.13분 페이스로 뛰었었다. 8월 가입한 달리기 크루에서 루트를 추천해주셔서 한강을 바라보며 뛰는 루트로 변경하였다. 8월7일에 뛰었는데 뛰다보니 자정이 넘어서 8월8일로 기록이 찍혔다. 그리고 한달동안 기록을 재며 뛰니 속도가 빨라졌는데 1km/5.06분 페이스로 뛰었다. 속도가

Naver Blog

Bioinformatics : 네이버 블로그

-Bioinformatics 한글화-공부했던 내용들을 정리하기 위한 블로그

Naver Blog

RNAseq)GSEA - FC / GO

GSEA : http://blog.daum.net/_blog/BlogTypeView.do?blogid&#x3D;0MSQg&amp;articleno&#x3D;7...

Naver Blog

귀무가설/가설검정/TP,NP,TN,FN

대립가설(H1) : 일반적으로 주장하고자 하는 사실 귀무가설(H0) : 기각하고자 하는 사실 p-value : 귀무...

Naver Blog

t-test

https://www.youtube.com/watch?v&#x3D;mEWQ_vl3IPw 인강내용 정리 : t-test란 서로 다른 두 집단간...

Naver Blog

통계 기본 용어 정리

*분산(variance, V, var, б^2) : 변수들이 평균값을 기준으로 얼마나 흩어져있는지를 나타내는 정도 분산...

Naver Blog

hypergeometric(초기하 함수) test

hypergeometric test에 접근하기 위한 순서가 있다. 초기하함수는 함수의 일종으로, 멱급수를 이용해 기하...

Naver Blog

scikit-learn

Scikit-Learn 문법의 공통점 : 모델 불러오기 및 정의 - hyper parameter 세팅 from sklearn.svm import ...

Naver Blog

maching learn 큰 틀

데이터 가공 범주형 -&gt; 숫자 형태로 변환 -&gt; one hot 이진(이산) -&gt; 0 or 1 연속형 -&gt; Nomali...

Naver Blog

Precision Recall AUC(ROC)

TP / TP + FP &#x3D; precision TP/ TP + FN &#x3D; recall recall 과 precision 은 공통적...

Naver Blog

KNN 이란

k-NN (k-Nearest Neighbors) 말 그대로 &quot;최근접 점(k)&quot;을 몇개로 정할 것인가 ? k 는 작고 1...

Naver Blog

Classification Linear Model

분류형 선형 모델 Binary classification(이진 분류) 는 &quot;결정경계&quot; 가 존재하는 선형 함수이다...

Naver Blog

Multiclassification Linear Regression

많은 classification LR 모델은 binary classification 방법을 지원하고 multiclassification 은 지원하...

Naver Blog

나이브 베이즈 분류기

sklearn엔 3가지 naive bayes 가 구현되어 있는데 GaussianNB 연속적인 데이터 고차원 데이터 Bernoull...

Naver Blog

결정 트리(decision tree) - pre-pruning

classification &amp; regression 모두 사용되는 모델이며 decision tree 를 학습한다는 것은 정답에 가장 ...

Naver Blog

ensemble decision tree

ensemble 은 여러 머신러닝 모델을 연결하여 더 강력한 모델을 만드는 기법이다. regression , classificat...

Naver Blog

그래디언트 부스팅 회귀 트리(GradientBoostingClassifier)

여러개의 decision tree를 묶어 사용하는 ensemble 방법 중 하나 이다. 이름에 회귀가 있지만 분류, 회귀 ...

Naver Blog

Kernelized support vector machines (SVM)

SVM 이란 ? SVC(선형 서포트 벡터 머신)을 사용하여 classification 를 풀었던 것의 확장 개념으로 i...

Naver Blog

WES - trimmomatic - minlen의 이해

Phred quality Score(Q-Score) Q &#x3D; -10 logP P &#x3D; 염기서열을 잘못 불러올 확률 Q10 &#...

Naver Blog

2006 - cmap 에 대한 논문 분석

C-map 을 알기 전에 이해해야 할 것들. Genomic signature Genomic signature는 genome 과 sequence에서...

Naver Blog

haplotypecaller

gatk HaplotypeCaller -R ${ REFERENCE}  -I ${ sample} /05_BQSR/${ sample} .sorted.markedup...

Naver Blog

mutect2 input file 분석

이 글을 쓰는 이유는 Mutect2 tumor with matched normal 을 돌리던 중 outfile 인 vcf의 크기가 0 이여서...

Naver Blog

REFERENCE(GRCh37.p13.genome.fa / ucsc.hg19.fasta)

이것에 대해 궁금해진 이유는, 처음에 기업에서 주는 interval_list 의 read sequence의 차이가 reference...

Naver Blog

mutect2 (feat.PON)

https://gatk.broadinstitute.org/hc/en-us/articles/360035890491?id&#x3D;11127 https://gatk.broadinst...

Naver Blog

Metabolomics technology and bioinformatics for precision medicine (미완성 - BI 내용 추가 필요)

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6954408/ https://www.ncbi.nlm.nih.gov/pmc/articles/...

Naver Blog

haplotypecaller

Call germline SNPs &amp; Indels via local re-assembly of haplotypes. haplotype란? 부모세대의 유...

Naver Blog

Connectivity map 에 대한 기초설명

What is the Connectivity Map?? 질병-유전자-치료학 의 관계를 찾는 것. perturbation(질병으로부터 발...

Naver Blog

Cmap data 부수기

holdout_ground_truth_wtks_n1000x476251.csv.gz holdout_ground_truth_wtks_n3000x476251.csv.gz offline_...

Naver Blog

The genetic and mechanistic Basis for Variation in gene Regulation 논문 요약

최근까지, 우리는 많은 regulatory variants act 의 mechanisms 에 대해 알지 못했다. 예를 들자면 regulat...

Naver Blog

A primer on deep learning in genomics(2019)

Abstract Deep learning 이란 대규조 data set에서 매우 복잡한 패턴을 식별할 수 있는 machine learning...

Naver Blog

VCF file 읽기 (Mutect2, filtermutectcalls snpeff)

Mutect2 Filtermutectcalls snpeff mutect2 후 filtermutectcalls 을 통해 Filter 란에 무언가 추가됨을...

Naver Blog

mySQL

SQL 써야하는데 배웠던게 postgreSQL 이라 리눅스에서 쓰려니까 모르겠어서, 빡쳐서 인강듣는다. 생...

1 2