20210728

20210728

・SRR5877065が未終了。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

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

createinputver3.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

またGridエンジンでCPU8コア、メモリ16GB(1コアあたり)、512GB以上のメモリを持っているサーバでのみ分散処理を行うように変更。

qsub -q all.q@m512* -q all.q@m768* -q all.q@m1536* -pe def_slot 8 -l mem_req=16G -j Y -r yes -N $name /suikou/tool/yoshitake/qsubsh4 "$*"
  • 20210728.1627456973.txt.gz
  • 最終更新: 2021/07/28 07:22
  • by 133.11.144.10