両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン |
20210728 [2021/07/28 07:20] – 133.11.144.10 | 20210728 [Unknown date] (現在) – 削除 - 外部編集 (Unknown date) 127.0.0.1 |
---|
====== 20210728 ====== | |
| |
===== mitoFishデータベースのInputファイルを作成 ===== | |
| |
| |
・SRR5877065が未終了。Blastが動作しており、書き込みが続いていることを確認。 | |
| |
・リード数がペアエンド間で異なるシーケンスデータに関しては、片側のみを用いるように変更。 | |
| |
===== nt Blastに必要な時間の計測 ===== | |
| |
・5readのシーケンスデータを用いて、ntデータベースにBlast検索を行う。1readあたりの時間を算出。 | |
| |
以下概算 | |
| |
blast 10:52~11:05 15min/5read | |
| |
3min/read | |
| |
シーケンスデータ数 1798 ≒ 1800 | |
| |
1sample辺り 1万リード | |
(1.8 * 10^3) * (1 * 10^4)read * 3min/read = 5.4 * 10^7 min = 54000000 = 5400万 min = 90万 h = 3.75万 日 = (10CPU: 3750日) = (30台:100日) | |
| |
1sample辺り nリード | |
(1.8 * 10^3) * n read * 3min/read = 5400n min = 90n hour = 3.75n days | |
| |
===== ntデータベースとmitofishデータベースの比較 ===== | |
| |
mitoFishのデータベースの場合、人のDNAがコンタミしていた場合でも、サメの12Sの配列と認識してしまう可能性があり、一致率を検討してあげる必要がある。 | |
| |
以下の2点について調べる。 | |
| |
・ntデータベースとMitoFishデータベースによるinputファイルの違い。 | |
| |
・Blast結果ファイルに記述されているIndentityの値など。 | |
| |
以下のスクリプトを実行した。 | |
| |
run_gridcompute.sh | |
| |
#sample data(Ex:/suikou/files/m208/ito.takumi/work/mitosearch/create_input/sample.txt) | |
sample=$1 | |
| |
#run grid engine | |
for prefix in `cat ${sample}` ;do runGE-8cpu-128gb-512gb-machine bash /suikou/files/m208/ito.takumi/work/mitosearch/test_data/compare/script/create_input_ver3.sh ${prefix} ;done | |
| |
create_input_ver3.sh | |
| |
#!/bin/bash | |
| |
prefix=$1 | |
| |
#create tmp dir | |
mkdir -p /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix} | |
| |
if [ -e /suikou/files/m512/backup/r311/eDNA/${prefix}_1.fastq.gz -a -e /suikou/files/m512/backup/r311/eDNA/${prefix}_2.fastq.gz ]; then | |
#ファイルをコピー(Flashが上手く行かなかった時に使うシーケンスデータ) | |
cp /suikou/files/m512/backup/r311/eDNA/${prefix}_1.fastq.gz /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix} | |
| |
#解凍(Flashが上手く行かなかった時に使うシーケンスデータ) | |
gunzip /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/${prefix}_1.fastq.gz | |
| |
#ペアエンドのfastqのセットをシングルエンドのfastqに変換。もしエラー(リード数がペアエンド間で異なるなど)の場合は1側のリードを使う。 | |
flash /suikou/files/m512/backup/r311/eDNA/${prefix}_1.fastq.gz /suikou/files/m512/backup/r311/eDNA/${prefix}_2.fastq.gz -d /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix} -M 300 || mv /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/${prefix}_1.fastq /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/out.extendedFrags.fastq | |
| |
#fastqファイルをfastaファイルに変換。 | |
awk '(NR - 1) % 4 < 2' /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/out.extendedFrags.fastq | sed 's/@/>/' > /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/out.extendedFrags.fasta | |
| |
#mitoFishデータベースにBlast検索を行う。 | |
blastn -num_threads 8 -db /suikou/files/m208/ito.takumi/work/mitosearch/mitofish_db/complete_partial_mitogenomes.fa -query /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/out.extendedFrags.fasta -outfmt "6 qseqid sseqid qlen slen pident length mismatch gapopen qstart qend sstart send evalue bitscore staxids stitle" -max_target_seqs 1 -out /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/blast.mitodb.result | |
| |
#ntデータベースに対してBLAST検索を行う。 | |
/suikou/files/m208/ito.takumi/work/tool/blast/ncbi-blast-2.9.0+/bin/blastn -num_threads 8 -db /suikou/db/ncbi/2021-05-24_nt_v5_formal/nt -query /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/out.extendedFrags.fasta -outfmt "6 qseqid sseqid qlen slen pident length mismatch gapopen qstart qend sstart send evalue bitscore staxids stitle" -max_target_seqs 1 -out /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/blast.nt.result | |
| |
#Inputファイルのヘッダを書き込み(MitoFishデータベースとntデータベースで2つ作成。) | |
echo -e "id\t${prefix}.fastq" > /suikou/files/m208/ito.takumi/work/mitosearch/test_data/compare/output/${prefix}.mitodb.input | |
echo -e "id\t${prefix}.fastq" > /suikou/files/m208/ito.takumi/work/mitosearch/test_data/compare/output/${prefix}.nt.input | |
| |
| |
#Inputファイル書き込み | |
cut -f 16 /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/blast.mitodb.result |sort |uniq -c |sort -r -n |awk 'BEGIN{OFS="\t"} {c="";for(i=2;i<=NF;i++) c=c $i" "; print c, $1}' >> /suikou/files/m208/ito.takumi/work/mitosearch/test_data/compare/output/${prefix}.mitodb.input | |
cut -f 16 /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/blast.nt.result |sort |uniq -c |sort -r -n |awk 'BEGIN{OFS="\t"} {c="";for(i=2;i<=NF;i++) c=c $i" "; print c, $1}' >> /suikou/files/m208/ito.takumi/work/mitosearch/test_data/compare/output/${prefix}.nt.input | |
| |
else | |
if [ -e /suikou/files/m512/backup/r311/eDNA/${prefix}_1.fastq.gz ]; then | |
| |
#ファイルをコピー | |
cp /suikou/files/m512/backup/r311/eDNA/${prefix}_1.fastq.gz /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix} | |
| |
#解凍 | |
gunzip /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/${prefix}_1.fastq.gz | |
| |
#fastqファイルをfastaファイルに変換。 | |
awk '(NR - 1) % 4 < 2' /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/${prefix}_1.fastq | sed 's/@/>/' > /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/out.extendedFrags.fasta | |
| |
#mitoFishデータベースにBlast検索を行う。 | |
blastn -num_threads 8 -db /suikou/files/m208/ito.takumi/work/mitosearch/mitofish_db/complete_partial_mitogenomes.fa -query /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/out.extendedFrags.fasta -outfmt "6 qseqid sseqid qlen slen pident length mismatch gapopen qstart qend sstart send evalue bitscore staxids stitle" -max_target_seqs 1 -out /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/blast.mitodb.result | |
| |
#ntデータベースに対してBLAST検索を行う。 | |
/suikou/files/m208/ito.takumi/work/tool/blast/ncbi-blast-2.9.0+/bin/blastn -num_threads 8 -db /suikou/db/ncbi/2021-05-24_nt_v5_formal/nt -query /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/out.extendedFrags.fasta -outfmt "6 qseqid sseqid qlen slen pident length mismatch gapopen qstart qend sstart send evalue bitscore staxids stitle" -max_target_seqs 1 -out /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/blast.nt.result | |
| |
#Inputファイルのヘッダを書き込み(MitoFishデータベースとntデータベースで2つ作成。) | |
echo -e "id\t${prefix}.fastq" > /suikou/files/m208/ito.takumi/work/mitosearch/test_data/compare/output/${prefix}.mitodb.input | |
echo -e "id\t${prefix}.fastq" > /suikou/files/m208/ito.takumi/work/mitosearch/test_data/compare/output/${prefix}.nt.input | |
| |
#Inputファイル書き込み | |
cut -f 16 /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/blast.mitodb.result |sort |uniq -c |sort -r -n |awk 'BEGIN{OFS="\t"} {c="";for(i=2;i<=NF;i++) c=c $i" "; print c, $1}' >> /suikou/files/m208/ito.takumi/work/mitosearch/test_data/compare/output/${prefix}.mitodb.input | |
cut -f 16 /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/blast.nt.result |sort |uniq -c |sort -r -n |awk 'BEGIN{OFS="\t"} {c="";for(i=2;i<=NF;i++) c=c $i" "; print c, $1}' >> /suikou/files/m208/ito.takumi/work/mitosearch/test_data/compare/output/${prefix}.nt.input | |
fi | |
| |
if [ -e /suikou/files/m512/backup/r311/eDNA/${prefix}_2.fastq.gz ]; then | |
| |
#ファイルをコピー | |
cp /suikou/files/m512/backup/r311/eDNA/${prefix}_2.fastq.gz /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix} | |
| |
#解凍 | |
gunzip /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/${prefix}_2.fastq.gz | |
| |
#fastqファイルをfastaファイルに変換。 | |
awk '(NR - 1) % 4 < 2' /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/${prefix}_2.fastq | sed 's/@/>/' > /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/out.extendedFrags.fasta | |
| |
#mitoFishデータベースにBlast検索を行う。 | |
blastn -num_threads 8 -db /suikou/files/m208/ito.takumi/work/mitosearch/mitofish_db/complete_partial_mitogenomes.fa -query /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/out.extendedFrags.fasta -outfmt "6 qseqid sseqid qlen slen pident length mismatch gapopen qstart qend sstart send evalue bitscore staxids stitle" -max_target_seqs 1 -out /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/blast.mitodb.result | |
| |
#ntデータベースに対してBLAST検索を行う。 | |
/suikou/files/m208/ito.takumi/work/tool/blast/ncbi-blast-2.9.0+/bin/blastn -num_threads 8 -db /suikou/db/ncbi/2021-05-24_nt_v5_formal/nt -query /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/out.extendedFrags.fasta -outfmt "6 qseqid sseqid qlen slen pident length mismatch gapopen qstart qend sstart send evalue bitscore staxids stitle" -max_target_seqs 1 -out /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/blast.nt.result | |
| |
#Inputファイルのヘッダを書き込み(MitoFishデータベースとntデータベースで2つ作成。) | |
echo -e "id\t${prefix}.fastq" > /suikou/files/m208/ito.takumi/work/mitosearch/test_data/compare/output/${prefix}.mitodb.input | |
echo -e "id\t${prefix}.fastq" > /suikou/files/m208/ito.takumi/work/mitosearch/test_data/compare/output/${prefix}.nt.input | |
| |
#Inputファイル書き込み | |
cut -f 16 /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/blast.mitodb.result |sort |uniq -c |sort -r -n |awk 'BEGIN{OFS="\t"} {c="";for(i=2;i<=NF;i++) c=c $i" "; print c, $1}' >> /suikou/files/m208/ito.takumi/work/mitosearch/test_data/compare/output/${prefix}.mitodb.input | |
cut -f 16 /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix}/blast.nt.result |sort |uniq -c |sort -r -n |awk 'BEGIN{OFS="\t"} {c="";for(i=2;i<=NF;i++) c=c $i" "; print c, $1}' >> /suikou/files/m208/ito.takumi/work/mitosearch/test_data/compare/output/${prefix}.nt.input | |
| |
fi | |
| |
# rm -r /suikou/files/m768b/ito.takumi/work/mitosearch/create_input/tmp/${prefix} | |
| |
fi | |