User Tools

Site Tools


bioinfo:batch_download_of_ncbi_genomes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
bioinfo:batch_download_of_ncbi_genomes [2023/06/22 15:52] – [Assembly summary file에서 대상(assembly accession) 선정 후 다운로드하는 방법] hyjeongbioinfo:batch_download_of_ncbi_genomes [2025/01/16 10:30] (current) – [다운로드 전용 유틸리티를 사용하는 방법] hyjeong
Line 6: Line 6:
 ===== 다운로드 전용 유틸리티를 사용하는 방법 ===== ===== 다운로드 전용 유틸리티를 사용하는 방법 =====
  
-간단한 방법으로는 [[https://github.com/kblin/ncbi-genome-download|ncbi-genome-download]]가 편리하다. 개별적인 assembly accession은 물론 사용자가 정의한 유전체의 그룹 단위로 다운로드할 수 있어 매우 유용하다. 맨 마지막 옵션으로는 bacteria, archaea, fungi, viral과 같은 group 정보를 반드시 주어야 한다. 이 스크립트는 실행할 때 날짜 기준으로 $HOME/.cache/ncbi-genome-download에 assembly summary file의 캐시를 생성한다. --no-cache 옵션을 사용하면 이를 무시할 수 있다. '--assembly-accession'('-A'와 동일) 파라미터는 단일 accession, 쉼표로 구분한 accession, 또는 파일 형태로 수록한 accession을 전부 받아들일 수 있어 매우 유용하다. 단지 종 및 균주 명칭만을 입수하기 위함이라면 뒤에서 소개할 NCBI EDirect 명령어 조합(esearch | efetch | xtract)보다 훨씬 빠르다.+간단한 방법으로는 [[https://github.com/kblin/ncbi-genome-download|ncbi-genome-download]]가 편리하다. 개별적인 assembly accession은 물론 사용자가 정의한 유전체의 그룹 단위로 다운로드할 수 있어 매우 유용하다. 맨 마지막 옵션으로는 bacteria, archaea, fungi, viral과 같은 group 정보를 반드시 주어야 한다. 이 스크립트는 실행할 때 날짜 기준으로 $HOME/.cache/ncbi-genome-download에 assembly summary file의 캐시를 생성한다. %%--%%no-cache 옵션을 사용하면 이를 무시할 수 있다. '%%--%%assembly-accession'('-A'와 동일) 파라미터는 단일 accession, 쉼표로 구분한 accession, 또는 파일 형태로 수록한 accession을 전부 받아들일 수 있어 매우 유용하다. 단지 종 및 균주 명칭만을 입수하기 위함이라면 뒤에서 소개할 NCBI EDirect 명령어 조합(esearch | efetch | xtract)보다 훨씬 빠르다.
  
   $ ncbi-genome-download bacteria # RefSeq의 모든 박테리아 유전체 다운로드   $ ncbi-genome-download bacteria # RefSeq의 모든 박테리아 유전체 다운로드
-  $ ncbi-genome-download -section genbank fungi # GenBank에서 모든 진균 유전체 다운로드+  $ ncbi-genome-download --section genbank fungi # GenBank에서 모든 진균 유전체 다운로드
   # 실제 다운로드는 하지 않고 accession number와 간단한 정보만 출력('--dry-run' or '-n')   # 실제 다운로드는 하지 않고 accession number와 간단한 정보만 출력('--dry-run' or '-n')
   $ ncbi-genome-download --dry-run --genus "Streptomyces" bacteria    $ ncbi-genome-download --dry-run --genus "Streptomyces" bacteria
   $ ncbi-genome-download --type-materials type,reference   $ ncbi-genome-download --type-materials type,reference
-  $ ncbi-genome-download --format-fasta --taxid 511145 bacteria+  $ ncbi-genome-download --format fasta --taxid 511145 bacteria
   $ ncbi-genome-download --assembly-accessions GCF_000146875.3,GCF_000833145.1 bacteria # 소수점 이하(버전)까지 지정해야 함   $ ncbi-genome-download --assembly-accessions GCF_000146875.3,GCF_000833145.1 bacteria # 소수점 이하(버전)까지 지정해야 함
  
Line 73: Line 73:
    # GCF_000001405.38_GRCh38.p12_genomic.fna.gz -> GCF_000001405.38.fna.gz로 변경    # GCF_000001405.38_GRCh38.p12_genomic.fna.gz -> GCF_000001405.38.fna.gz로 변경
  
 +또는 학명과 균주 이름으로 파일이름을 바꾸는 것도 좋다. 이를 위해서 [[:custom_scripts#my_rename1.pl]]과 [[:custom_scripts#my_rename2.pl]]를 활용해 보자. 먼저 my_rename1.pl을 사용하여 id2name 파일을 만든다.
 +
 +  $ my_rename1.pl ../list_all > id2name
 +
 +my_rename1.pl 스크립트는 list_all 파일(assembly summary에서 선별된 row로 이루어진 부분집합)의 8번 컬럼(organism_name; NCBI taxid를 기준으로 가져온 값)과 9번 컬럼(infraspecific_name)을 우선적으로 처리하여 학명 + strain에 해당하는 정보를 우선적으로 생성하며, 적절한 species 하위 식별자가 없는 경우에는 16번 컬럼(asm_name)을 활용하도록 만들었다. 8번 컬럼에는 species 명칭만 있는 것이 현재의 원칙이지만, 과거에 등록된 정보 중에는 strain level까지 정의된 것이 있어서 스크립트 내에서 처리하기가 번거로운 것은 사실이다. NCBI BioSample 데이터베이스의 ‘Organism’ 정보 역시 assembly summary의 8번 컬럼과 비슷한 상황이다. 이를 활용하는 방법은 후술할 NCBI E-Direct 활용법을 참고하기 바란다.
 +
 +id2name 파일의 두 번째 컬럼이 변경된 파일의 이름 base로 쓰일 것이므로 공백이나 특수문자 등 적합하지 않은 문자가 없도록 적절히 편집하여 id2name.mod로 저장한다. 괄호 표시도 밑줄로 대체하는 것이 바람직하다. 간혹 동일한 균주를 서로 다른 곳에서 2회 이상 시퀀싱하여 등록한 것을 발견하게 된다. 이런 것은 바뀐 후의 파일 이름이 동일해져 버리므로, assembly 상태가 좋은 것만을 남기는 것이 좋다. 다음을 실행하면 수정이 완료된 FASTA file을 얻는다.
 +
 +  $ ls *fna | while read f; do my_rename2.pl id2name.mod $f; done
bioinfo/batch_download_of_ncbi_genomes.1687416772.txt.gz · Last modified: 2023/06/22 15:52 by hyjeong