Wednesday, June 13, 2018

LASTZ 사용해보기


LASTZ Site

LASTZ README


간만에 긴 DNA 서열 두개를 alignment를 할 일이 생겨서
이것저것 찾아보다가
알게된 lastz

맨날 bwa/bowtie랑 blast만 주구장창 돌리다보니..
두개만 alignment 할때 뭘써야 하는지도 모르는 바보가 된듯.. 여튼

lastz의 전신이 blastz(ncbi의 blast랑 관련이 있는지는 모르겠고)였고
오래전에 Human이랑 Mouse 비교해봤다는 유물을 확인 할 수 있었다는게 소득이라면 소득?

lastz 설치랑 사용법이야 일단 다운받고
make && make install이나 chmod 755 lastz하면 대략 작동할것같지만
옛 유물처럼 Human vs Mouse 비교해볼요량이면 build할때
옵션좀 만져주셔야합니다.

그리고 이번에 작업하면서 알게된 놀라운 사실!!
서열에 ambiguous 서열이 있어도 비교가 가능합니다.!! @.@

--ambiguous=iupac
라는 옵션을 사용하면 비교는 해줍니다.
단, --ambiguous=n는 ambiguous base를 N으로 인지하겠다는것이 아니라는것이 함정! (>_<)

Wednesday, April 18, 2018

PRINSEQ 설치

PRINSEQ Site

세상에는 다양한 fastq 파일을 핸들링하는 tool들이 있는데
최근에 microbiome작업하면서 다시 손댄 tool
-다른 tool들 대비 stat 자동화하기 나쁘지않아 보였고 이미지가 좀 이쁘지않나?

여튼.. 문제는 2013년 이후 업데이트되지 않았다는게 좀 그런데..
모 그렇다고 실행되던게 갑자기 안되지 않으니..
설치해서 사용했었으니 사용해도 무방하다. :)


>wget https://sourceforge.net/projects/prinseq/files/standalone/prinseq-lite-0.20.4.tar.gz
>tar zxf prinseq-lite-0.20.4.tar.gz

lite 버전을 설치하려면 다음과 같은 perl 모듈을 설치해줘야 프로그램이 실행된다.
#use Data::Dumper; ###
use Getopt::Long;
use Pod::Usage;
use File::Temp qw(tempfile); #for output files
use Fcntl qw(:flock SEEK_END); #for log file
use Digest::MD5 qw(md5_hex); #for dereplication
use Cwd;
use List::Util qw(sum min max);

그리고 graph버전을 설치하려면 다음과 같은 perl모듈을 설치해줘야 하니
prinseq설치 전에 미리미리 설치하는것에 정신건강에 이롭다.
use Getopt::Long;
use Pod::Usage;
use File::Temp qw(tempfile); #for output files
use Fcntl qw(:flock SEEK_END); #for log file
use Cwd;
use JSON;
use Cairo;
use Statistics::PCA;
use MIME::Base64;
use File::Basename;
use Data::Dumper;

다른 생정보관련 프로그램을 설치했다면 대부분 설치되어있을듯...

만약 추가적인 설치가 필요하면 
cpan 실행해서 필요한 모듈 install해주면 된다능..

아니면 이런거 대신 해주는 팀원이나 부서원이 있는 회사다니시면 됩니다. :)

Tuesday, April 17, 2018

FastQC 설치

FastQC Site

원하는 위치로 이동하여 다음 명령어를 실행
>wget https://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.7.zip
>unzip fastqc_v0.11.7.zip
이라고 실행하면 FastQC폴더가 생성되면서 압축해제
>cd FastQC
>chmod 755 fastqc
>./fastqc -h

하면 도움말이 주루룩..

Tuesday, March 27, 2018

qiime에서 reference에 tree 파일이 없을때..

qiime을 사용하려고 하는데
기성복처럼 제공되는 천랩 db이나 gg database말고
다른 몬가 나 qiime 좀 잘한다고 자랑하려고
다른 microbiome database(근데 그런게 있나?? 직접 만들어봤자.. ) 사용하고자할때! 바로 그 순간

서열은 가지고 있지만 qiime에서 분석하다보면 db가 custome일 경우
tree파일이 없어서 몇몇 분석은 진행 못합니다.

기껏 폼좀 잡았는데 왠 개망신 Orz

자 그래서 우리의 Rob 횽님께서는 미리미리 준비하셨습니다.

일단 두개의 스크립트를 제공하고 있습니다.
1) align_seqs.py
2) make_phylogeny.py

이름보니깐 딱 느낌이 오죠
사실 이 작업에서 1번 스크립트는 필수 파일은 아닙니다.
2번 스크립트만 있으면 됩니다.
1번은 2번 스크립트에서 입력받을 수 있는 format의 alignment로 대신 할 수 있습니다.
-그러나 저는 그렇지 않았다능!! 어떤 값을 입력값으로 받는지 궁금하시면 직접해보시면됩니다.!

그러나 우리 Rob 횽님께서 qiime 패키지안에 넣어주셨는데 한번 써봐야하지 않겠습니꽈!

우선 분석에 사용할 rep set fasta 파일은 준비합니다.

설명페이지 align_seqs make_phylogeny

align_seqs.py -i ref.fasta -m pynast -o pynast

make_phylogeny.py -i /path/to/aligned.fasta -o /path/to/rep_phylo.tre

두 스크립트를 순서대로 실행시키시면
짜란~!!
rep_phylo.tre를 손에 거머쥘수 있습니다.!

그럼,

May the Genome be with you.


Tip. align_seqs의 -m (--alignment_method) 인 정렬 method에는
pynast, infernal, clustalw, muscle, mafft이 존재하지만
제 경우 pynast이외의 경우 에러가 발생하여 진행이되지 않았었습니다.

Tip. make_phylogeny의 -t (--tree_method)인 tree 생성 method에는
clustalw,raxml_v730, muscle, fasttree, clearcut가 있지만
default 값인 fasttree를 사용해서 진행
이유는 역시 제 경우 다른 method들은 에러가 나서.. Orz

일단 qiime 설치가 제일 중요한것보다 그냥 남들이 만들어 주는 데이터베이스 쓰시라능.. :)


Monday, March 26, 2018

NCBI Website and Data Usage Policies and Disclaimers

관련 NCBI 원문 URL

Website Disclaimer
쓰는건 님 자유지만 어떠한 유형의 문제가 발생하면 쓴 너님 문제

Website Usage
NCBI 웹페이지는 Title 18 조항에 의해 보호되니깐 작은 하마를 건들면 ㅈ되는 것처럼 똑같이 됨.


Copyright Status of Webpages
NLM (National Library of Medicine) 웹 페이지의 공개 정보는 자유롭게 배포 및 복사 할 수 있습니다. 그러나 몇몇 저작물(그게 무엇인지는 비밀)에 대해서는 NLM에 적절한 확인을 요청해야 합니다. 


Molecular Data Usage
NCBI 웹 사이트의 분자 데이터베이스는 nucleotide sequences (GenBank), protein sequences, macromolecular structures, molecular variation, gene expression, and mapping data를 통칭.
NCBI는 이 안에 포함된 데이터의 사용이나 배포에 대한 아무런 제한을 두지 않는다. 제출자가 재사용/재배포에 대한 제한을 요청해도 승인하지 않는다. 그러나 제출자가 특허나 저작권 또는 기타 지적 재산권을 주장 할 수는 있다. NCBI는 이러한 청구에 대해서 평가를 하는 기관이 아니다. 제출자로부터 권리를 양도받지 않았기에 NCBI는 제 3자에게 양도 할 권리가 없다.
요약: 문제의 소지가 있는 데이터가 존재 할 수 있고 문제 발생 시 NCBI는 관여하지 않으니 니들끼리 알아서 해결하세요


Human Genomic Data Submitted to Unrestricted-Access Repositories
대규모 인체 게놈 데이터를 NCBI에 보관하고 싶으면 NIH 게놈 데이터 공유 정책(GDS)의 조건에 충족해야한다.


Use of Web Browsers
NCBI는 크롬과 불여우, 사파리 그리고 에지의 최신버전및 이전 두 버전을 지원한다.
놀랍게도 IE11이상이면 IE에서도 작동한다. 역시 자국 소프트웨어를 써주는건 어느나라나 동일한듯.


Accessibility Policy
가능한 모든 사람들이 접근 할 수 있도록 노력을 기울이고 있습니다.


Privacy Policy
NCBI는 님들 정보따위에 관심없으니 걱정마셈


Medical Information and Advice Disclaimer
NLM은 특정 의학 조언을 제공하는 것이 아닌 자신의 건강 및 진단된 장애를 더 잘 이해할 수 있는 정보를 사용자에게 제공하기 위함이니 정확학 임상적인 조언은 진단을 할 수 있는 자격을 갖춘 의사와 상담하길 바란다.


Guidelines for Scripting Calls to NCBI Servers
NCBI 시스템에 부하를 주지마세요. https://eutils.ncbi.nlm.nih.gov 를 사용하세요.

Monday, August 07, 2017

sensors 로그 기록용 스크립트

서버 온도가 아무 작업을 안해도
60도를 상회하는 관계로 sensors로 온도 변화를 기록하고자
급하게 작성한 한 스크립트.
물론 쓸모는 없었다는게 함정 ㅋ


import time
from datetime import datetime
from subprocess import check_output

while 1:
        print datetime.today().strftime("%Y/%m/%d/ %H:%M:%S")
        contents = check_output(['sensors'])
        print contents
        time.sleep(60)

DELL 서버들은 iDRAC에서 로그를 뽑아내서
엔지니어한테 전달해줘야봐준다능... Orz

Thursday, May 04, 2017

윈도우7 설치 후기

5월 첫주 연휴기념으로(비록 연차는 까여서 -2로 시작하지만..ㅋ)
간만에 PC의 윈도우 재설치

Vostro 460, 2010년쯔음 구매한 물건으로
SSD와 하드만 계속 업그레드하면서 사용한 녀석인데
이번에 재설치하고나서 계속 프리징현상이 발생해서
최근에 구매한 3T 하드때문인지 해당 하드 빼고 설치.
SSD에 윈도우 설치하고 윈도우 업데이트하는데도
불구하고 프리징 현상이 살짝 보임.
sleep mode에서 깨어날때와, 윈도우 업데이트 할때 빈번..

윈도우내의 모너터링툴로 하드 사용향 확인하는데 활성화 시간이 100%찍을때 가끔
프리징 현상이 나타나는데 그게 윈도우 업데이트 작업 할때 간간이...

결국 SSD만 사용해서 다시 재설치(히루에만 3번 설치했네;;;)하고
절전옵션 고성능/하드 sleep 기능 off 후 윈도우 업데이트하고
Win7에서 윈도우 업데이트할때 무한 루프에 빠지는 문제 발생시 해결하는 hotfix 두개 설치
Step1. Windows6.1-KB3050265-x64.msu
Step2. Windows6.1-KB3102810-x64.msu

그리고나서 하루정도 방치해서 업데이트가 되는지 프리징이 생기는지 확인하고
오늘 이것저것 설치해서 정상복귀...

초기와 설치된 프로그램 차이라고 한다면
백신을 알약과 Avast 두개를 설치했다가 지금은 avast하나만 설치했다는 점이
차이라면 차이...

1. SSD와 Win7과의 드라이버 호환 문제
(Win7 SP1에 이미 해당 hotfix는 적용되서 가능성 적음)

2. 서로다른 백신의 사용 문제
- 지금까지 알약과 avast를 동시에 사용하고 있었는데.. 왜 지금 문제를...

3. 윈도우 업데이트관련 문제
- 가능성이 높아 보이긴 한데 SSD에서는 프리징만 빈번했지 다운까지는 안됐는데
HDD와 함께 있을경우 프리징이 일어나다가 다운되는게 차이가 좀 있어서 차이가 있는지가 좀 의문...

간만에 윈도우 재설치하느라 연휴의 이틀을 스트레스 만빵 ㅋㅋ

Friday, March 31, 2017

nanonet 사용법


Nanonet Git Hub

Nanopore MinION raw 데이터인 fast5에서 2D read 추출하려고 하는데
nanopore로 검색하면 나오는 poretools, nanopolish, nanook들을 사용했음에도
어느하나 2D 서열을 추출 못하고 있어서 전전긍긍하고 있을때

혜식처럼 나타나는 그분이 알려주신 바로 그 tool!!

nanonet되시겠습니다.

우선 CPU기반으로 사용하였습니다. nanonet은 GPU도 지원하고 있는데
GPU로 하였을때 CPU기반으로 돌렸을 때 확인되던 2D가 나오지 않았다능..

일단 어쩔수 없지만 cpu기반으로 수행

fastq로 저장을 해보자!
$nanonet2d --fastq --jobs 8 --chemistry r9.4 pass output.r94

fasta로 저장을 해보자!
$nanonet2d --jobs 8 --chemistry r9.4 pass output.r94

다른 tools들과 다른 점은 chemistry버전을 선택할 수 있는 것과 무엇인지 모르겠지만 간지나 보이는 trmplate와 complement의 model 선택 옵션
그리고 이를 뒷받침하듯이 nanonettrain명령어도 있고....
poretools같은 일반적인 tools이 안먹힐때는 nanonet도 한번 사용해 보시기 바랍니다. ;)

Tuesday, March 28, 2017

Resolving the Complexity of Human Skin Metagenomes Using Single- Molecule Sequencing


Yu-Chih Tsai et al. mBio 2016; doi:10.1128/mBio.01948-15


동부(Bethesda)와 서부(Pacific Biosciences)의 콜라보 논문
그러나 이참에 Cell 한번 마음대로 써보자 하지 않았다는게 의외의 포인트 (제길.. 놀려줄게 없어 ㅠ.ㅜ)

사람의 피부조직 중 6군데에서 샘플을 채취하는데 보여줄때는 크게 팔 (3군데)과 발 (3군데)를 샘플링을
해서 SMRT와 HiSeq 시퀀싱

- 니네 반복없니? 반복은 너님들이나 신경쓰는 거 Orz

근데 팔쪽 SMRT가 폭망해서 Human 필터링 하니 20M정도 나왔다는거 제외하고는 HiSeq과 발 SMRT는 잘 나와줘서 하단의 멋진 Figure 시전. ㅠ.ㅜ



디스플레이 하나는 이쁘게 잘하네.. ㅠ.ㅜ
간단히 얘기해서 HiSeq으로는 못잡는거 있다(물론 그 반대도 있다는게 함정이지만..).
그래서 HiSeq이 위대하긴 했는데 SMRT로도 HiSeq하는거 확인 할 수 있고 어떤 부분에서는 더 정확하게 표현해 줄 수 있다라는 것을 여지없이 보여주고 있습니다(상단 그림에서 D 파트 되겠습니다).

그리고 이 논문에서 저자가 참고할만한 Figure는 바로 이것!


현재 iHMP의 Assembly SOP의 tools은 SOAPdenovo인데 음.. 이거 봐서는 SPAdes도 나쁘지 않다고 생각되네요..
Long read있다고 어설프게 Hybrid 한다고 깝치지 말고 HiSeq으로 SPAdes 도 나쁘지 않겠네라는 본인 생각 되겠습니다.
대신 속도는 확실히 SOAPdenovo가 빠릅니다.

논문 결론은 당신이 알고 내가 알고 있다 싶이 SMRT 자랑되겠습니다.
근데 문제는 효율이 좋아져서 그냥 자랑질이 아니라는게.. Orz
쓰고 싶은데 돈이 없어.. ㅠ.ㅜ

그래서 우리는 SMRT랑 HiSeq으로 박테리아 말고 바이러스랑 곰팡이도 같이 봤고 덤으로 Corynebacterium simulans라는 균은 closed genome서열도 확보도 할 수 있다능!
물론 TSLR이라는 일루미나라는 기술도 있지만 증폭해야되서 bias가 예상되는데 우리 SMRT는 증폭-Free라서 괜찮음(물론 이건 님들 의견, 물론 나한테는 반박 자료가 없다는게 현실 ㅠ.ㅜㅋ)

Friday, March 24, 2017

Ubuntu에서 시스템 정보 확인


출처: Getting your Dell service tag number from command line in Ubuntu

조립식이던 Vendor PC나 서버를 사용할 때
스펙이 어떻게 되는지 이따금씩 궁금할때가 있다.

그럴때 필요한 명령어 dmidecode!

근데 그냥 dmidecode를 실행시키면 모 그냥 주저리 주저리 내용이 나온다.
그중에 내가 보고 싶은 내용만 추려서 볼 수 없을까?

있다!

dmidecode의 --type와 --string 옵션 근데 type이 무엇인지 어떤 string을 넣어야 하는지 모르지 않은가!!

다행히 다음과 같이 실행시키면 검색 가능한 keyword들을 확인 할 수 있다.

$dmidecode --type
type으로 검색 가능한 문자열들을 확인 할 수 있다.

$dmidecode --string
string으로 검색 가능한 문자열들을 확인 할 수 있다.

본인의 예로 DELL서버의 Service Tag를 확인하고 싶은데
맨날 랙을 열고 봐야하는 수고로움이 여간 귀찮은게 아니다.

검은 창을 보고 다음과 같이 주문을 외워보자.

$sudo dmidecode -s system-serial-number