요즘하는게 요 16S rRNA작업인데
workflow와 해당 작업에서 사용할만한 tool을 잘 정리한글이 있어서..
H3abionet.org
덤으로 GOBLET이라는 사이트가 있는것도 알게 되었네요..
GOBLET이 뭔지 궁금해요?
그럼 링크에 들어가시면됩니다. :)
월요일, 8월 08, 2016
토요일, 6월 25, 2016
pie charts 어디까지 그려봤니? Krona
요즘 논문 낼때 고퀄의 figure들은 이제 당연한시대에 살고 있는데
나도 그런 고퀄 figure만들어보고 싶은데 잘 안된다.
네 저도 힘듭니다. 근데 다들 하니 저도 하는거죠
그 중에 독보적인 것은 circos이죠 ㅋ
그리고 pie chart를 좀 이쁘게 그리고 싶을때 사용하는것이 이것
Krona (OMIC-TOOLS에도 소개 되고있습니다.) 되겠습니다.
설치는 모 그닥 어렵지 않습니다.
Krona github가셔서 다운로드 받고 압축풀면 그걸로 끝입니다.
다만 Krona의 경우 metagenomic의 visualization을 위해서 만들어져 있는 관계로
taxonomy정보를 만들어줘야 합니다.
물론 Krona에서 해당 작업을 해주는 스크립트가 존재하니 걱정하지 마시기 바랍니다.
거기다 taxonomy 정보는 unique하고 찾기 힘든 data가 아닌 ncbi taxonomy정보입니다. 걱정마세요 :)
사용법은 제가 BLAST output을 사용한 pie charts 밖에 그려보지 않아서
Krona중에 ktImportBLAST밖에 사용해보지 못해서 말씀드릴게 별로 없네요 ㅎㅎ
-설명서를 잘 보시면 EC 카테고리별로도 pie chart를 작성할수도 있습니다.
다음은 제가 그냥 편할려고 만든 bash입니다.
나도 그런 고퀄 figure만들어보고 싶은데 잘 안된다.
네 저도 힘듭니다. 근데 다들 하니 저도 하는거죠
그 중에 독보적인 것은 circos이죠 ㅋ
그리고 pie chart를 좀 이쁘게 그리고 싶을때 사용하는것이 이것
Krona (OMIC-TOOLS에도 소개 되고있습니다.) 되겠습니다.
설치는 모 그닥 어렵지 않습니다.
Krona github가셔서 다운로드 받고 압축풀면 그걸로 끝입니다.
다만 Krona의 경우 metagenomic의 visualization을 위해서 만들어져 있는 관계로
taxonomy정보를 만들어줘야 합니다.
물론 Krona에서 해당 작업을 해주는 스크립트가 존재하니 걱정하지 마시기 바랍니다.
거기다 taxonomy 정보는 unique하고 찾기 힘든 data가 아닌 ncbi taxonomy정보입니다. 걱정마세요 :)
사용법은 제가 BLAST output을 사용한 pie charts 밖에 그려보지 않아서
Krona중에 ktImportBLAST밖에 사용해보지 못해서 말씀드릴게 별로 없네요 ㅎㅎ
-설명서를 잘 보시면 EC 카테고리별로도 pie chart를 작성할수도 있습니다.
다음은 제가 그냥 편할려고 만든 bash입니다.
#!/bin/bash
BLASTN=/path/to/ncbi-blast-plus/bin/blastn
KRONA=/path/to/Krona/bin/ktImportBLAST
ARGS=2
if [ $# -eq "$ARGS" ];
then
$BLASTN -query $1 -db blast_database -outfmt 6 -num_threads 8 -evalue 1e-5 -out $2.outfmt6.blastn
$KRONA -o $2.html $2.outfmt6.blastn
else
echo "krona_BLAST.sh query.fa prefix_name"
fi
exit 0
Labels:
Krona,
pie charts
화요일, 6월 21, 2016
snpEff에서 사용하는 genome annotation은 어떻게 추가할 수 있는가?
snp annotation에 빈번히 사용되는
snpEff (snpSift는 난 모르겠고)
snpEff에서도 나름 최신의 genome 정보를 제공하고 있지만
내가 de novo진행한것은?? (제가 곰팽이 de novo들을 많이하다보니.. ㅋㅋ)
어떻하라는 말인가...
고갱님 genome과 gene정보를 NCBI에 등록하고 NCBI gff가 공개되서 snpEff팀에서 지원해주는 시점에 사용하시면 됩니다.
근데 우리 고갱님들 그때까지 기다리시면 암걸리시죠?
그래서 간단한 가내수공업만 할 줄 아시면 곧바로 작업 가능합니다.
일단 위에 소개된 snpEff 사이트에서 snpEff 다운받으시고
압축푸시면 되겠습니다.
그리고 이번에 새로 조립하신 complete든 draft든 genome의 서열과 gff(version 2/3 택일)파일을 /path/to/snpEff/data/ 폴더 밑에 genome 이름으로 폴더 만드시고 그 밑에 복사하시면 되겠습니다. 대신 genome과 gff파일 이름은 genes.gff, sequences.fa로 바꿔주시는 센스!!
ex) 새로 조립한 genome이름이 Lee girwon이라면 Lee_girwon이라고 만드시고 그 밑에 파일을 복사해주시면 되겠습니다.
그리고 추가적으로 하나더 해야 하는 작업은 snpEff.config파일 수정
/path/to/snpEff/snpEff.config파일 끝에 새롭게 추가할 genome을 추가해 줍니다.
ex) vi snpEff.config
Lee_girwon.genome : Lee_girwon
--다음 라인은 선택사항 입니다.--
[TAB]Lee_girwon.chromosomes : AAA0001.1, AAA0002.1
[TAB]Lee_girwon.AAA0001.1.codonTable : Standard
[TAB]Lee_girwon.AAA0002.1.codonTable : Invertebrate_Mitochondrial
자 snpEff.config에 필요한 정보를 추가하였다면 이제는 database를 만들어주는 시간입니다.
java -jar /path/to/snpEff/snpEff.jar build -gff3 -v Lee_girwon
하시면 snpEff database가 뚝딱 만들어 집니다.
참 쉽죠?
위에 까만글씨로 욕은 아닌데 욕먹은 느낌이 나서 귀찮다?
그럼 작업가능한 서버계정과 흡족 할 사례비주시면 대행해드립 ㅋㅋ
snpEff (snpSift는 난 모르겠고)
snpEff에서도 나름 최신의 genome 정보를 제공하고 있지만
내가 de novo진행한것은?? (제가 곰팽이 de novo들을 많이하다보니.. ㅋㅋ)
어떻하라는 말인가...
고갱님 genome과 gene정보를 NCBI에 등록하고 NCBI gff가 공개되서 snpEff팀에서 지원해주는 시점에 사용하시면 됩니다.
근데 우리 고갱님들 그때까지 기다리시면 암걸리시죠?
그래서 간단한 가내수공업만 할 줄 아시면 곧바로 작업 가능합니다.
일단 위에 소개된 snpEff 사이트에서 snpEff 다운받으시고
압축푸시면 되겠습니다.
그리고 이번에 새로 조립하신 complete든 draft든 genome의 서열과 gff(version 2/3 택일)파일을 /path/to/snpEff/data/ 폴더 밑에 genome 이름으로 폴더 만드시고 그 밑에 복사하시면 되겠습니다. 대신 genome과 gff파일 이름은 genes.gff, sequences.fa로 바꿔주시는 센스!!
ex) 새로 조립한 genome이름이 Lee girwon이라면 Lee_girwon이라고 만드시고 그 밑에 파일을 복사해주시면 되겠습니다.
그리고 추가적으로 하나더 해야 하는 작업은 snpEff.config파일 수정
/path/to/snpEff/snpEff.config파일 끝에 새롭게 추가할 genome을 추가해 줍니다.
ex) vi snpEff.config
Lee_girwon.genome : Lee_girwon
--다음 라인은 선택사항 입니다.--
[TAB]Lee_girwon.chromosomes : AAA0001.1, AAA0002.1
[TAB]Lee_girwon.AAA0001.1.codonTable : Standard
[TAB]Lee_girwon.AAA0002.1.codonTable : Invertebrate_Mitochondrial
자 snpEff.config에 필요한 정보를 추가하였다면 이제는 database를 만들어주는 시간입니다.
java -jar /path/to/snpEff/snpEff.jar build -gff3 -v Lee_girwon
하시면 snpEff database가 뚝딱 만들어 집니다.
참 쉽죠?
위에 까만글씨로 욕은 아닌데 욕먹은 느낌이 나서 귀찮다?
그럼 작업가능한 서버계정과 흡족 할 사례비주시면 대행해드립 ㅋㅋ
토요일, 4월 30, 2016
CUTADAPT 사용설명서
cutadapt는 현재 1.9.1이 최신판으로
cutadapt guide에 설치에서부터 사용법
A to Z까지 너무나도 자세히 잘 소개되어 있습니다.
2011년에 논문도 있고
여튼..
cutadapt --help하시면 잘나오고
이 URL을 보시면 옵션에 따라 어느 위치의 adapter를 제거해주는지
어떤 방식으로 제거해 주는지 잘 나와있습니다.
-a,-g,-b 옵션이 adapter를 확인하고 remove하는 위치를 선정하는 중요한 옵션입니다.
single-end인 경우에는 cutadapt 사용시 큰 문제는 없지만
paired-end인 경우 cutadapt 사용시 다음과 같이 사용해야 합니다.
$cutadapt -a adapt_seq -A adapt_seq -o out_1.fq -p out_2.fq in_1.fq in_2.fq
-g, -b를 paired-end에서 사용하려면 -g -G, -b -B를 사용하시면됩니다.
-u는 일정한 길이로 cutting하는 옵션인데 second에서도 적용되게 하려면 -U를 사용하시면된다고 합니다.
cutadapt guide에 설치에서부터 사용법
A to Z까지 너무나도 자세히 잘 소개되어 있습니다.
2011년에 논문도 있고
여튼..
cutadapt --help하시면 잘나오고
이 URL을 보시면 옵션에 따라 어느 위치의 adapter를 제거해주는지
어떤 방식으로 제거해 주는지 잘 나와있습니다.
-a,-g,-b 옵션이 adapter를 확인하고 remove하는 위치를 선정하는 중요한 옵션입니다.
single-end인 경우에는 cutadapt 사용시 큰 문제는 없지만
paired-end인 경우 cutadapt 사용시 다음과 같이 사용해야 합니다.
$cutadapt -a adapt_seq -A adapt_seq -o out_1.fq -p out_2.fq in_1.fq in_2.fq
-g, -b를 paired-end에서 사용하려면 -g -G, -b -B를 사용하시면됩니다.
-u는 일정한 길이로 cutting하는 옵션인데 second에서도 적용되게 하려면 -U를 사용하시면된다고 합니다.
Labels:
cutadapt,
paired-end
일요일, 4월 24, 2016
SQLite3에서 import/export 하기
SQLite3를 사용할때 csv로 import, export하는 방법에 대해서
알아보겠습니다.
이게 왜 필요한거냐구요?
저한테 필요한거라서 포스팅하는겁니다.
그리고 알아두시면 쓸일이 있을지 누가 아나요? :)
csv를 특정 테이블에 import하기
#sqlite3 <database>
sqlite> .headers on
sqlite> .separator ","
sqlite> .import <in.csv> <table.name>
이때 in.csv는 쉼표 구분자로 되어 있어야 합니다.
다른 구분자로 되어 있으면 아마 제대로 import가 되지 않겠죠? :)
특정 테이블을 csv로 export하기
#sqlite3 <database>
sqlite> .headers on
sqlite> .mode csv
sqlite> .output <output.txt>
sqlite> select * from <table.name>;
이때 output.txt는 export할때 내용을 받는 파일 이름입니다.
그리고 tab구분자를 사용하려면 아마 .mode tabs 하시면될겁니다.
그리고 sqlite3 데이터베이스안에서 작업하지 않고 다음과 같이 명령어 한줄로도 끝낼수 있습니다.
sqlite3 -header -separator " " ./home/data.db "select * from table;" > out.txt
sqlite3 -header -separator "," ./home/data.db "select * from table;" > out.txt
sqlite3 -header -separator quot;\t" ./home/data.db "select * from table;" > out.txt
모 그렇다고 합니다. :)
알아보겠습니다.
이게 왜 필요한거냐구요?
저한테 필요한거라서 포스팅하는겁니다.
그리고 알아두시면 쓸일이 있을지 누가 아나요? :)
csv를 특정 테이블에 import하기
#sqlite3 <database>
sqlite> .headers on
sqlite> .separator ","
sqlite> .import <in.csv> <table.name>
이때 in.csv는 쉼표 구분자로 되어 있어야 합니다.
다른 구분자로 되어 있으면 아마 제대로 import가 되지 않겠죠? :)
특정 테이블을 csv로 export하기
#sqlite3 <database>
sqlite> .headers on
sqlite> .mode csv
sqlite> .output <output.txt>
sqlite> select * from <table.name>;
이때 output.txt는 export할때 내용을 받는 파일 이름입니다.
그리고 tab구분자를 사용하려면 아마 .mode tabs 하시면될겁니다.
그리고 sqlite3 데이터베이스안에서 작업하지 않고 다음과 같이 명령어 한줄로도 끝낼수 있습니다.
sqlite3 -header -separator " " ./home/data.db "select * from table;" > out.txt
sqlite3 -header -separator "," ./home/data.db "select * from table;" > out.txt
sqlite3 -header -separator quot;\t" ./home/data.db "select * from table;" > out.txt
모 그렇다고 합니다. :)
피드 구독하기:
글 (Atom)