User Tools

Site Tools


detection_of_recombination_in_bacterial_genomes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
detection_of_recombination_in_bacterial_genomes [2018/06/15 10:52] – created hyjeongdetection_of_recombination_in_bacterial_genomes [2021/03/17 13:09] (current) – external edit 127.0.0.1
Line 7: Line 7:
 이 페이지에서는 Gubbins(Genealogies Unbiased By recomBinations in Nucleotide Sequences, [[https://academic.oup.com/nar/article/43/3/e15/2410982|논문]] [[https://sanger-pathogens.github.io/gubbins/|웹사이트]])을 이용하여 미생물 유전체로부터 recombination이 일어난 곳을 찾아내고 이를 시각화하는 방법을 알아본다. 이 페이지에서는 Gubbins(Genealogies Unbiased By recomBinations in Nucleotide Sequences, [[https://academic.oup.com/nar/article/43/3/e15/2410982|논문]] [[https://sanger-pathogens.github.io/gubbins/|웹사이트]])을 이용하여 미생물 유전체로부터 recombination이 일어난 곳을 찾아내고 이를 시각화하는 방법을 알아본다.
 ===== Genome alignment의 생성 ===== ===== Genome alignment의 생성 =====
 +==== Snippy ====
 +Snippy([[https://github.com/tseemann/snippy|GitHub]])는 raw sequencing read와 contig를 전부 사용할 수 있는 유연한 도구이다. 그러나 설치 과정에서 에러가 발견되어 이를 극복하는 과정을 상세히 기술하고자 한다. 
  
 +Snippy는 BioConda에 포함되어 있어서(최신 버전 4.0_dev) 설치는 매우 쉬웠다. 별도의 환경을 만들지 않고 Base에서 설치하면 된다. 설치를 마친 뒤 모든 프로그램이 다 깔린 상태인지를 snippy --check 명령으로 확인을 하니 vcfirstheader가 없다는 메시지가 나왔다.
 +이 유틸리티는 vcflib([[https://github.com/vcflib/vcflib|GitHub]])에 포함되어 있으므로 git clone 명령을 사용하여 수작업으로 설치하였다. 그리고 설명 파일에서 소개한 대로 <PathWhereIWantToCloneVcflib>/vcflib/bin/을 PATH 환경변수에 추가하였다.
 +
 +그런데 snippy의 첫 실행에서 다음과 같은 에러가 발생하였다.
 +
 +  java.lang.RuntimeException: Error parsing property 'ref.AE015924.codonTable'. No such codon table 'Bacterial_and_Plant_Plastid'
 +  ...
 +  
 +이에 대해서는 이미 snippy issue 페이지에 154번째 문서로 보고된 상태이다([[https://github.com/tseemann/snippy/issues/154|링크]]). 2018년 4월부터 시작된 쓰레드이므로 매우 최신의 에러라고 할 수 있다. 이에 대하여 3.2 버전을 쓰라는 조언이 있었다. 더욱 바람직하게는 4.0 안정화 버전이 빨리 나와야 한다.
 +
 +  conda remove snippy
 +  conda install -c bioconda -c conda-forge snippy=3.2
 +
 +이렇게 한 뒤 다시 테스트 러닝을 하였으나 제대로 결과가 나오지 않았다. snps.log 파일을 열어보니 이번에는 다음과 같은 내용이었다.
 +
 +  /data/anaconda2/bin/freebayes-parallel: line 40: ../vcflib/bin/vcfstreamsort: 그런 파일이나 디렉터리가 없습니다
 +  /data/anaconda2/bin/freebayes-parallel: line 40: ../vcflib/scripts/vcffirstheader: 그런 파일이나 디렉터리가 없습니다
 +  
 +/data/anaconda2/bin/freebayes-parallel의 40번째 라인을 찾아가서 위 두 가지 유틸리티 앞에 붙은 상대경로를 지워버렸다. 이렇게 하니 비로소 정상적인 실행이 되었다. 일반적인 실행 방법은 다음과 같다.
 +
 +  $ snippy --cpus 16 --outdir mysnps --ref E_coli.gbk --R1 read_1.fastq.gz --R2 read_2.fastq.gz
 +  $ snippy-core --prefix core mysnps1 mysnps2 mysnps2 
 +snippy-core 결과물인 core.full.aln(whole genome SNP alignment including invariant sites)을 gubbins에 이용하면 된다.
 +==== Harvest suite (parsnp) ====
 +[[http://harvest.readthedocs.io/en/latest/index.html|Harvest suite]]는 동일 종에 속하는 미생물 유전체를 신속하게 비교하여 core-genome alignment를 만들고 시각화하는 도구이다. 
 +  * Parsnp - core-genome alignment and analysis
 +  * Gingr - interactive visualization of alignments, trees and variants
 +  * HarvestTools - Archiving and postprocessing
 +Parsnp가 기본적으로 생성하는 출력파일은 다음의 세 가지이다. Gingr에서 .ggr 파일을 열면 MFA 파일로 export할 수 있다. XMFA(eXtended Multi FastA) 파일의 포맷은 [[http://darlinglab.org/mauve/user-guide/files.html|여기]]에 설명되어 있다.
 +  parsnp.ggr   parsnp.tree   parsnp.xmfa
 +
 +HarvestTools 유틸리티는 좀 더 다양한 포맷간의 전환을 도와준다. Gingr 혹은 harvesttools에서 전환 가능한 파일 포맷에 대한 상세한 내용은 [[https://harvest.readthedocs.io/en/latest/content/gingr/types.html|여기]]를 참고하라.
 +  $ harvesttools -i parsnp.gingr -M multiFASTA.fna # (concatenated LCBs)
 +이렇게 만들어진 multiFASTA 파일을 gubbins에 입력물로 제공해도 실행에는 문제가 없다. 그러나 LCB(locally collinear block)을 갭 없이 이어붙인 것이라서 원래의 좌표 정보가 더 이상 유효하지 않다. parsnp.xmfa를 정밀하게 parsing하면 reference coordinate에 맞추어서 각 LCB 사이에 알맞은 길이의 gap을 넣어서 연결한 서열을 만드는 것이 가능할지도 모른다. 하지만 그렇게 하느니 처음부터 whole genome alignment를 만드는 snippy를 쓰는 것이 바람직할 것이다.
 ===== Gubbins ===== ===== Gubbins =====
 +  * [논문] Rapid phylogenetic analysis of large samples of recombinant bacterial whole genome sequences using Gubbins. Nucl Acid Res 2015 [[https://www.ncbi.nlm.nih.gov/pubmed/25414349|PubMed]]
 +  * [[https://www.sanger.ac.uk/science/tools/gubbinshttps://www.sanger.ac.uk/science/tools/gubbins|웹사이트]] [[https://github.com/sanger-pathogens/gubbins|GitHub]]
 +BioConda 패키지를 이용하여 설치하였다(py35 environment).
  
 +  $ run_gubbins.py dataset.aln
 +  $ gubbins_drawer.py -o result.pdf dataset.final_tree.tre dataset.recombination_predictions.embl
 +  $ gubbins_drawer.py -o results_SNPS.pdf dataset.final_tree.tre dataset.branch_base_reconstruction.embl
 ===== Visualization using phandango ===== ===== Visualization using phandango =====
  
detection_of_recombination_in_bacterial_genomes.1529027541.txt.gz · Last modified: (external edit)