본문 바로가기

분류 전체보기225

checkVCF VCF 파일을 거의 다루다보니 BCFtools를 사용하게 되는데 stats 에서 잡아주지 못하는 것들이 있다. 예를 들어, VCF 파일에는 multi-allele가 있거나, indel 이 있어도 표시가 되지 않는다. VCF 파일의 정보를 좀 더 정확히 알려주는 툴이 있다. checkVCF.py - Github : https://github.com/zhanxw/checkVCF - Download : http://qbrc.swmed.edu/zhanxw/software/checkVCF/checkVCF-20140116.tar.gz Python2 를 기본으로 사용하고 다음과 같은 정보를 준다. checkVCF.py -- check validity of VCF file for meta-analysis version.. 2020. 9. 15.
PDF dark mode in Chrome 눈의 피로도를 낮추기 위해서 dark mode 를 사용한다. Chrome의 확장기능인 Dark reader를 사용하고 있지만, 적용되지 않는 페이지가 있고, 가지고 있는 PDF 파일을 chrome에서 열면 적용되지 않는다. 다시말해, Local에 가지고 있는 PDF 파일을 chrome에서 열면, Dark reader를 활성화한 상태임에도 불구하고 dark mode 가 적용되지 않는다. 웹에서 불러들인 PDF 파일에는 적용되는데 local PDF는 적용되지 않는 것이다. 같은 고민에 대해 해결한 사람이 있어서 공유하며, 방법은 다음과 같다. Local PDF에 chrome 확장기능을 적용하기 위해서는 permission이 필요한데, chrome에서는 그냥 적용되지 않는다. 따라서 아래의 방법은 file:/.. 2020. 9. 14.
Nice pictures in Biology https://www.thoughtco.com/biology-4133580 - Meiosis https://www.thoughtco.com/meiosis-study-guide-373508 - Homologous Chromosomes https://www.thoughtco.com/homologous-chromosomes-definition-373469 - Nondisjunction https://www.thoughtco.com/nondisjunction-definition-and-examples-4783773 - DNA Transcription https://www.thoughtco.com/dna-transcription-373398 2020. 9. 14.
1000 Genome https://www.internationalgenome.org/faq/which-populations-are-part-your-study Which populations are part of your study? | 1000 Genomes There are 26 different populations which are part of our study from many different locations around the globe. The following table lists these populations and indicates what data we currently have available for them. Population Code Population Description www.int.. 2020. 8. 20.
Windows Terminal https://www.microsoft.com/ko-kr/p/windows-terminal/9n0dx20hk701?rtc=1&activetab=pivot:overviewtabhttps://www.youtube.com/watch?v=8gw0rXPMMPE Windows 에서 탭으로 구분된 cmd작업을 위한 툴이다.기존에는 MobaXterm을 사용하고 있는데, 실행하고 클릭하여 접속하고 탭을 빼서 전체화면으로 전환하는 과정이 귀찮았다. Windows termianl 툴을 이용하면 세팅을 통해 이런 귀찮은 과정을 생략할 수 있다.  설정 Ctrl+,json형식의 설정파일에서 profiles - list 부분에 원하는 접속을 추가해 준 다음, "defaultProfile" 에 입력해 준다.GUID 는 https:.. 2020. 8. 17.
Slurm - Workload manager Slurm은 cluster server에서 job을 manage해주는 프로그램이다. https://slurm.schedmd.com/sbatch.html Package를 통해 설치하거나, 파일을 다운받아 설치하는 두 가지의 방법이 있다. Package 설치가 편리하다. 하지만 최신버전은 package가 없기 때문에, 홈페이지에서 설치파일을 다운받아 설치한다. Slurm 은 node간에 통신을 통해 job management가 이루어지 때문에, 각 compute node에서 방화벽을 해제하여야 한다. 또한 보안 통신을 위해 munge가 필요하고, master node에는 DB를 위해 mysql (mariadb) 설정이 필요하다. Slurm 20.02 부터는 compute node에 slurm.conf를 작성.. 2020. 8. 15.
Command Spliting fasta $ faidx -x reference.fa chr1.fa chr2.fa ... chrY.fa $ samtools faidx reference.fa chr1 > reference_chr1.fa Indexing fasta $ samtools faidx chr21.fa $ cat chr21.fa.fai chr21 46708999 7 60 61 NAME Name of this reference sequence LENGTH Total length of this reference sequence, in bases OFFSET Offset in the FASTA/FASTQ file of this sequence's first base LINEBASES The number of bases o.. 2020. 8. 7.
GATK Variant calling을 위해서 GATK를 사용해 보았다. 공식 : https://gatk.broadinstitute.org/hc/en-us 다운로드 : https://github.com/broadinstitute/gatk/releases $ wget https://github.com/broadinstitute/gatk/releases/download/4.1.8.1/gatk-4.1.8.1.zip $ unzip gatk-4.1.8.1.zip $ cd gatk-4.1.8.1 $ ./gatk 압축을 풀고 나서 설치과정 없이 바로 사용 가능하다. 준비과정으로 reference fasta file의 dictionary만드는 과정이 필요하다. $ samtools faidx hg37.fa # generate i.. 2020. 8. 7.
Bayesian inference Bayesian inference는 Bayes' theorem을 이용하여 증거나 정보를 이용하여 가설에 대한 확률을 업데이트하는 통계적 추론을 하는 방법이다. 확률이 있는 곳에 bayesian inference가 있다고 생각하면 된다. 이때의 확률을 Bayesian probability라고 한다. Bayes' theorem을 알아보자. where X라는 정보를 알고 있거나 주어졌을 때, 일어날 수 있는 사건에 대한 확률을 구하는 방법이다. Properties Reference - https://en.wikipedia.org/wiki/Bayesian_inference - 2020. 8. 3.
Pipeline 보호되어 있는 글 입니다. 2020. 7. 31.
Genetic map Genome mapping에는 Physical map과 Genetic map으로 두 가지가 있다. Physical map은 DNA sequence의 base pair 단위의 실제 거리를 바탕으로 측정한 것이고, genetic map은 genetic linkage information에 따라 mapping한 거리이다. Phenotype에 따라 유전자의 특성을 반영하여 관련있는 유전자를 묶으면 genetic map이 된다. Genetic map - Shapeit4를 실행시 필요한 genetic map은 github respository에서 제공하고 있다. Impute5를 실행할때도 같은 genetic map을 사용하면 된다. Mandatory in v4.0. In v4.1, constant rate of 1.. 2020. 7. 31.
참고 Bioinformatics' latest paper https://www.recruitment.pondiuni.edu.in/aggregator/categories/1 Importance sampling https://www.math.arizona.edu/~tgk/mc/book_chap6.pdf Monte Carlo Integration https://cs.dartmouth.edu/~wjarosz/publications/dissertation/appendixA.pdf Advanced Statistical Computing https://bookdown.org/rdpeng/advstatcomp/ MCMC burn-in https://www.johndcook.com/blog/2016/01/25/mcmc-bur.. 2020. 7. 28.
링크 Drug 신약 관련 https://novelism.co.kr/category/Drug e-Learning 컴퓨터 관련 https://keepmind.net/ Advanced Econometrics https://sites.google.com/view/christophe-hurlin/teaching-resources/statistique-math%C3%A9matique Introduction to Probability, Statistics and Random Processes https://www.probabilitycourse.com/ 김도형의 데이터 사이언스 스쿨 - 머신러닝 편 https://datascienceschool.net/view-notebook/083b935146c34eed9abbf45b5.. 2020. 7. 28.
2020.07.26 일 1. 새덕후라는 유튜브 채널을 알게 되었다. 어릴적 동물, 사람, 자연 등등 다큐멘터리를 챙겨보곤 했었는데, 어른이 되니 그러질 못 하였다. TV가 없기도 하고. 유튜브로 거의 모든 것을 접할 수 있는 시대라는게 참 좋다. 2. 평일과 주말이 나누어진 삶을 살아가는 건 어떨까? 2020. 7. 26.
Markov chain Markov chain은 일정한 확률론적 규칙에 따라 한 상태에서 다른 상태로의 전이(transition)하는 수학적 시스템인 stochastic process이다. 이때 미래의 상태는 현재에 상태만 관련이 있고, 과거의 상태에 영향을 받지 않는 Markov property를 가지고 있다. Random walk도 markov property를 가지고 있다. Stochastic and Markov process 더보기 Stochastic process는 indexed random variable의 collection을 말한다. Index는 time이 되는 경우가 많다. Stochastic process이지만 Markov process가 아닌 경우의 예를 보자. 3가지 색깔을 가진 공이 여러 개 담긴 가방에.. 2020. 7. 24.
LDpop Coalescent theory에 관한 글에서 coalescent probability는 lineage, n에 비해 population, N이 충분히 크다면 2-lineage로 근사하여 계산한다. 즉, 한 세대에 1쌍의 coalescence가 일어난다고 생각할 수 있다. 따라서 2-locus linkage로 부터 mutation이나 recombination rate를 구할 수 있다. LDpop은 recombination rate를 구하기 위해 two-locus의 likelihood를 계산하여 lookup table을 만들어주는 프로그램이다. 다른 프로그램과 다른 점은 population size가 변해도 정교하게 계산 가능하다는 것이다. - Repository : https://github.com/pop.. 2020. 7. 12.
Glossary C - CentiMorgan : a unit of genetic distance that represents a 1% probability of recombination during meiosis. ex) if two genes are 1cM apart, there is a 1% chance they will break apart during meiosis. One cM is equivalent, on average, to a physical distance of approximately 1 megabase in the human genome. D - Derived alleles : the new mutations that have arisen in the population I - isofom : di.. 2020. 7. 9.
Shapeit4 Phasing을 위한 tool이 많이 있지만, shapeit4에 대해서 정리해 본다. 공식 홈페이지(https://odelaneau.github.io/shapeit4/)가 있으며, source code는 github(https://github.com/odelaneau/shapeit4)에 있다. Shapeit4의 설치를 위해서는 몇 가지 library가 필요하다. - HTSlib: A great C library for reading/writing high-throuhput sequencing data. - BOOST: A free peer-reviewd portable C++ source libraries. SHAPEIT4 uses two specific BOOST libraries: iostreams .. 2020. 7. 9.
Discrete probability distribution Discrete probability에 대한 lineage를 그려 보았다. 2020. 7. 7.
2001 Two-Locus Sampling Distributions and Their Application Richard R. Hudson Received March 1, 2001 Accepted August 31, 2001 Published online December 1, 2001. GENETICS December 1, 2001 vol. 159 no. 4 1805-1817 https://www.genetics.org/content/159/4/1805 ABSTRACT 중립 모델에서 2-로쿠스 표본 확률을 추정하는 방법은 여러 가지 방법으로 확장된다. 표본 확률의 추정은 각 알레일의 조상 또는 파생된 상태를 명시할 때 설명된다. 또한 2-로쿠스 디플로이드 표본에 대한 확률도 제공된다. 이러한 2-로쿠스 확률을 사용하여 관찰된 연결 불균형 수준이 비정상적으로 큰지 작은지 여부를 검정하는 방법이 설명된다. 또한 .. 2020. 7. 1.
2002 A Coalescent-Based Method for Detecting and Estimating Recombination From Gene Sequences Gil McVean, Philip Awadalla and Paul Fearnhead Received October 2, 2001. Accepted January 7, 2002. Published online March 1, 2002. GENETICS March 1, 2002 vol. 160 no. 3 1231-1241 https://www.genetics.org/content/160/3/1231 Abstract 유전자 표본의 족보 역사에서 재조합의 양을 결정하는 것은 진화 생물학과 의학 인구 유전학 모두에 중요하다. 그러나 재발 돌연변이는 재조합에 의해 생성된 것과 유사한 유전적 다양성의 패턴을 생성할 수 있으며, 모집단 재조합률의 추정치를 편향시킬 수 있다. 허드슨(2001)은 무한대의 시퀀스 진화 모.. 2020. 7. 1.
Sampling 데이터 분석을 하다보면 sampling을 해야할 상황이 많다. 그러다보면 terminology를 명확히 할 필요가 있다. Random sampling(probability sampling)이란 가정을 많이 한다. 이것은 population의 distribution을 알고 있을 때, 즉 전체 sample이 얼만큼 있는지 알고 있을 때, random하게 sample을 뽑는다. 이렇게 선택된 sample이 population을 대표할 수 있다면 가장 좋은 sampling이 되는 것이고, 그렇지 못할 경우 variation은 sampling error가 된다. Random assignment는 random하게 선택한 상태에 따라 labeling하는 것이다. 예를 들어, 동전을 던져 앞면이 나오면 control .. 2020. 6. 30.
Coalescent theory Population genetics 글에 이어 Coalescent theory에 대해서 자세히 알아보자. Wikipedia에 따르면, Coalescent theory란 모집단에서 표본으로 추출한 유전자 변형이 어떻게 공통의 조상으로부터 비롯되었을 수 있는지를 보여주는 model이다. 가장 간단한 경우, coalescent theory는 no recombination, no natural selection, no gene flow, no population structure를 가정하며, 이는 각 변종이 한 세대에서 다음 세대로 똑같이 전해졌을 가능성이 크다는 것을 의미한다. 알아야 할 점은, coalescent theory는 tree reconstruction method가 아니라 sampling meth.. 2020. 6. 26.
Population genetics 집단유전학의 이론은 다음과 같이 나눌 수 있다. 1. Hardy-Weinberg principle 2. Wright-Fisher model (forward in time) 3. Coalescent model (backward in time) 1. Hardy-Weinberg principle : Infinite population size에서 모집단의 대립유전자와 유전자형 빈도수는 다른 진화적 영향(evolutionary influences)이 없는 경우 세대에 따라 일정하게 유지될 것이다 (Mendelian inheritance). 여기서 가정이라고 할 수 있는 진화적 영향으로는 genetic drift, mate choice, assortative mating, natural selection, sex.. 2020. 6. 25.
Linear vs Nonlinear Model Linear model : Regression linear model은 함수가 어떤 형태인가가 아닌, 예측하고자 하는 parameter들이 linear인 model이다. Regression model로 이차함수를 생각해 보자. 위 식에서 estimate하려는 값은 beta0과 beta1이므로 linear model이다. 위 식은 parameter인 beta1, beta2 값이 non-linear하기 때문에 Nonlinear model이다. Reference - https://statisticsbyjim.com/regression/difference-between-linear-nonlinear-regression-models/ 2020. 6. 24.
Phasing Phasing이란 diplotype을 parental haplotype과 maternal haplotype로 분리하는 작업을 말한다. diplotype에서 0과 2는 00과 11로 쉽게 분리가 가능하며 homozygous position이라 부른다. 1은 01 또는 10이 되기 때문에 쉽게 분리할 수 없으며 heterozygous position이라 부른다. Heteryzygous position의 allelle은 conditional probability로 결정되며, 대부분의 phasing이나 imputation tool에서는 HMM (Hidden Markov Model)을 통해 modeling을 한다. HMM은 transition part와 emission part로 구성되어 있으며, transiti.. 2020. 6. 17.
Random Walk Random walk는 방향에 대한 random sampling을 하는 것이다. 아래 코드 random_walk 함수를 보면 right, left, up, down의 4 방향 중 무작위로 선택하여 이동한다. 여기에 조건을 넣어 값을 취하게 되면 Monte Carlo simulation이 되는 것이다. 여기서는 random walk를 통해 집(원점)으로부터 떨어진 거리가 4 이하이면 교통수단 없이 집에 돌아올 수 있는데, 이것의 횟수가 평균(50%)이 되는 가장 긴 걸음 수를 구하는 문제이다. 답은 22걸음이다. Question : What is the longest random walk you can take so that on average you will end up 4 blocks or fewer .. 2020. 6. 17.
Monte Carlo simulation Wikipedia에서 말하는 Monte Carlo method는 '숫자 결과를 얻기 위해 반복적인 무작위 샘플링에 의존하는 광범위한 연산 알고리즘' (Monte Carlo methods are a broad class of computational algorithms that rely on repeated random sampling to obtain numerical results.) 이라고 하며, analytically solution을 얻을 수 없을 때 사용한다. 대표적이면서 간단한 예제를 보면 감을 얻을 수 있다. 목적은 원의 넓이를 구하여 π값을 계산하는 것이다. 1) Random sampling을 통해 (x, y) 좌표를 얻는다. 2) (x, y) 좌료를 통해 point를 찍는다. 3) 원 방.. 2020. 6. 17.
PBWT (Positional Burrows-Wheeler Transform) Phasing을 위해서 Li and Stephens model (LSM)을 사용한다. LSM의 계산속도를 높이기 위해서, 주어진 genotype에 대해서 가능한 haplotype을 만들어 Positional Burrows-Wheeler Transform (PBWT) 과정을 진행한다. PBWT에 대해 잘 정리된 글이 있어서 이해한 내용을 정리해 본다. # Haplotypes X = [[0, 1, 0, 1, 0, 1], # 0 [1, 1, 0, 0, 0, 1], # 1 [1, 1, 1, 1, 1, 1], # 2 [0, 1, 1, 1, 1, 0], # 3 [0, 0, 0, 0, 0, 0], # 4 [1, 0, 0, 0, 1, 0], # 5 [1, 1, 0, 0, 0, 1], # 6 [0, 1, 0, 1, 1,.. 2020. 6. 9.
Hilbert curve Hilbert curve 는 좌표계를 mapping하는 방법이다. 참고한 코드는 https://people.sc.fsu.edu/~jburkardt/py_src/hilbert_curve/hilbert_curve.html 이곳이며, [WIKIPEDIA]에도 같은 C코드가 있다. 위 사이트의 python코드에서 xy2d 함수의 xcopy와 ycopy 앞에 abs 는 typo이며 삭제해야 한다. Hilbert curve를 generate하여 visualization해 주는 사이트는 http://bit-player.org/extras/hilbert/hilbert-construction.html 이다. Hilbert curve coordinate mapping은 총 3개의 함수로 구성되어 있다. 1) 1차원에서 2.. 2020. 6. 1.