VCF파일의 구조에 대해서 아래의 글에서 알아보았습니다. [생물정보학] - VCF 파일 포맷: 변이 정보를 담은 포맷 VCF 파일을 Input으로 데이터 정제를 하는데 주로 python이 많이 사용됩니다. 이때 VCF파일을 pandas 라이브러리의 DataFrame 형태로 읽어올 수 있습니다. 그러면 엑셀이나 tsv, csv로 내보낼 수도 있고, pandas 라이브러리를 이용해 VCF파일을 정제할 수 있습니다. * VCF파일을 DataFrame으로 가져오는 python 코드 import io import pandas as pd def read_vcf(path): with open(path, 'r') as f: lines = [l for l in f if not l.startswith('##')] retu..
-목차- 1. Variant calling(변이 검출) 2. VCF 파일 1) 파일 형식 1. Variant calling(변이 검출) SAM/BAM 파일이 생성된 후에, 표준 유전체 서열과 다른 염기(돌연변이, 줄여서 변이라고 함)가 있는지 찾아내는 작업을 합니다. 이 과정을 변이 검출(Vairant calling)이라고 합니다. 표준 유전체의 각 위치별로 시퀀싱 리드(Read)를 종합하여 표준 유전체와 같은 염기(Ref base)와 표준 유전체와 다른 염기(Alt base) 개수를 비교하여 변이가 있는지 확률적으로 판단합니다. 이때, 통계적 알고리즘을 사용하여 NGS 장비에서 발생한 에러, 매핑 과정에서 발생할 수 있는 에러 등의 에러들을 배제하고 진양성(True Positive) 변이를 검출하게 됩..
1. Conpair Tumor.bam과 Normal.bam을 Input으로 하여 동일한 개체에서 얻은 샘플인지 Concordance와 Contamination을 계산해주는 툴 * 해당 툴에 대해 다운로드 및 사용법정리 [Tools] - Conpair - tumor.bam normal.bam 비교 2. 과정 1) Pileup 생성 GATK Pileup을 이용해 bam파일로부터 pileup 파일을 생성. Tumor.bam -> Tumor.pileup Normal.bam -> Normal.pileup 2) Concordance 계산 marker의 MAF를 기반으로 Normal.pileup과 Tumor.pileup에서 bin별로 각각 아래의 확률 식으로 likelihood가 계산됩니다. 식 설명: k개의 rea..
1. Fragment size와 Insert size란?1) Fragment size(Fragment length): NGS 시퀀서에 들어간 실제 DNA 한가닥 길이. (Adapter sequence 길이 포함.)2) Insert size: Adapter 사이에 '삽입된' DNA 길이(Insert). (Adapter제외한 DNA의 길이)-> Adapter 사이의 거리를 의미. Inner mate distance라고도 함. 2. Fragment와 Read의 차이1) Fragment: Adapter를 포함한 DNA.2) Read: Adapter를 제외한 DNA.즉, 위 그림에서 Insert를 방향에 따라 읽은 것을 Read1과 Read2로 나눈다. Read1 Read2 : NGS 장비에 들어가는 Paired..
1. NGS를 이용한 DNA 분석 NGS(Next Generation Sequencing)를 이용한 DNA 분석은 크게 3단계를 거쳐 진행됩니다. ① 라이브러리 제작(Library Preparation) DNA를 일정한 조각(Fragment)으로 분절화(Shearing)시키고 NGS 장비가 인식할 수 있는 특정 염기서열(인덱스)을 붙여주는 과정. ② 라이브러리 DNA 읽기 제작된 라이브러리 DNA들을 NGS 기기에 넣고, 각 가닥의 염기서열을 읽는 단계. (NGS 시퀀서에서 진행) ③ 분석 장비에서 생성된 데이터를 가공하여 알고리즘으로 분석하는 단계 2. DNA 데이터 분석 시퀀싱이 끝나면 DNA 데이터를 분석합니다. 분석은 크게 3단계를 거쳐 진행됩니다. ① DNA 데이터 추출 NGS 시퀀싱 결과 나온..
안녕하세요 이번엔 생물정보학 프로그래밍 문제를 풀고 채점을 받을 수 있는 사이트 Rosalind에 대해 알아보겠습니다. -목차- 1. Rosalind 란? 2. 문제를 풀어 제출해보자! 3. 알고리즘 분류 4. 랭킹 시스템 * 깃허브에 Rosalind 문제와 풀이(python)를 한글로 작성하고 있습니다. 필요하신 분들은 참고해주세요!! :) netsus/Rosalind Bioinformatics algorithm problem solving. Contribute to netsus/Rosalind development by creating an account on GitHub. github.com 1. Rosalind 란? Rosalind는 샌디에고 캘리포니아 대학교(University of Califo..
안녕하세요 저번 포스팅에서는 DNA를 직접 NGS기기에 넣어 나오는 생(raw) 데이터 FASTQ에 대해서 알아보았습니다. FASTQ : DNA 생(raw) 데이터!! 완벽 정리 FASTQ 데이터는 NGS기계에서 추출한 DNA 정보를 '데이터'형태로 보여주는 첫 파일입니다. 즉, FASTQ는 DNA 정보를 담고있는 아무 정제없는 가장 날 것의 데이터 입니다. 1. FASTQ의 구성 FASTQ는 아래 4줄이 bio-info.tistory.com 이번엔 이 FASTQ 데이터의 다음 단계인 Bam/Sam 파일이 뭔지, 어떻게 쓰이는건지 알아보겠습니다. Bam 파일을 이해하려면 FASTQ 데이터를 알아야 합니다. FASTQ 데이터는 read라고 불리는 매우 짧은 서열(50~200bp)들로 구성된 파일입니다. 보..
안녕하세요!! 데이터프레임 2개가 있을때 이 두 데이터프레임을 비교하는 2가지 방법에 대해 알아보겠습니다. (전제: 두 데이터프레임의 컬럼 이름이 모두 동일하고, 컬럼별로 datatype이 모두 동일해야 비교가 가능합니다.) 데이터프레임의 비교는 주로 서로 다른 과정을 통해 정제된 두 데이터가 서로 어떻게 차이나는지를 볼때 사용됩니다. 예를들어, 회계장부가 각 날짜별로 내 컴퓨터에서 관리가 되고, 회계장부 전체가 서버에서 관리가 되고 있을때, 내 컴퓨터에서 관리되는 회계장부를 취합해서 서버에서 관리되는 회계장부와 비교할때 쓸 수 있는 기술입니다. * 코드만 필요하신 분을 위한 df1과 df2를 전체 비교하는 코드입니다. 출력 : df1과 df2에 대해 차이나는 행을 출력 df = pd.concat([df..
FASTQ 데이터는 NGS기계에서 추출한 DNA 정보를 '데이터'형태로 보여주는 첫 파일입니다. 즉, FASTQ는 DNA 정보를 담고있는 아무 정제없는 가장 날 것의 데이터 입니다. 1. FASTQ의 구성 FASTQ는 아래 4줄이 반복되는 형태를 갖습니다. @SEQ_ID Sequence + Quality scores 1) 첫 번째 줄 (@SEQ_ID) : 시퀀스 고유 ID로 NGS기기ID와 Cell Line 번호, index 서열 등의 기초정보를 담고 있습니다. 2) 두 번째 줄 (Sequence) : 시퀀싱된 1개 Read의 서열정보를 담고있습니다. (AGCT의 문자로만 이루어 집니다.) 3) 세 번째 줄 (+) : 여기는 항상 +가 있으며 그냥 구분자 입니다. 4) 네 번째 줄 (Quality sco..
이전 포스팅 2020/06/23 - [생물정보학] - NGS 기반 DNA data 기본 분석 NGS 기반 DNA data 기본 분석 이전 포스팅 2020/06/18 - [생물정보학] - 생물정보학(Bioinformatics) 회사에서 생물정보학자는 무슨일을 하는지, 현재 제가 하는일은 무엇인지 간단히 알아보았습니다. 이번엔, DNA 데이터가 도착하면 bio-info.tistory.com 에서 NGS 시퀀싱 결과 DNA 기본 분석 알고리즘에 대해 알아보았습니다. 이번 포스팅에선 타겟 선별(Target enrishment)과 타겟의 범위에 따른 DNA 시퀀싱 종류 3가지를 알아보겠습니다. Contents 1. 타켓 선별(Target enrishment) 타켓 선별은 앰플리콘 방식과 캡쳐 방식으로 나뉩니다. ..
Contents 1. Nbextensions 이란? 주피터 노트북 확장 프로그램으로, 실행 시간, 목차, 변수 탐색기 등 기능 사용 가능. 2. Nbextensions 설치 및 사용방법 1) nbextensions 설치 pip install jupyter_nbextensions_configurator jupyter_contrib_nbextensions 주피터 노트북에서 설치할 때는 아래와 같이 앞에 !를 붙여주시면 됩니다. * 실행 화면 2) Nbextensions를 주피터 노트북과 연결 jupyter contrib nbextension install --user jupyter nbextensions_configurator enable --user 주피터 노트북에서 설치할 때는 아래와 같이 앞에 !를 붙..
1. bedtools merge Input으로 들어온 bed 파일에 대해, 서로 겹치는 영역을 하나로 합쳐주는 기능입니다. 2. 주요 옵션 1) c 옵션: 컬럼 번호를 지정하여, -o 옵션을 수행합니다. 2) o 옵션: Default는 sum 이며 다양한 옵션이 존재합니다. 3. 예시 bedtools merge -i test.bed -c 4 -o collapse > test2.bed * 옵션 설명 -i test.bed : input으로 test.bed를 받는 옵션입니다. -c 4 : test.bed 파일에서 4번째 컬럼(아래 그림에서 Feature 컬럼)에 대해 -o 옵션을 적용합니다. -o collapse : 4번째 컬럼(Feature)에 대해 서로 영역이 합쳐지면, Feature 컬럼의 값이 콤마(,..