화요일, 2월 04, 2020

2019-nCoV Tree 그려보기 -2-

2019-nCoV Tree 그려보기 1편에서 어라?
실망하셨던분들을 위해 준비한 2편 되겠습니다.

일단 일전에 말씀드린것과 같이 NCBI 홈페이지가서 다음과 같이 genbank파일을 입맛에 맞게 받으시면 되겠습니다.

refseq말고 다 받고 싶으시면 다 받으셔도 되요.



[Create File] 버튼을 클릭하시면 sequences.gb? 라는 파일로 다운로드가 될것입니다.
(사실 fasta파일로 받으셔도 상관은 없는데... genbank파일로 받으시는게 나중에 더 많은 일을 하실 수가 있으십니다.)

(20년 2월 3일 기준 coronavirus nucleotide 서열 다받으니 대략 300M정도 나왔습니다.)

그럼 이 파일가지고 어쩌라고?
라떼는 fasta파일 가지고.. 어? 마? 그랬는데?
그래서 준비했습니다. gb파일을 fasta파일로 만들어주는 바로그 스크립트!

import os,sys
from Bio import SeqIO
inFile = 'sequences.gb'
for rec in SeqIO.parse(inFile, "genbank"):
seq_id = rec.id
seq_name = rec.name
seq_desc = rec.description
seq_seq = rec.seq
print '>{}|{}\n{}'.format(seq_name,seq_desc,seq_seq)

이렇게 하면 다운바은 sequences.gb파일의 nucleotide 전체 서열을 fasta파일로 만들어주게 됩니다. 만약 나는 다 필요없는데... 하시는 분은
print 전에 if문 넣어서 특정 seq_name의 서열들만 혹은 seq_desc안에 특정 문자열.. 예를 들어 wuhan과 같은 내용이 있는 서열들만 선별해서 fasta파일로 만들 수 있습니다.
참 쉽죠?

그럼 다음 이시간에는 MEGA-X를 사용하는 방법을 얘기해보도록 하겠습니다. 제발~







출처: @sana_twice.09

일요일, 2월 02, 2020

2019-nCoV Tree 그려보기 -1-

2020년 정월 초하루가 얼마 지나지 않은 나날 동안 한중일이 아닌 전세계가 코로나 바이러스 때문에 홍역을 치르고 있습니다.

초기 방역로 이렇게 급속도로 전세계로 퍼져나가 감염자 및 사망자가 증가하고 있는 가운데 이 짧은 기간 동안에 다양한 연구 결과들이 나오고 있는데...

신종코로나 바이러스 논문들을 보고 있노라면 정렬을 왜그리 해대는지 그리고 무슨 나무를 왜그렇게 그려대는 걸까? 라는 궁금증을 가지시는 분들이 있을 것이라고 생각해서 그런게 무엇인지 그리고 나는 그려볼 수 없는지 하시는 분들을 위해서 MEGA를 이용한 corona virus phylogenetic tree를 한번 그려보고자 합니다.

이거대로 따로하면 당신도 tree 전문가(는 아니고 그냥 tree draw skill +1)

연구자들이 NCBI에 서열들이 올라와 있다고 얘기를 하고 서열들을 서로 비교한다는데
그럼 NCBI는 어떻게 접속하고 서열들은 어떻게 받지?

NCBI는 구글에 물어봐도 되고 네이버에 물어봐도 됩니다.
https://www.ncbi.nlm.nih.gov/


여기에 그냥 검색하듯 coronavirus를 검색하면 다음과 같이 나오는데..


이걸 어떻게 받나?
하나하나 집념으로 다운받으셔도 되고요...

다음과 같은 방법도 있습니다.



아까의 화면에서 Viruses, genomic, RefSeq 항목을 클릭해주면 해당 항목을 만족하는 서열들만 선택이 됩니다.

그리고 오른쪽 상단에 있는 Send to: 라는 항목을 클릭하면...!!
다음 이미지에 나와 있는것처럼 다운 받으시면 되겠습니다.



다운로드한 genbank파일을 parsing해서 비교해보고 싶은 부위의 서열을 득해서
MEGA라는 프로그램을 다음 url(https://www.megasoftware.net/)에서 다운로드 받아 설치한 후 입력한후 서열 정렬 및 Tree 작업을 해주면...

요렇게 이뿌게 Tree를 만들어 줍니다.

이렇게 포스팅을 끝내면 저게 모야? 라고 쌍욕을 날리실겁니다!

그래서 Tree 그릴때 필요한 서열을 수집하는 작업과 관련 스크립트에 대해서도 자세히 적어보는 글은 조만간 투척하도록 하겠습니다. :)



출처: @sana_twice.09

수요일, 12월 18, 2019

genpept 파일을 parsing하고 싶을때


genpept는 무슨 파일인고?

자세한 설명은 >여기<

간단히 얘기하자면 예전에 사용하셨던 genbank 파일 포맷입니다.
이름만 바꾼건지 모 그렇습니다. ㅎㅎ
biopython에서도 genpept가 아니라 genbank를 사용해서 접근하면 잘 parsing됩니다.


import os,sys
from Bio import SeqIO
try:
    inFile = sys.argv[1]
except:
    print ''
    exit(1) 
for seq_record in SeqIO.parse(inFile, "genbank"):
    print (seq_record.id)
    print (seq_record.name)
    seq_anno = seq_record.annotations
    print (seq_anno['accessions'])
    print (seq_record.seq)


이렇게 코드 짜서 사용하시면 됩니다. annotations안의 정보는 dict형식이라서 dict사용하는방식으로 확인 할 수 있습니다.

간만에 gp파일 다운받아서 정리하는 김에 biopython의 genbank 사용법 정리해보았습니다.  :)

크.. WSL이 있으니 참 편하긴 합니다.



출처: @sana_twice.09


토요일, 12월 14, 2019

qiime2 -시작하기1-

qiime을 한번 실행시켜 봤습니다.

저는 완벽한 ubuntu 시스템이 아닌 윈도우에서 지원하는 linux subsystem에서 ubuntu 18.04 LTS를 설치해서 사용하고 있습니다.

그래서 약간 이글을 보시는 분들과 환경이 다소 차이가 날 수 있는걸 감안하시고 봐주시기 바랍니다. :)
-근데 지금까지 크게 차이 안나는거 같습니다. ㅎㅎ 소스 컴파일을 빡시게 해봐야 좀 차이가 나는걸 느낄수도...

WSL의 ubuntu를 시작하면 걍 shell창이 뜹니다.

그러면 qiime2를 원할하게 사용하기 위해서
conda env를 활성화 시켜보겠습니다. (물론 꼭 conda를 활성화해서 안해도 사용 가능핧!!..)

$conda activate qiime2-2019.10
하면 다음과 같이 conda env환경이 활성화 됩니다.
(qiime2-2019.10)$

다음과 같이 qiime 명령어를 실행시켜주면
(qiime2-2019.10)$qiime






















사용가능한 명령어들을 표시됩니다.
사용 방법은 모 알고 있다 싶이 qiime뒤에 명령어 입력해서 엔터치시면
(qiime2-2019.10)$qiime [command]

또 각 명령어에서 사용 가능한 sub command들을 볼 수 있습니다.

이제 qiime2를 본격적으로 사용하시기 전에 qiime glossary를 잘 일독하시고 사용하시면되겠습니다.

튜토리얼 페이지 상단에 이렇게 적혀있습니다.
Abandon all hope, ye who enter. If you have not read the glossary.
(신곡을... ㅋㅋ 센스가..) 꼭 읽으십시요!!

여튼.. 저는 glossary없이 qiime2를 접했을 때 첫 관문이 artifact, artifact를 이런 의미로  사용할 줄이야.. artifact는 원래 제거 대상아니었나요 Orz

qiime1으로 파이프라인 셋업해본 분이시라면 이건 모 신세계 아니겠습니까!!
일목요연한 명령어 리스트를 명령어 하나로 볼 수 있다니.. 아놔

그럼 다음에 또 명령어 몇개 실행해보고 다시 와보겠습니다. :)


출처: @sana_twice.09

※ 짧게라도 정리해서 일주일에 한개는 포스팅 할 줄 알았는데 이거 모 보름에 하나 겨우겨우 하네요.. ㅋ 정신을 가다듬을 정신이 없어서... 일단 되는대로 한번 업데이트 하는걸로...

일요일, 12월 01, 2019

qiime2 설치편

지난번 qiime2 파헤치기에 이어
이번에는 설치편!!
WSL을 이용하여 우분투 18.04 LTS에 설치하는것처럼 흉내를 내보겠습니다.

윈도우 10에서 WSL을 활성화시키고 Ubuntu를 설치하면 되겠습니다.
자세한 내용은 >여기< 를 참고해주시면 될것 같습니다.
(저도 이분의 블로그를 보고 WSL 셋팅하고 ubuntu 설치했습니다. :) )

위에서 우분투 설치후 apt-get update와 build-essential같은 패키지 설치해 주시면 다음 작업에 크게 문제가 생길일은 없으니 설치하라고 하시는거 다 설치해주시면됩니다만 생정보도구중에 특이하게 요구하는 패키지를 사용하는 프로그램 쓰시는 분이라면 알아서 하실만하리라고 봅니다. :)

여튼 ubuntu 업데이트까지 되고 나면

qiime2를 설치하기 위해 conda를 설치하시면됩니다.

conda는 miniconda2를 사용하였고 자세한 설치 화면은
>여기< 를 참고하시면되겠습니다.

$wget https://repo.anaconda.com/miniconda/Miniconda2-latest-Linux-x86_64.sh
$sh Miniconda2-latest-Linux-x86_64.sh

miniconda2를 설치한 이후에는 qiime2의 설치 안내 페이지에 나와 있는대로
진행해주시면됩니다. 자세한 내용은 >여< 에 나와있습니다.

$conda update conda
$conda install wget
$wget https://data.qiime2.org/distro/core/qiime2-2019.10-py36-linux-conda.yml
$conda env create -n qiime2-2019.10 --file qiime2-2019.10-py36-linux-conda.yml

conda에 설치된 qiime2를 사용하려면 qiime2가 설치된 conda환경인 qiime2-2019.10을 활성화 시켜주면됩니다.
$conda activate qiime2-2019.10

활성화된 환경을 비활성화 하려면 다음과 같이..
$conda deactivate

일단 설치는 했습니다.

다음에 사용해보아요~ :) 제발~


출처: @sana_twice.09