반응형

Remove duplicates




Illumina 같이 PCR amplification이 포함되어 있는 NGS 기술을 사용하면 특정 reads가 과도하게 증폭되는 현상이 나타난다. 이를 제거하기 위한 방법이 remove duplicates 이다.

가장 많이 쓰이는 프로그램은 Picard에 있는 Markduplicates이며 samtools에도 rmdup라는 비슷한 방식이 존재한다.

가능하면 Picard를 쓰는 것을 추천하는데 samtools는 read의 chromosome, position만 고려하여 duplicate여부를 판단하고 제거하는 반면에 Picard는 additional information도 고려하여 duplicate여부를 판단하기 때문이다. 단 Picard를 쓸 때는 모듈 명처럼 duplicate 여부를 마킹하는 것이기 때문에 이후 분석 tools에서 마킹여부를 고려하지 않을 수 있다.

이럴때는 Markduplicates 모듈을 쓸 때 duplicate된 read를 제거하는 옵션에서 true를 걸어놓는것이 좋다.

source -

https://www.biostars.org/p/105291/
http://seqanswers.com/forums/showthread.php?t=5424


반응형

'bioinformatics' 카테고리의 다른 글

MultiQC 설치 및 실행하기  (1) 2018.07.31
RPKM, FPKM and TPM의 정의  (0) 2018.07.27
Gene ontology analysis - DAVID  (0) 2018.07.16
_PAR_Y in Genecode annotation  (0) 2018.07.13
HLAtyping  (0) 2018.07.06
반응형

F-measure




F-measure란 classifier가 얼마나 정확하게 분류를 하는가를 판단하는 척도 중에 하나이다.

F-measure의 계산을 위해서는 precision과 recall을 구해야 한다.

precision (정확도)

- precision은 positive predictive value (PPV) 라고도 불리며 true positive / total positive 를 의미한다. 즉 양성이라고 판단한 전체 중에 진짜 양성의 비율이다.
- 즉 양성이라고 판단을 했다면 그 판단이 얼마나 정확한 지를 수치화하는 지표이다.

recall (재현율)

- recall은 sensitivity와 동일한 의미를 가진다. ture positive / real positive로 진짜 양성 중에 양성이라고 올바르게 판단내린 비율을 말한다.
- 재현율은 얼마나 대상을 빠트리지 않고 잡아내는지를 나타낸다. 다시 말해서 전체 데이터(대충 1000개라고 치자)에서 찾고자하는 A가 100개가 있는데 내가 정답이라고 생각한 것 300개를 골라냈는데 그 중에 A가 80개 존재했다고 하자.  내가 정답으로 골라낸 것이 몇 개인지 상관없이 재현율을 80%(80/100)라고 한다. 찾은 데이터가 진짜인지 여부는 위의 정확도에서 계산하게 될 것이기 때문이다.

결과적으로 재현율과 정확도가 모두 높다면 원하는 정답을 100% 찾을 수 있겠지만 
재현율만 높다면 정답이라고 생각되는 부분을 많이 찾겠지만 대부분이 오답일 것이고, 
정확도만 높다면 정답를 찾았다고 하는 개수가 몇 개 안되겠지만 적어도 그 부분들에 한해서는 대부분이 정답일 것이다.

헷갈리는 부분이 있다면 아래 포스팅을 참고하자.


2018/07/11 - [bioinformatics] - 민감도와 특이도



두 값을 모두 구했다면 F값을 계산하면 된다.


F = 2 * ( precision * recall / precision + recall ) 


위의 값대로 계산하면 precision과 recall의 조화평균을 구할 수 있다.


precision과 recall등은 파라미터 등에 의해 조절될 수 있기 때문에 ROC 커브를 그려서 프로그램의 전반적인 성능을 테스트 할 수도 있다. 


이 부분에 대해서는 추후에 다루도록 하겠다.


source -

https://en.wikipedia.org/wiki/F1_score

https://en.wikipedia.org/wiki/Precision_and_recall

반응형

'Data Science > statistics' 카테고리의 다른 글

Multiple Comparsion Problem  (1) 2018.07.11
민감도와 특이도  (0) 2018.07.11
반응형

Gene ontology analysis - DAVID




DAVID는 Database for Annotation, Visualization and Integrated Discovery의 약자로 유전자 리스트를 입력으로 받아 각 유전자의 기능은 해석해주는 웹 제공을 기반으로하는 무료 툴 이다.



주로 유전자 기능 분류를 하거나 기능을 모를때 주석을 달기 위해 사용되며 이를 위해 현재 공개되어 있는 주요한 데이터베이스의 정보를 대부분 가져와 직접시켜 DAVID만의 데이터 베이스를 만들고 있다.


주요 기능으로는 유전자 리스트가 주어졌을 때

- 특정 기능에 대한 유전자들이 많이 포함되었는지

- 비슷한 기능을 가진 유전자들의 그룹화

- BioCarta & KEGG pathway map과의 가시화된 연결

- 2-D로 유전자와 특정 묶음간의 연관성

- 유전자와 상호작용하는 단백질 리스트

- 유전자의 질병간의 연관성 리스트

- 단백질의 기능적 도메인과 모티프

- 관련 문헌

- 유전자 ID를 다른 ID로 변환 ex) ensembl id에서 refseq id로


등등이 존재한다.


DAVID를 실제로 사용하기 위해서는 gene id list가 필요하다. gene symbol인지 특정한 데이터베이스에서 사용하는 ID인지는 ID mapping 과정을 통해 변환하는 과정이 있기 때문에 크게 중요하지 않다.



step1의 A에 유전자 ID를 직접 넣거나 한 줄에 하나씩 입력된 파일을 B에 넣고 step2의 identifier는 어떤 종류의 ID를 사용하고 있는지 넣은 후 step3의 gene list를 체크 후 submit 하면 된다.


당장 파일이 없을 땐 demolist를 눌러서 진행한다.



입력한 gene id를 기반으로 어떤 종에서 찾고싶은 것인지 선택하여야 한다. 만약 넣어준 gene list의 매칭되는 종이 있다면 위와같은 화면이 나오겠지만 없다면 mapping과정을 진행하는 창이 뜰 것이다. mapping 과정은 gene id를 통일하는 과정이다. mapping이 진행되고 나면 위와 같은 화면이 나온다.



Use 버튼을 눌러 분석을 실행했다면 위와같이 특정한 분류대로 어떤 유전자가 많이 포함되어있는지를 보여준다. 



가장 밑의 Functional Annotation Clustering은 누르면 모든 cluster에 대해서 어떤 유전자가 어떻게 묶였으며 각 p-value는 어떻게 되는지 확인할 수 있다.



위와 같이 그룹화된것을 확인하고 p-value, Benjamini, FDR 값을 토대로 특정 값 이하의 그룹을 significant하다고 정의내린 후 결과를 정리하면 된다.


통계 방법에 대한 정의는 아래 포스트를 참조하면 된다.


2018/07/11 - [bioinformatics] - Multiple Comparsion Problem



DAVID에서 제공하는 FDR값은 정상적이지 않다. 제일 마지막 줄에 있는 그룹만 봐도 FDR값이 3.3인데 FDR음 0에서 1 사이의 값을 가져야 한다.


Benjamini 값을 토대로 cutoff를 정하면 될 것이다.




source -

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2375021/

https://david.ncifcrf.gov/

반응형

'bioinformatics' 카테고리의 다른 글

RPKM, FPKM and TPM의 정의  (0) 2018.07.27
Remove duplicates  (0) 2018.07.24
_PAR_Y in Genecode annotation  (0) 2018.07.13
HLAtyping  (0) 2018.07.06
CRISPR editing  (0) 2018.04.05
반응형

_PAR_Y in Genecode annotation


htseq-count를 돌렸는데 genecode annotation을 사용하였다.


결과로 나온 gene_id 중에 _PAR_Y라는 태그가 붙어서 나오는 것을 확인하였다.



특이하여 genecode 홈페이지에 직접 들어가서 무슨 의미인지 확인해보니 염색체 Y의 "pseudoautosomal region" (PAR)에 존재하는 유전자라는 뜻으로 염색체 X와 Y에 동일한 서열부분에 존재하는것을 의미한다. 



실제로 annotation file을 열어보면 염색체 X에는 "ENSG00000124333.15_2"라는 gene_id가 염색체 Y에는 "ENSG00000124333.15_2_PAR_Y"라는 gene_id가 존재하는것을 확인할 수 있었다.



source -

https://www.gencodegenes.org/faq.html

반응형

'bioinformatics' 카테고리의 다른 글

Remove duplicates  (0) 2018.07.24
Gene ontology analysis - DAVID  (0) 2018.07.16
HLAtyping  (0) 2018.07.06
CRISPR editing  (0) 2018.04.05
Stem cell  (0) 2018.04.05
반응형

neocomplcache vim plugin 설치하기




neocomplcache는 autocomplpop과 비슷한 자동완성 플러그인이다. vim에서 작업할 때 변수명이 길어지거나 외부 폴더 경로를 잡는데 유용하게 사용할 수 있다.



이미 선언한 변수도 가능하며



폴더에도 아래처럼 적용 가능하다.


아래의 목록이 떳을 때 방향키로 선택 후 엔터를 누르면 바로 적용된다.


설치 방법은 vim 플러그인 매니저를 사용하지 않고 메뉴얼하게 설치하는 방법만 설명하기로 한다.


git 저장소의 위치는 아래와 같다


https://github.com/Shougo/neocomplcache.vim


다운로드 후 폴더를 열면 autoload, doc, plugin README.md 등의 파일이 존재한다.


이 폴더들은 그대로 ~/.vim/ 아래에 붙여넣으면 설치는 끝난다.



설치 후에 플러그인을 실행하기 위해서는 두 가지 방법이 있는데 


첫째는 vim 실행 후 명령 모드에서 아래 명령을 실행하는 것이며


NeoComplCacheEnable


두번째는 ~/.vimrc에 아래와 같은 명령을 작성하는 것이다.


vimrc파일이 없다면 생성하면 된다.


let g:neocomplcache_enable_at_startup = 1


첫번째 방법은 vim을 실행할 때 마다 입력해줘야 적용이 되고 vimrc에 작성하는 방법은 vim을 실행할 때 마다 vimrc파일을 읽으면서 플러그인을 적용시키는 방법이다.



반응형

'Computer Science > linux' 카테고리의 다른 글

특정 파일이나 디렉토리를 남기고 모두 지우기  (0) 2018.09.03
리눅스에서 프록시 설정하기  (0) 2018.07.26
samba 설정하기  (0) 2018.02.02
awk 응용하기!  (0) 2017.10.18
MPC 설치하기  (0) 2017.09.19

+ Recent posts