레이블이 awk인 게시물을 표시합니다. 모든 게시물 표시
레이블이 awk인 게시물을 표시합니다. 모든 게시물 표시

토요일, 9월 01, 2018

Microbiome Database를 만들어 볼까? -NCBI편-

Microbiome Database를 만들려면
database에 들어갈 무엇이든 뭐든지 있어야 겠지요?

지구상에서 생명공학을 공부하면서 한번도 안들어 갈수 없는
한번 들어 가봤으면 다시는 안 갈 수 없는 바로 그곳! 거기!

근데 일단 거기는 들어갈 필요는 없구요
NCBI에서 데이터를 받아봅시다!
-아니 이양반아 거기에 안들어가고 무엇을 한단말인가?

그렇죠! 그래서 저희는 이곳을 이용할겁니다.

assembly_summary_refseq.txt 파일을 작업서버에 살포시 다운로드 받아보겠습니다.


$ wget ftp://ftp.ncbi.nlm.nih.gov/genomes/refseq/bacteria/assembly_summary.txt

이제 다 받아졌다면 잘 받아졌는지 파일을 한번 볼까요?

앜 내눈!!! 글씨밖에 없죠? 정상적인 파일입니다. 다행히 잘 받아졌군요

이 파일에서 우리가 필요한 파일들을 받을 수 있는 주소들이 있습니다.
자 파일 라인 갯수가 #으로 처리된 헤더 2라인을 제외하면 124,529개 밖에 안됩니다. ;)

대략 20번째 컬럼에 있는 ftp 주소를 한개의 파일로 한땀 한땀 모으시면됩니다.
모 번뜩 생각나는 방법은 txt파일을 엑셀에서 불러들여서 20번째 컬럼에 있는 내용 복붙하셔도...

그러나 좀 편리하게 awk를 사용하는 방법이..

$ awk '{FS="\t"} !/^#/{print $20}' assembly_summary.txt > bacteria.list
그럼 bacteria.list에 ftp주소가 모입니다.

그 다음에

for M in `cat bacteria.txt`
do
wget -P rna $M/*rna_from_genomic.fna.gz
done

이렇게 해주시면 rna폴더에 rna_from_genomic.fna.gz 파일들이 차곡 차곡  쌓입니다.

대신 12만개 다운 받아야하니.. screen 실행시킨 다음에 하시고요

그럼 다 받을때까지 요즘 날씨도 좋으니 놀다오는걸로 :)

#날씨도좋은데놀아보자 출처: YOUTUBE 캡쳐

수요일, 3월 28, 2012

awk 사용법


Blast를 수행 시 -m 8을 하면 자료 뽑아내기가 쉬운 것을 알고 있다.
근데 리눅스에서는 awk라는 명령어를 사용하여 별도의 코딩을 하지 않고
일정 값 이상/이하의 결과들만 골라서 볼 수 있다.
-biodb의 wiki에 정리해둔 것이 있었는데...;;;

구글 뒤져보니 본인이 원하는 기능의 awk 기능을 잘 설명해 놓은 것이 있어서
그대로 옮겨보도록 한다. ㅋ

출처: :+:하늘을 닮은 호수:+:

-m 옵셥에서 8값을 선택한 결과 파일 (blastout.file) 에서 score가 100 이상의 결과들만 뽑길 원하는 경우
> awk '$12 > 100 { print $2 }' blastout.file

본 문장을 응용하면 결과값에 특정 문자열만 들어가 있는 것을 포함/제외 하고
출력하기, 결과값이 중복된 것이 있으면 sort를 이용하여 제거 할 수도 있으니
참 간편하지요? ;;;

그걸 몰랐던 학부 시절 때 하나하나 python으로 삽질하던 기억을 하면;; 아놔;;;
그러나 요즘도 걍 python으로 작업한다는 훈훈한 이야기가 전해내려 온다능..;;