cog_assignment
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
cog_assignment [2018/04/30 09:30] – [Functional classification] hyjeong | cog_assignment [2019/03/14 15:20] – [Query sequence file의 준비] hyjeong | ||
---|---|---|---|
Line 38: | Line 38: | ||
각 디렉토리로 들어가서 make를 실행하면 디렉토리 이름에 해당하는 실행파일이 생긴다. gcc 4.4.7로는 잘 빌드되지만 gcc 5.3.0(Linuxbrew)로는 오류가 발생하였다. 만들어진 실행파일을 $PATH에 위치시킨다. | 각 디렉토리로 들어가서 make를 실행하면 디렉토리 이름에 해당하는 실행파일이 생긴다. gcc 4.4.7로는 잘 빌드되지만 gcc 5.3.0(Linuxbrew)로는 오류가 발생하였다. 만들어진 실행파일을 $PATH에 위치시킨다. | ||
- | COG data 파일 중 당장 필요한 것은 다음과 같다. / | + | COG data 파일 중 당장 필요한 것은 다음과 같다. / |
* **prot2003-2014.fa** BLASTDB로 전환된 다음에는 필요하지 않다. | * **prot2003-2014.fa** BLASTDB로 전환된 다음에는 필요하지 않다. | ||
* cog2003-2014.csv => **COGs.csv**라는 이름의 심볼릭 링크를 만들든지 복사를 해라. | * cog2003-2014.csv => **COGs.csv**라는 이름의 심볼릭 링크를 만들든지 복사를 해라. | ||
Line 63: | Line 63: | ||
$ cat file1 file2 > GenQuery.p2o.csv | $ cat file1 file2 > GenQuery.p2o.csv | ||
- | 파일의 구조를 간단히 그림으로 설명하면 다음과 같다. | + | 파일의 구조를 간단히 그림으로 설명하면 다음과 같다. 그림 아래에서 **GenQueryquery.p2o.csv**라는 파일명은 **GenQuery.p2o.csv**로 고쳐야 한다. 그림 파일의 원본이 없어서 볼썽사납지만 그대로 둔다. |
{{ : | {{ : | ||
+ | |||
+ | 이상의 작업을 하는 것이 너무 성가셔서 Gen1,fa, Gen2.fa.. 파일을 인수로 주면 query.fa 및 GenQuery.p2o.csv 파일을 만드는 스크립트 **process_COG_query.pl**를 하나 작성해 보았다. | ||
+ | |||
+ | #!/bin/sh | ||
+ | | ||
+ | # usage : process_COG_query.sh query1.fa query2.fa ... | ||
+ | | ||
+ | for query in " | ||
+ | do | ||
+ | cat $query >> tmp.query.fa | ||
+ | prefix=${query%.*} | ||
+ | grep '>' | ||
+ | done | ||
+ | | ||
+ | sed -e ' | ||
+ | | ||
+ | awk '/ | ||
+ | split($0, field, " | ||
+ | if (field[1] == "> | ||
+ | { | ||
+ | |||
+ | } | ||
+ | else | ||
+ | { | ||
+ | gsub(">","> | ||
+ | |||
+ | } | ||
+ | ;next} | ||
+ | {print}' | ||
+ | | ||
+ | rm tmp.query.fa tmp.file | ||
Query protein set와 COG protein에 대해서 blast DB를 만든다. 사용한 fasta file의 이름과 DB name이 다른 것에 유의한다. 혼동을 피하기 위해서 이렇게 한 것이니 각자 자율적으로 결정해도 된다. prot2003-2014.fa에서 만들어진 DB는 일정한 곳에 보관하여 계속 재사용하는 것이 좋을 것이다. | Query protein set와 COG protein에 대해서 blast DB를 만든다. 사용한 fasta file의 이름과 DB name이 다른 것에 유의한다. 혼동을 피하기 위해서 이렇게 한 것이니 각자 자율적으로 결정해도 된다. prot2003-2014.fa에서 만들어진 DB는 일정한 곳에 보관하여 계속 재사용하는 것이 좋을 것이다. | ||
Line 79: | Line 110: | ||
===== COGnitor process ===== | ===== COGnitor process ===== | ||
==== BLAST 검색 세 차례 ==== | ==== BLAST 검색 세 차례 ==== | ||
- | query의 자체 검색(filter OFF), 그리고 query -> COGs에 대한 검색(filter OFF and ON)을 실시한다. blastp가 아니라 psiblast를 이용한다는 점이 의외였다. Multiple processor를 쓴다면 -num_threads < | + | query의 자체 검색(filter OFF), 그리고 query -> COGs에 대한 검색(filter OFF and ON)을 실시한다. blastp가 아니라 psiblast를 이용한다는 점이 의외였다. Multiple processor를 쓴다면 -num_threads < |
$ psiblast -query query.fa -db Query -show_gis -outfmt 7 -num_descriptions 10 -num_alignments 10 -dbsize 100000000 -comp_based_stats F -seg no -out BLASTss/ | $ psiblast -query query.fa -db Query -show_gis -outfmt 7 -num_descriptions 10 -num_alignments 10 -dbsize 100000000 -comp_based_stats F -seg no -out BLASTss/ | ||
Line 102: | Line 133: | ||
$ COGcognitor -i=./ | $ COGcognitor -i=./ | ||
| | ||
- | 모든 것이 끝났다. **GenQuery.COG.csv**에 최종적으로 할당된 COG 정보가 수록된다. 주의할 점은 하나의 Query protein에 대하여 복수의 COG가 부여될 수 있따. 이러한 경우에는 5번째 필드인 cognitor-score를 가지고 1등을 선별해야 할 것이다. | + | 모든 것이 끝났다. **GenQuery.COG.csv**에 최종적으로 할당된 COG 정보가 수록된다. 주의할 점은 하나의 Query protein에 대하여 복수의 COG가 부여될 수 있다. 이러한 경우에는 5번째 필드인 cognitor-score를 가지고 1등을 선별해야 할 것이다. |
$ cat GenQuery.COG.csv | $ cat GenQuery.COG.csv | ||
Line 114: | Line 145: | ||
[[findBestFromCOGs.pl|findBestFromCOGs.pl]]이라는 스크립트를 사용하여 GenQuery.COG.csv를 처리하면 각 protein query에 대한 best COG를 출력한다. | [[findBestFromCOGs.pl|findBestFromCOGs.pl]]이라는 스크립트를 사용하여 GenQuery.COG.csv를 처리하면 각 protein query에 대한 best COG를 출력한다. | ||
- | $ findBestFromCOGs.pl GenQuery.COG.csv | + | $ findBestFromCOGs.pl GenQuery.COG.csv |
+ | $ cat GenQuery.COG.csv.bestHit | ||
AND37645.1, | AND37645.1, | ||
AND37646.1, | AND37646.1, |
cog_assignment.txt · Last modified: 2021/08/10 12:51 by hyjeong