월요일, 10월 29, 2018

Microbiome Database를 만들어볼까? -ChunLab편-

간만에 Microbiome DB 관련 글을 올립니다!
그래봤자 또 다운로드하자 되겠습니다. :)

오늘은 국내 microbiom 기업중 가장 기술력을 가지고 있는
업체인 chunlab의 DB 되겠습니다.

이 DB의 경우 당연히 fee를 내셔야합니다.

라이센스를 정확히 안읽어봤는데..
비영리면 무료였나? 정확하진 않지만
무엇인가 영리 서비스 하고자 EzBioCloud 16S database를 사용하려면
fee를 내야합니다.

다운로드는 다음 링크에 가셔서 다운로드 받으시면 됩니다.

>이곳<

천랩의 DB의 경우 제가 사용하겠다 말겠다할수 있는건 아니라서..
다운로드 받고싶으신 분들만 받아서 잘 사용하시면 되겠습니다.
qiime으로 분석하시는 분들께서는 별 무리없이 사용하시는 파이프라인에 붙여서 사용하실 수 있게 제작되었습니다. 사실 그냥 작동합니다. :)



출처: SM

일요일, 10월 14, 2018

Circos를 그까이꺼 한번 해보자 -설치편-

몇년 전부터 Genome을 그린다면 염색체 모양이 아닌
죄다 동그랗게 그리게 한 장본인!!
바로 그녀석! Circos (발음은 나도몰라 그냥 부르고 싶은데로!!)

공식 사이트: http://circos.ca/

사실 circos는 NY Times와 같은 미언론의 인포그래픽의 한 축을 담당했었는데
지금은 나도 모르겠다능.. 여튼 그래서 circos가 기능은 막강하지만
그만큼 사용하기 까다로워서 동그안 genome은 그려주지만 비슷한 기능을 하는
간단한 프로그램들도 많이 나왔다능....
(그래서 결론은 꼭 circos를 사용해야 그릴 수 있는건 아니라는걸 먼저 밝혀둡니다.)

현재 버전은 0.69-6 랍니다.
제가 마지막에 사용했던 circos버전은 0.67-4라는건 비밀...

그래서 일단 다운받아서 실행해 보았습니다. 업데이트 되면서 몬가 더 필요로 하고 있는지..

$ wget http://circos.ca/distribution/circos-0.69-6.tgz
$ tar zxf circos-0.69-6.tgz
$ cd circos-0.69-6/bin
$ ./circos
하면 (정상적으로 perl들이 설치되어 있어도)에러 납니다.
$ ./circos -modules
하면 설치가 안되어 있는 모듈들을 보여줍니다.
시스템 perl이나 circos가 사용하려는 perl에 circos가 필요로 하는 모듈들을 설치해 주면됩니다. :)
circos 설치 방법을 참고하셔서 설치하시면됩니다.


출처: JYP

일요일, 9월 23, 2018

Microbiome Database를 만들어볼까? -NCBI편 4-

지난번 글에서 받기시작했던 nt.gz파일은 잘 받아졌나요?

그럼 이제 이 파일에서 무엇인가 뽑아내야 겠죠?

무엇을 뽑아내느냐?
16S rRNA를 뽑아낼겁니다.
어떻게?
다음 스크립트를 작성해 봅시다.

$vi parser_nt.py

import glob,sys,re,gzip
from Bio import SeqIO

try:
        input_fa = sys.argv[1]
except:
        print "fasta_split.py <in.fa.gz>"
        exit(1)
for rec in SeqIO.parse(gzip.open(input_fa),format='fasta'):
        desc = rec.description
        seq = str(rec.seq)
        name = desc.strip().split('\x01')[0]
        if name.upper().find(' 16S RIBOSOMAL RNA ') != -1 or name.find(' 16S RIBOSOMAL RNA,') != -1:
                if name.upper().find('MITOCHONDRIA')!= -1:
                        pass
                elif name.upper().find('CHLOROPLAST')!= -1:
                        pass
                elif name.upper().find(' 23S ') != -1:
                        pass
                else:
                        if name.upper().find(' SIMILAR ') != -1:
                                pass
                        elif name.upper().find(' INTRON') != -1:
                                pass
                        elif name.upper().find(' PLASTID') != -1:
                                pass
                        else:
                                print '>%s\n%s\n'%(desc,seq)


※ 위의  스크립트를 수정해서 입맛에 맞게 교정하시고 사용하시면되겠습니다.

$python parser_nt.py nt.gz > nt.fasta
위에 스크립트 실행시키면 떡 하니 수 gb 짜리 파일이 하나 나올겁니다.

이 파일안에는 nt서열 중에서 16S rRNA 서열 (대신 mitochondria와 chloroplast의 16S rRNA는 제외하고 이것도 16S rRNA지만 저한테는 일단 필요없어서 뺐습니다. 사용하고 싶으시면 사용하셔도 됩니다. :) )이 500만개 정도 들어 있습니다.

이 파일에는 온갖 종의 16S rRNA 서열이 있지만 문제가 있다는 점!

16S rRNA 서열이 품질이...
어떤 녀석은 full 서열이 있지만 어떤녀석은 서열의 일부만 가지고 있는 경우가 있습니다.

그래서 그런 녀석들을 잘 확인해서 제거를 하던지 merge를 하던지... 

그건 개인 취향으로 남겨 놓도록 하겠습니다. :)
aka 필터링을 하던 안하던 문제 생기면 그 문제의 책임은 오롯이 당신의 것!!

그리고 즐거운 추석보내시기 바랍니다. :)

출처 SM


수요일, 9월 19, 2018

Microbiome Database를 만들어볼까? -NCBI편 3-

지난 시간에 이곳에서 귀한 자료를 받아 봤을 겁니다.
그게 무엇이냐!!!

지금까지 공개된 bacteria의 서열들이죠 정확하게 말하면
현재까지 수많은 연구자들이 자발적(자의타의)으로
공개해준 것을 NCBI가 아름답게 정리한 RNA서열들만 다운받았습니다.

근데 우리는 RNA 서열이 아니라 rRNA 서열이 필요하죠

이전 글에서 우리는 rna라는 폴더 안에 12만개에 달하는 파일들을 다운받았습니다.
아마 그냥 ls하시면 어쩌구 저쩌구 long 할겁니다.
ls로 불러오기에 item이 너무 많다 이거죠
그럼 어쩌지?? @.@

우리에겐 귀도 훃님의 파이썬이 있지 않겠습니꽈

간단하게 다음과 같은 스크립트를 뚝딱 뚝딱 만들어보죠

import os,glob
from Bio import SeqIO
for files in glob.glob('rna/*gz`):
    for rec in SeqIO.parse(gzip.open(files), format='fasta'):
        name =rec.description
        seq = rec.seq
        if name.find('[product=16S ribosomal RNA]') != -1:
            print '>%s\n%s\n'.format(name,seq)

(python2.7에 Biopython이 설치되어 있어야 하고 *_rna_form_genomic.fna.gz 파일이 rna폴더 밑에 위치하고 있어야 합니다.)

$python script.py > ncbi.fa

라고 해주면 헤더에 "[product=16S ribosomal RNA]"가 포함된 aka 우리가 원하는 바로 그것! 16S rRNA 서열을 각 종에서 샤샤샥 ncbi.fa라는 파일에 저장할 수가 있습니다.

-12만개 파일 읽어 오는거라 순차적으로 하면 3-4시간 걸릴것이고
subprocess로 잘 해주시면 적어도 십수분? 30분이내면 충분히 끝날각 되겠습니다.

출처: SM Town

화요일, 9월 18, 2018

Microbiome Database를 만들어 볼까? -RDP편-

RDP
이름에서 똭 느껴지지 않으십니까?
Ribosomal Database Project

일반 fasta/gb 자료가 있고
trainset 데이터가 있습니다.

Bacteria unalign seq (fa,gb)
Archaea unalign seq (fa,gb)

Train Set 은 여기서 받으시면됩니다.

근데 RDP 같은 경우 사실 그냥 별 이유 없이 받아보는 겁니다. ㅋ
-저도 이게 어떻게 쓰일지 잘 모르겠어요 :)

출처 JYP