This project presents a bioinformatic pipeline for the identification and assembly of the nudivirus genome from raw SRA data of the Korean rhinoceros beetle (Trypoxylus dichotomus). The work is based on the study published in Journal of Virological Methods:
π Reference
Kim JY, et al. (2023). Genomic analysis of a nudivirus isolated from Trypoxylus dichotomus in Korea reveals features of a novel OrNV strain.
DOI: 10.1016/j.jviromet.2023.114768
- SRA Accession:
SRS2584474
- Host: Trypoxylus dichotomus (Korean rhinoceros beetle)
- Virus: Trypoxylus dichotomus Nudivirus (TdNV-Korea)
- Genome size: 126,408 bp
- Key findings:
- Genomic structure conserved with other Oryctes rhinoceros nudiviruses (OrNV)
- Lowest number of ORFs among known OrNVs
- Three hypothetical genes absent only in TdNV-Korea
- Core genes contain SNPs and indels affecting amino acid sequences
The pipeline is implemented using standard bioinformatics tools and structured in the following steps.
We used the NCBI SRA Toolkit to download the raw sequencing data and convert to FASTQ format.
# Install SRA Toolkit if not already installed
# Download data using prefetch and fastq-dump
prefetch SRS2584474
fastq-dump --split-3 --gzip SRS2584474
---
### πΉ Step 2: Quality Control and Read Filtering
In this step, we used [`fastp`](https://github.com/OpenGene/fastp) to filter out low-quality reads and generate basic quality control reports.
#### βοΈ Command
```bash
fastp \
-i SRS2584474_1.fastq.gz -I SRS2584474_2.fastq.gz \
-o filtered_R1.fastq.gz -O filtered_R2.fastq.gz \
-q 30 -u 10 \
-h fastp_report.html -j fastp_report.jsonIn this step, we used SPAdes to assemble the filtered paired-end reads into contigs.
spades.py \
--careful --only-assembler \
-1 filtered_R1.fastq.gz -2 filtered_R2.fastq.gz \
-o spades_outputThe resulting contigs will be stored in spades_output/contigs.fasta.
Use BLASTx to identify viral contigs from the assembled sequences by comparison to the NCBI non-redundant protein database.
blastx -query spades_output/contigs.fasta \
-db nr \
-evalue 1e-5 \
-outfmt 6 \
-num_threads 8 \
-out blastx_results.txtoutfmt 6: tabular outputevalue 1e-5: set significance thresholdnum_threads: number of CPU threads