bioinfo:e-direct로_명령행에서_entrez_db_접근하기
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
bioinfo:e-direct로_명령행에서_entrez_db_접근하기 [2023/06/22 16:36] – [유전체 정보 다운로드를 위한 FTP path 알아내기] hyjeong | bioinfo:e-direct로_명령행에서_entrez_db_접근하기 [2023/06/22 17:26] (current) – [기본 개념 및 설치 방법] hyjeong | ||
---|---|---|---|
Line 5: | Line 5: | ||
Entrez는 미국 NCBI가 보유한 biomedical database의 통합적 질의 시스템 혹은 웹 포털을 의미한다. NCBI에서는 유닉스 혹은 리눅스의 명령행 환경에서 Entrez에 직접 접속하여 검색을 실시하고 그 결과를 활용하는데 필요한 유틸리티를 제공하고 있는데, 이것이 바로 [[https:// | Entrez는 미국 NCBI가 보유한 biomedical database의 통합적 질의 시스템 혹은 웹 포털을 의미한다. NCBI에서는 유닉스 혹은 리눅스의 명령행 환경에서 Entrez에 직접 접속하여 검색을 실시하고 그 결과를 활용하는데 필요한 유틸리티를 제공하고 있는데, 이것이 바로 [[https:// | ||
- | 웹사이트에서 설명한 설치방법 외에도 | + | 웹사이트에서 설명한 설치방법 외에도 |
설치와 간단한 사용법에 대한 동영상은 유튜브(' | 설치와 간단한 사용법에 대한 동영상은 유튜브(' | ||
Line 28: | Line 28: | ||
===== 미생물 대표 유전체 염기서열의 일괄 다운로드 ===== | ===== 미생물 대표 유전체 염기서열의 일괄 다운로드 ===== | ||
- | 이상에서 학습한 것을 응용하여 RefSeq으로부터 prokaryotic representative genome의 GenBank flat file을 한꺼번에 다운로드하는 방법을 알아본다. NCBI Insights(tag: representative genome)에 이에 대한 업데이트 소식이 가끔 올라온다. | + | 이상에서 학습한 것을 응용하여 RefSeq으로부터 prokaryotic |
+ | |||
+ | (" | ||
+ | |||
+ | 검색결과 맨 위에 ' | ||
+ | |||
+ | $ esearch -db assembly -query ' | ||
+ | (reference_genome[filter] OR representative_genome[filter])' | ||
+ | efetch -format docsum | xtract -pattern DocumentSummary \ | ||
+ | -element FtpPath_RefSeq > download_path.txt | ||
+ | |||
+ | [[: | ||
+ | |||
+ | $ safe_download.sh download_path.txt | ||
+ | |||
+ | |||
+ | ===== 다른 정보를 추출하기 ===== | ||
+ | |||
+ | 만약 FtpPath뿐만 아니라 여러 가지의 정보를 추출하고 싶다면 ' | ||
+ | |||
+ | $ esearch -db assembly -query GCA_000017025.1 | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | $ esearch -db assembly -query GCA_000017025.1 | efetch -format docsum | ||
+ | <?xml version=" | ||
+ | < | ||
+ | " | ||
+ | |||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | … 중간 생략 … | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | 이번에는 유전체 정보가 공개된 특정 종 균주가 어떤 곳에서 분리되었는지 알아내는 방법에 대해여 설명하고자 한다. 위에서 설명한 xtract 명령어에서 ‘-element BioSampleAccn’ 옵션을 적용하여 그 결과를 biosample_acc.txt 파일에 저장한다. 이를 esearch + efetch + xtract 명령어에 적용하여 BioSample 데이터베이스를 검색하되 모든 Accession Number에 대해서 적용하도록 반복문을 돌리는 것이 핵심이다. | ||
+ | |||
+ | $ cat biosample_acc.txt | ||
+ | SAMN13428652 | ||
+ | SAMN11521245 | ||
+ | SAMN11521242 | ||
+ | SAMN11521244 | ||
+ | SAMN10822424 | ||
+ | $ for i in $(cat biosample_acc.txt) | ||
+ | > do | ||
+ | > ll=$(esearch -db biosample -query $i | efetch -format docsum | \ | ||
+ | > xtract -pattern DocumentSummary -block Attribute \ | ||
+ | > -if Attribute@attribute_name -equals isolation_source \ | ||
+ | > -element Attribute) | ||
+ | > echo -e " | ||
+ | > done | ||
+ | SAMN13428652 | ||
+ | SAMN11521245 | ||
+ | SAMN11521242 | ||
+ | SAMN11521244 | ||
+ | SAMN10822424 | ||
+ | …(후략) | ||
+ | |||
+ | BioSample 데이터베이스의 Attribute 항목에는 여기에서 소개한 isolation_source 외에도 strain, collection_date, | ||
+ | |||
+ | # data.txt 파일은 ‘xtract –pattern DocumentSummary -element Genbank FtpPath_GenBank BioSampleAccn BioprojectAccn’으로 추출된 것으로, 첫 번째와 세 번째 컬럼(굵은 글씨)을 사용함 | ||
+ | $ head -n 1 data.txt | ||
+ | GCA_014068615.1 ftp:// | ||
+ | PRJNA592543 | ||
+ | $ for i in $(awk -vOFS=, ' | ||
+ | > do | ||
+ | > A=${i%,*} | ||
+ | > B=${i#*,} | ||
+ | > ll=$(esearch -db biosample -query $B | efetch -format docsum | \ | ||
+ | | ||
+ | | ||
+ | > echo -e " | ||
+ | > done | ||
+ | GCA_014068615.1 SAMN13428652 | ||
+ | …(후략) | ||
+ | |||
+ | 위의 사례에서는 data.txt 파일에서 유래한 두 컬럼을 do 반복문 안에서 A와 B 변수로 나누어 저장하기 위해 다소 복잡한 방법1을 동원하였다. 그러나 'awk ' | ||
+ | |||
+ | 다음의 사례는 출력물의 세 번째 컬럼에 Organism 정보를 포함시켜서 출력하되 모든 결과를 results.txt 파일에 기록하도록 하는 방법이다. BioSample 레코드에서는 Organism이 별도의 block에 들어있지는 않지만, 복수의 -block 구문을 사용하여 서로 다른 섹션에 위치한 정보를 하나의 xtract문으로 추출하는 것이 가능하다([[https:// | ||
+ | |||
+ | $ for i in $(awk -vOFS=, ' | ||
+ | > do | ||
+ | > A=${i%,*} | ||
+ | > B=${i#*,} | ||
+ | > ll=$(esearch -db biosample -query $B | efetch -format docsum | \ | ||
+ | | ||
+ | | ||
+ | > echo -e " | ||
+ | > done | ||
bioinfo/e-direct로_명령행에서_entrez_db_접근하기.1687419391.txt.gz · Last modified: 2023/06/22 16:36 by hyjeong