downloading_genomes_from_ncbi_ftp_site
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
downloading_genomes_from_ncbi_ftp_site [2018/02/12 15:10] – [실제 사례] hyjeong | downloading_genomes_from_ncbi_ftp_site [2021/06/09 14:39] – [NCBI FTP 사이트에서 유전체 정보 파일 다운로드하기] hyjeong | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== NCBI FTP 사이트에서 유전체 정보 파일 다운로드하기 ====== | ====== NCBI FTP 사이트에서 유전체 정보 파일 다운로드하기 ====== | ||
+ | Entrez API를 사용하려면 [[https:// | ||
+ | |||
+ | <color # | ||
+ | |||
** [최신 소식] ** 2016년 9월 22일을 기하여 ftp:// | ** [최신 소식] ** 2016년 9월 22일을 기하여 ftp:// | ||
Line 17: | Line 21: | ||
(" | (" | ||
+ | 만약 species의 NCBI taxonomy ID를 안다면 웹브라우저 주소창에 다음과 같이 URL을 입력하여 genome sequencing 현황을 볼 수 있다. 167은 E. coli의 taxonomy ID라서 상당히 많은 결과가 나올 것이다. | ||
+ | https:// | ||
===== assembly summary file을 이용한 체계적인 다운로드 ===== | ===== assembly summary file을 이용한 체계적인 다운로드 ===== | ||
아무리 웹 화면이 편리하다 한들 원하는 모든 정보에 대한 답을 담고 있지는 않다. ' | 아무리 웹 화면이 편리하다 한들 원하는 모든 정보에 대한 답을 담고 있지는 않다. ' | ||
Line 36: | Line 42: | ||
받은 파일의 이름은 (assembly_accession)_(asm_name)_(나머지 부분)의 형식을 갖는다. 예를 들자면 **GCF_002264385.1_ASM226438v1_genomic.fna**와 같은 방식이다. 균주의 이름이나 우리가 논문 등에서 흔히 접하는 서열 accession number(CP######, | 받은 파일의 이름은 (assembly_accession)_(asm_name)_(나머지 부분)의 형식을 갖는다. 예를 들자면 **GCF_002264385.1_ASM226438v1_genomic.fna**와 같은 방식이다. 균주의 이름이나 우리가 논문 등에서 흔히 접하는 서열 accession number(CP######, | ||
- | $ curl -o bacteria_assembly_summary_`date +%Y-%m-%d`.txt ftp:// | + | $ curl -o refseq_bacteria_assembly_summary_`date +%Y-%m-%d`.txt ftp:// |
# 정규식 안의 ^는 없어도 괜찮다. | # 정규식 안의 ^는 없어도 괜찮다. | ||
- | $ awk -F " | + | $ awk -F " |
$ awk -F " | $ awk -F " | ||
- | # fna or gbff file? 용도에 맞게 커맨드 라인을 작성할 것. | + | # fna, gbff, or faa file? 용도에 맞게 커맨드 라인을 작성할 것. |
$ sed -r ' | $ sed -r ' | ||
+ | $ sed -r ' | ||
+ | $ sed -r ' | ||
+ | # ~_protein.faa.gz와 ~_translated_cds.faa.gz는 서열 ID와 description의 모양새가 다름에 유의하라. locus tag등 월등하게 많은 정보를 수록한 것은 후자이다. | ||
$ mkdir 01_fna | $ mkdir 01_fna | ||
$ cd 01_fna | $ cd 01_fna | ||
# GNU parallel을 응용하여 여러 파일을 동시에 받을 수도 있을 것이다. | # GNU parallel을 응용하여 여러 파일을 동시에 받을 수도 있을 것이다. | ||
- | $ cat ../list_all_files_with_path | + | $ cat ../list_all_files_with_path_fna |
# 또는 cat ../ | # 또는 cat ../ | ||
$ gzip -d *gz | $ gzip -d *gz | ||
Line 56: | Line 65: | ||
| | ||
=== id2name에 대한 부연 설명 === | === id2name에 대한 부연 설명 === | ||
- | id2name 파일을 매개로 하여 GCF_000469945.2_ASM46994v2_genomic.fna.gz라는 파일이 Paenibacillus_sp._P22_GCF_000469945.2.fna로 바뀌게 된다. 변경 후 파일명의 앞부분을 차지하는 균주 이름은 당연히 assembly summary file의 여덟번째 컬럼에서 유래한다. 하지만 실제 assembly summary 파일을 열어보면 파일명으로 쓰기에 적합하지 않는 문자가 들어있는 경우가 상당히 많다. 예를 들어 공백, 세미콜론, | + | id2name 파일을 매개로 하여 GCF_000469945.2_ASM46994v2_genomic.fna.gz라는 파일이 Paenibacillus_sp._P22_GCF_000469945.2.fna로 바뀌게 된다. 변경 후 파일명의 앞부분을 차지하는 균주 이름은 당연히 assembly summary file의 여덟번째 컬럼에서 유래한다. 하지만 실제 assembly summary 파일을 열어보면 파일명으로 쓰기에 적합하지 않는 문자가 들어있는 경우가 상당히 많다. 예를 들어 공백, 세미콜론, |
+ | |||
+ | === while loop 대신 xargs 사용하기 === | ||
+ | $ xargs wget < ../ | ||
+ | multiple argument를 다루려면 어떻게 해야 하는가? 조금 더 알아봐라. 인수 위치의 지정은 다음과 같이 한다. 하지만 이 사례에서는 하나의 gff file에 모든 출력이 다 기록된다는 문제가 있다. | ||
+ | $ ls *fna | xargs -I{} barrnap --threads 16 {} > {}.rna.gff | ||
===== NCBI Genome Download Scripts ===== | ===== NCBI Genome Download Scripts ===== |
downloading_genomes_from_ncbi_ftp_site.txt · Last modified: 2023/06/22 17:12 by hyjeong