본문 바로가기

전체 글125

Multiple VCF 파일을 하나의 DataFrame 으로 합치기 Multiple VCF 파일을  하나의 DataFrame 으로 합치기 import pandas as pdimport glob# VCF 파일들이 저장된 디렉토리 경로vcf_dir = 'path/to/vcf/files/'# VCF 파일 목록 가져오기vcf_files = glob.glob(vcf_dir + '*.vcf')# VCF 파일 읽기 함수def read_vcf(file): with open(file, 'r') as f: lines = f.readlines() header_line = [line for line in lines if line.startswith('#') and not line.startswith('##')][0] header = header_line.strip.. 2024. 7. 14.
Pandas를 활용한 VCF 파일 분석 방법 (심화) Pandas를 활용한 VCF 파일 분석 방법  1. 데이터 타입 변환 및 필터링데이터 분석을 위해서 필요한 열의 데이터 타입을 변환합니다.예를 들어, POS는 정수형, QUAL은 실수형으로 변환할 수 있습니다.# 데이터 타입 변환df['POS'] = df['POS'].astype(int)df['QUAL'] = df['QUAL'].astype(float)df['AF'] = df['AF'].apply(lambda x: float(x.split(',')[0]))# 고품질 변이만 필터링high_quality_variants = df[df['QUAL'] >= 30]print(high_quality_variants) 2. 고품질 변이 분석고품질 변이의 빈도, 위치, 유전자 등을 분석합니다.# 각 변이 위치별 빈도수.. 2024. 7. 14.
Pandas를 활용한 VCF 파일 전처리 분석 방법 Pandas를 활용한 VCF 파일 분석 방법  1. VCF 파일 읽기 및 전처리 VCF 파일의 메타데이터와 데이터 부분을 분리하고, INFO 필드는 여러 속성 값을 포함하므로 이를 파싱하여 별도의 열로 분리합니다.import pandas as pd# VCF 파일 경로vcf_file = 'path/to/your/file.vcf'# VCF 파일 읽기with open(vcf_file, 'r') as file: lines = file.readlines()# 메타데이터와 데이터 분리metadata = [line for line in lines if line.startswith('##')]header_line = [line for line in lines if line.startswith('#') and no.. 2024. 7. 14.
Pandas를 활용한 VCF 파일 분석 방법 (기본) Pandas를 활용한 VCF 파일 분석 방법  1. VCF 파일의 메타데이터와 데이터 분리import pandas as pd# VCF 파일 경로vcf_file = 'path/to/your/file.vcf'# VCF 파일 읽기with open(vcf_file, 'r') as file: lines = file.readlines()# 메타데이터와 데이터 분리metadata = [line for line in lines if line.startswith('##')]header_line = [line for line in lines if line.startswith('#') and not line.startswith('##')]data_lines = [line for line in lines if not l.. 2024. 7. 14.
Pandas를 사용하여 첫 번째 행을 헤더로 설정하는 방법 Pandas를 사용하여 첫 번째 행을 헤더로 설정하는 방법 import pandas as pd# 예제 데이터프레임 생성data = { 'A': [1, 'col1', 4, 7], 'B': [2, 'col2', 5, 8], 'C': [3, 'col3', 6, 9]}df = pd.DataFrame(data)# 첫 번째 행을 새로운 헤더로 설정df.columns = df.iloc[0]df = df[1:].reset_index(drop=True)print(df)  df.columns = df.iloc[0]: 첫 번째 행(df.iloc[0])을 컬럼 이름으로 설정합니다.df = df[1:].reset_index(drop=True): 첫 번째 행을 제거하고 인덱스를 재설정합니다.0 col1 col2 .. 2024. 7. 14.
VCF 파일로 할 수 있는 분석 방법 (feat bcftools, snpEff) bcftoolssnpEff  1. 변이 요약 정보 얻기bcftools stats 명령어를 사용하여 VCF 파일의 변이 정보를 요약할 수 있습니다.bcftools stats input.vcf > stats.txt 2. 특정 변이 타입 필터링bcftools view 명령어를 사용하여 특정 변이 유형(SNP, indel)을 필터링할 수 있습니다.# SNP만 추출bcftools view -v snps input.vcf -o snps_only.vcf# indel만 추출bcftools view -v indels input.vcf -o indels_only.vcf 3. 주석 추가bcftools annotate 명령어를 사용하여 변이에 주석을 추가할 수 있습니다.# 주석 파일(annotation.vcf)에서 주석 추가.. 2024. 7. 12.