# 测试数据说明
本目录包含从NCBI SRA数据库下载的真实FASTQ测试数据,用于seqtkrs项目的功能测试和性能基准测试。
## 数据集列表
### SRR000001 - 完整数据集
- **来源**: NCBI SRA数据库
- **描述**: 双端测序数据(Paired-end sequencing data)
- **序列数**: 236,041 条配对序列
- **文件**:
- `SRR000001_1.fastq` (68M) - Read 1
- `SRR000001_2.fastq` (76M) - Read 2
- `SRR000001.fastq` (141M) - 合并的单端数据
- **用途**: 完整的功能测试、性能基准测试
### SRR000001 - 小型测试子集
- **序列数**: 10,000 条配对序列
- **文件**:
- `SRR000001_1_small.fastq` (2.8M) - Read 1 子集
- `SRR000001_2_small.fastq` (3.0M) - Read 2 子集
- **用途**: 快速功能测试、调试、开发过程中的验证
## 使用示例
### 测试基本的seq命令
```bash
# 使用小型数据集快速测试
cargo run --release -- seq data/SRR000001_1_small.fastq > output.fq
# 使用完整数据集进行性能测试
cargo run --release -- seq data/SRR000001_1.fastq > output.fq
```
### 测试双端序列处理
```bash
# 测试mergepe命令(双端合并)
cargo run --release -- mergepe data/SRR000001_1.fastq data/SRR000001_2.fastq
# 测试sample命令(配对采样)
cargo run --release -- sample -s 100 data/SRR000001_1.fastq 1000
```
### 测试过滤和质量控制
```bash
# 测试trimfq命令(质量修剪)
cargo run --release -- trimfq data/SRR000001_1_small.fastq
# 测试fqchk命令(质量统计)
cargo run --release -- fqchk data/SRR000001_1_small.fastq
```
## 数据格式
所有文件均为标准的FASTQ格式(Phred+33质量编码):
```
@序列ID 描述信息
ATCGATCGATCG...
+序列ID 描述信息
质量值字符串...
```
## 与原版seqtk对比测试
```bash
# 生成原版seqtk的输出
cd raw/seqtk
./seqtk seq ../../data/SRR000001_1_small.fastq > expected.fq
# 与seqtkrs输出对比
cd ../..
cargo run --release -- seq data/SRR000001_1_small.fastq > actual.fq
diff expected.fq actual.fq
```
## 重新下载数据
如需重新下载或更新数据,可以使用以下命令:
```bash
# 确保已安装sra-tools
conda install -c bioconda sra-tools -y
# 下载完整数据集
cd data
fasterq-dump SRR000001 --progress
# 重新创建小型子集
head -n 40000 SRR000001_1.fastq > SRR000001_1_small.fastq
head -n 40000 SRR000001_2.fastq > SRR000001_2_small.fastq
```
## 注意事项
- 完整数据集约290MB,下载和处理需要一定时间
- 建议在开发过程中使用小型子集进行快速迭代测试
- 在提交PR前使用完整数据集进行最终验证
- 数据文件已添加到`.gitignore`,不会提交到版本库