3월, 2023의 게시물 표시

#리눅스 -> Variant calling 총 정리 [#1~#12]

NGS 결과물로 획득된, 데이터의 Mutation calling 총 정리 #데이터 획득의 순서 Bcl -> fasta -> sam -> bam -> vcf -> txt --------------------------------------------------------------------------------------- bcl-> fasta [illumina 기계 자체내에서 generate fastaq  진행] fasta -> mapping [BWA] sam/bam file -> samtool 이용 vcf -> GATK 이용하여 mutation calling txt -> Annovar이용하여 annotation --------------------------------------------------------------------------------------- #설치해야하는 프로그램 (설치하기 전에 update 해야 함. sudo apt-get update) sudo apt-get y install bwa sudo apt-get install samtools sudo apt-get install aptitude sudo apt-get install python-is-python3 ----------------------------------------------------------------------------------------------------- sudo apt-get install openjdk-17-jdk sudo gedit ~/.bashrc 텍스트 편집기가 나타나면 하단의 명령어 추가 입력 #JAVA home setting export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java)))) export PATH=$PATH:$JAVA_HOME/bin 저장하기 누른 후, 텍스트 편집기 닫기 현재 켜져있는 터미널 창에 바로 적...

리눅스 기초 #13 GATK Muteck -> mutation calling

#12에서 생성된 bam file를 이용하여 mutation calling을 진행함 GATK는 calling을 진행할 수 있는 여러 버전이 존재함 아래 종류 중에서 사용하고자 하는 버전에 맞게 명령어를 입력! I -[input 경로] o- [output 경로] #GATK haployercalling gatk HaplotypeCaller -R ${ref} -I ${aligned_reads}/1.bam -O ${results}/1_variants.vcf #GATK Muteck2 - 일반 normal과 mathed sample이 있는 경우 gatk Mutect2 \      -R reference.fa \      -I tumor.bam \      -I normal.bam \      -normal normal_sample_name \      --germline-resource af-only-gnomad.vcf.gz \      --panel-of-normals pon.vcf.gz \      -O somatic.vcf.gz -tumor-only mode   gatk Mutect2  -R ${ref} -I ${aligned_reads}/1.bam -O ${results}/1_raw_variants.vcf.gz - FFPE sample mode gatk Mutect2 -R ${ref} -I ${aligned_reads}/1.bam --f1r2-tar-gz fir2.tar.gz -O ${results}/1_FFPE_raw_variants.vcf 제대로 작동하면, vcf file 형성된 것을 볼 수 있음 참고 - https://gatk.broadinstitute.org/hc/en-us/articles/360037593851-Mutect2  ...

리눅스 기초 #12 BWA mapping

이미지
  기초 #1~기초 #11까지 모두 수행하면, BWA mapping을 할 수 있는 기본적인 형태가 완성됨.  1) 폴더 생성해주기 (본 예제와 동일하게 작동하게 하기 위해서는 동일한 폴더 이름으로 작동해야 편리함) mkdir -p demo/supporting files, demo/VC,  demo/supporting_files/hg38_re, demo/VC/alinged_reads, demo/VC/reads, demo/VC/data 2) 경로 지정해주기 ref="reference 파일 위치" aligned_reads="mapping이 끝난 이후, 저장할 위치" reads="fasta raw 파일 위치" results="최종 결과 저장 위치" alias gatk="/home/sj/Downloads/gatk-4.3.0.0/gatk" 예) ref="/home/sj/Desktop/demo/supporting_files/hg38_chr1/chr1.fa" aligned_reads="/home/sj/Desktop/demo/VC/aligned_reads_first" reads="/home/sj/Desktop/demo/VC/reads_first" results="/home/sj/Desktop/demo/VC/result_first" data="/home/sj/Desktop/demo/VC/data" alias gatk="/home/sj/Downloads/gatk-4.3.0.0/gatk" 3) BWA로 mapping과 samtool이용하여 bam file 까지 형성     (3)의 과정은 indexing이 모두 끝나야 진행 가능함 [참고 #9~#11] 아래의 명령어를 한 줄로 입력  bwa mem -t 4 -R "@RG\tID:1\tPL:ILLUMINA\tSM:...

리눅스 기초 #11 BWA indexing (reference file indexing)

이미지
앞서 경로 지정 명령어 사용 ref="/home/sj/Desktop/demo/supporting_files/hg38_re/chr1.fa" {ref} 경로에는 fa, .dict , .fa.fai 파일이 있어야 함. ex) chr1.fa chr1.fa.fai chr1.dict 하단의 명령어 입력 bwa index ${ref} 명령어가 제대로 작동되면 위와 같은 파일 생성됨. 

리눅스 기초 #9 JAVA 다운로드 받기

이미지
  GATK의 파일과 맞는 버전의 java를 설치해야 함. GATK-4.3.0.0의 경우 JAVA 11로 가능함 GATK-4.4.0.0의 경우 JAVA 17를 사용해야 함.   sudo apt-get update sudo apt-get install openjdk-17-jdk 위의 명령어를 입력하면   Do yot want to continue? 라고 안내가 나오면 y를 입력하면 됨.  설치되면  ~$ java --version으로 확인 그 후 JAVA 설정을 해줘야 함. sudo gedit ~/.bashrc 위의 명령어 입력 -> PW  입력 하단과 같이 나타남.  #JAVA home setting export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java)))) export PATH=$PATH:$JAVA_HOME/bin 위와 같이 .bashrc file에 작성해줄 것 바로 적용하기 $ source ~/.bashrc 설정 확인 $ echo $JAVA_HOME /usr/lib/jvm/java-17-openjdk-am64 참고 - https://davelogs.tistory.com/71

리눅스 기초 #10 GATK calling을 사용하기 위하여, reference file indexing하는 방법

이미지
  GATK를 이용하여 돌연변이를 callilng하기 위해서는 indexing 작업이 필수적임 (대용량의 데이터를 처리하기 간편하게 위해서라고 생각하면 됨) #1) .fai파일 형성하기 samtools faidx ~[reference file을 보관한 경로] 예제는 전체 fasta file를 하기에는 시간상, chromosome 1을 대상으로 진행하겠음. samtools faidx ~/Desktop/demo/supporting_files/hg38_re/chr1.fa 위의 명령어가 제대로 되었다면, chr1.fa.fai 파일이 형성됨. ---------------------------------------------------------------------------------------------------- #2) .dict file 형성하기 GATK를 이용하여 진행할 것이므로 아래와 같이 GATK를 다운 받은 곳을 기반으로 경로 설정이 진행되어야 함. alias gatk ~[GATK을 다운받아서 unzip한 파일의 경로] 예) alias gatk="/home/sj/Downloads/gatk-4.3.0.0/gatk" JAVA 명령어를 이용하여, local.jar file과 spark.jar file를 활성화함. java -jar ~[GATK보관경로]/gatk-package-[버전이름].local.jar 위와 같이 활성화 아래도 똑같이 진행 java -jar ~[GATK보관경로]/gatk-package-[버전이름].spark.jar dictionary file 만드는 명령어 gatk CreateSequenceDictionary R=[reference file 경로] O=[.dict 생성될 경로] (o의 의미는 output) 위와 같이 끝나고 나면 chr1.dict file 생성됨 (생성된 것 확인할 것) 예) gatk CreateSequenceDictionary R=~/Desktop/demo/supporting_files/hg38_re/ch...

리눅스 기초 #8 human reference file 다운 받기

이미지
  [Mapping을 하기 위해서는 human reference file을 받고, 이를 통해 지정해줘야 함.] # reference file 다운 받는 방법 (- defalt값으로 설정된 곳에 다운 받는 것이 아니라, 내가 원하는 폴더를 지정하여 다운 받고자 함.) wget -p [내가 원하는 경로] [다운받을 주소] -1) hg38 모든 fasta file 을 한꺼번에 다운받는 방법 wget -P ~/Downloads/demo/test https://hgdownload.soe.ucsc.edu/goldenPath/hg38/bigZips/hg38.fa.gz 다운 받은 이후, zip 해제 unzip ~/Desktop/demo.test.hg38.fa.gz 위와 같이 폴더를 들어가지 않고 설정하여, unzip 할 수 있음. -2) hg38 모든 chromosome 별로 나눠서 다운로드 받는 방법 wget  -P ~/Downloads/demo/test http://hgdownload.cse.ucsc.edu/goldenPath/hg38/bigZips/chromFa.tar.gz tar xvzf  ~/Desktop/demo/test/ chromFa.tar.gz or  unzip ~/Desktop/demo/test/ chromFa.tar.gz

리눅스 기초 #7 각각의 단어를 이용하여, 경로 지정 방법 (경로를 계속해서 입력해야 할 때, 지정하는 방법)

이미지
  파일들을 분석할 때, 지속적으로 경로를 지정해줘야하는 경우가 있음.  이럴 때, 모두 한꺼번에 명령어를 지정하면 편하기 때문에 이를 위함. ~$ 지정단어 = "경로" ~$ ref="/home/sj/Desktop/demo/supporting_files/hg38_chr1/chr1.fa" 위와 같이 ref로 경로를 지정하고 $ref라는 명령어를 눌러 확인하면, 실제 경로가 설정된 것을 확인할 수 있음. 위와 같이 단어를 통해 명령어를 지정하면 훨씬 편하게, 다음 작업이 가능함.

리눅스_기초 #6. GATK install

이미지
  Sample에 존재하는 Mutation을 확인하기 위하여, GATK tool을 사용함.  따라서, GATK tool을 사용하기 위한 install 방법 1) 하단의 링크를 따라서, 들어가서 zip file 다운받기 https://github.com/broadinstitute/gatk/releases  2) 받은 파일 unzip하기 unzip gatk-4.4.0.0 다음과 같이 unzip 명령어를 사용하면, 파일들이 압축이 해제되는 것을 확인할 수 있음. 

리눅스_기초 #5. Samtool 설치하기 (wget 명령어 사용하여 install)

이미지
리눅스_기초 #4. Samtool 설치하기의 sudo apt-get install이 작동되지 않을 때 사용하는 방법 실제 다운받는 홈페이지 경로를 사용하여, 다운받기 첫 번째, 파일 다운로드 ~$ wget https://github.com/samtools/samtools/releases/download/1.12/samtools-1.12.tar.bz2 다음과 같이 설정된 홈페이지 주소에 포함된 zip file이 다운 받아짐. (wget 명령어를 실제 홈페이지 주소를 넣어서, 그 홈페이지에 존재하는 파일을 다운 받을 때 사용하는 명령어임) 두 번째, zip file 풀기 tar xvjf samtools-1.12.tar.bz2 ls 명령어 입력을 통해 현재 파일에, zip file이 다운받아진 것을 확인할 수 있음. 현재 경로에 다운 받아진 것을 확인하고, zip file을 풀면 위의 image와 같이 파일이 풀리는 것을 확인할 수 있음 그리고 하단의 명령어 입력을 통해 samtool 설정을 완료할 것 cd samtools-1.12/ ./configure make sudo make install export PATH="$PATH:/home/user/Downloads/samtools-1.12" sudo gedit ~/.bashrc export PATH="$PATH:/home/user/Downloads/samtools-1.12" source ~/.bashrc

리눅스_기초 #4. Samtool 설치하기 (sudo apt 명령어 사용하여 install)

이미지
  [mapping된 file에 indexing을 하여, chromosome의 번호에 맞게 sorting하는 역할을 함] 첫 번째, sudo apt-get update 위의 명령어를 치고나면, 비밀번호를 입력하게 되어 있음. enter 친 후, PW를 입력하면 됨 (본인이 설정한 PW) 두 번째, samtool 설치하기 sudo apt-get install samtools 지금 현재 이미 서치된 상태이기에, 0 upgraded, 0 newly installed로 확인되지만,  처음 설치하면,  0 upgraded, 1 newly installed로 나타날 것임.  만약 그렇지 않다면 에러가 뜬 것이니 다시 확인 해볼 것 

리눅스_기초 #3. BWA ailgnment 설치하기

이미지
 [BWA] Fasta file로 존재하는 raw file를 human reference를 기반으로 하여, mappling할 때 사용하는 tool  첫 번째, update를 먼저 진행하기 sudo apt-get update 위의 명령을 입력하면, 비밀번호 입력 안내가 나옴. 그러면 enter 후, 비밀번호를 입력 두 번째, bwa 설치 sudo apt-get -y install bwa (지금 상태는 이미 설치되어, 0 upgraded, 0 newly installed라고 나오지만) 처음 설치하면 0 upgraded, 1 newly installed과 같이 확인됨.  만약  그러한 명령어가 확인되지 않는다면, 에러가 뜬 것이니 다시 명령어를 확인해봐야 함.  

리눅스_기초 #2. 폴더 만들기

이미지
  ~$ mkdir [ 폴더명 ] mkdir test   ls 로 현재 경로의 파일을 확인했을 때 , 아무것도 없었고 , mkdir 의 명령어를 통해 폴더를 생성함 .  한 번에 여러 폴더 한꺼번에 만들기 ~$ mkdir -p [ 폴더명 ]/[ 폴더명 ] mkdir -p test/file1, test/file2   ls test로 test file안에 file, file2의 폴더가 생성된 것을 확인할 수 있음.  따라서, 한 번에 여러 개의 폴더를 생성할 땐 다음과 같이 활용 가능함!

리눅스_기초 #1. 현재 경로에 존재하는 파일들 확인하기

이미지
  #1. 현재 경로에 존재하는 파일들 확인하기 ~$ ls 위와 같이 현재 설정되어있는 경로에 존재하는 폴더 , 파일들이 무엇이 있는지 확인 가능함 .   #2 설정되어 있는 경로 이동하기 ~$ cd [ 원하는 경로 ] cd Desktop/demo 위와 같이 원하는 경로로 이동하면 , 파란색으로 현재 설정된 directory 가 확인됨  ( 참고 cd – change directory 의 약자 )   상위 폴더로 이동 ~$ cd .. 위와 같이 원하는 경로로 이동하면 , 파란색으로 상위 폴더로 이동한 것을 알 수 있음 .   원하는 곳으로 바로 이동하기 ~$ cd / 경로 cd /home