반응형

awk 응용하기!



awk '{if ($1 ~ ">gga" || $1 ~ ">tgu") {print $1 ; getline ; print}}' mature.fa > mature.others.fa


줄의 시작이 ">gga" 또는 ">tgu"로 시작하는 줄에서 $1를 프린트 하고 라인을 읽고 전체 줄을 프린트한다.


mature.fa 파일은 mirbase에서 다운로드 받은 것으로 전체 종의 대한 mature miRNA sequence가 전부 포함되어 있다.


mirdeep2에서 유사종의 mature miRNA sequence만 가져오고 싶으며 또한 sequence id에 추가 설명 없이 1번 column만 포함되어야 하므로 위와 같은 코드를 구성하였다.







fasta 파일에서 contig 별로 sequence 가져오기.


contig의 형식은 아래와 같았다.


>Contig1

sequence


>로 시작하는 id는 substr를 사용해 숫자 부분만 가져오고 >로 시작하지 않으면 이전에 정한 id 변수 이름에 write.


awk '{if ($1 ~ ">") id = substr($1,8)} {print >> "jelly.out.break.fasta."id".txt"}' ../break/jelly.out.break.fasta


필요에따라 id를 변수로 지정하는 부분만 바꿔주면 될듯 하다.




fasta 파일에서 "|" 와 "_"로 이어져있는 id를 쪼개기.


awk '{if ($1 ~ ">") {split($1,tmpid,"|");split(tmpid[1],id,"_");print ">"id[2] >> "knd1.fa"} else {print >> "knd1.fa"}}' consensus_ngmlr.fasta


반응형

'Computer Science > linux' 카테고리의 다른 글

neocomplcache vim plugin 설치하기  (0) 2018.07.12
samba 설정하기  (0) 2018.02.02
MPC 설치하기  (0) 2017.09.19
MPFR 설치하기  (0) 2017.09.19
GMP 설치하기  (1) 2017.09.19

+ Recent posts