# Info_extracting **Repository Path**: paver/Info_extracting ## Basic Information - **Project Name**: Info_extracting - **Description**: No description available - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-06-13 - **Last Updated**: 2026-01-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Info_extracting #### 介绍 {**生物信息分析常见工具和流程简介** 这些流程覆盖了基因组学和NGS数据分析的常见任务 # 肺癌驱动基因突变分析流程文档 ## 概述 **版本:** 0.8.0.0 **最后更新:** 2018年6月27日 **平台:** Ion Proton / Illumina --- ## 功能 肺癌基因变异分析流程专为分析 Ion Proton/Illumina 平台生成的 NGS 数据(FASTQ 格式)而设计。 ### 核心特性 - (1) 优化适配 Illumina 数据流分析 - (2) 全面质量控制与变异检测 - (3) 支持并行处理 - (4) 模块化设计实现灵活分析 --- ## 软件要求 需安装以下生物信息学软件: | 软件 | 版本 | 用途 | |----------|---------|---------| | FastQC | v0.11.5 | 质量控制 | | iTools | v0.16 | 序列分析 | | bwa | v0.7.13-r1126 | 序列比对 | | picard | v2.9.4-2 | BAM文件处理 | | VarScan | v2.3 | 变异检测 | | cutadapt | v1.14 | 接头序列修剪 | | samtools | v1.5 | SAM/BAM文件操作 | | latex | TeX Live 2017 | 报告生成 | | Python | v3.6.0 | 流程脚本编写 | | bowtie2 | v2.3.2 | 替代比对工具 | | bowtie | v1.1.2 | 替代比对工具 | | R | v3.4.0 | 统计分析 | --- ## 使用说明 ### 基本命令 ```bash perl /soft/SABEL_0.8.0.0/Main/SABEL_0.8.0.0.pl \ -i fq_list \ -d fastq_dir \ -b BedFile \ -t Data \ [-o output_dir] \ [-n process_number] \ [-auto] ``` ### Python 版本 ```bash python genomic_pipeline.py \ -i fq_list \ -d fastq_dir \ -b BedFile \ -t Data \ [-o output_dir] \ [-n process_number] ``` ## 参数 ### 必需参数 | 参数 | 类型 | 描述 | |-----------|------|-------------| | `-i, --input` | 文件 | 待分析的FASTQ列表文件(格式见下文) | | `-d, --fq` | 目录 | 包含FASTQ文件的目录 | | `-b, --ontar_bed` | 文件 | 靶向计算用的BED文件(绝对路径) | | `-a, --allreport` | 目录 | 所有样本分析结果存储目录 | ### 可选参数 | 参数 | 类型 | 默认值 | 说明 | |-----------|------|---------|-------------| | `-o, --output` | 目录 | `Results_YYYY_M_D` | 输出目录名称 | | `-q, --avg_qual` | 整数 | 30 | VarScan 最小平均质量值 | | `-n, --num_p` | 整数 | 3 | 最大并行运行进程数 | | `-t, --time` | 字符串 | 当前日期 | 机器学习数据的时间戳 | | `-c, --cut` | 布尔值 | False | 启用cutadapt进行适配器修剪 | ### 分析模式选项 | 参数 | 描述 | |-----------|-------------| | `--autoP` | 仅运行探针分析(跳过VarScan和融合分析) | | `--autoV` | 仅运行VarScan分析(跳过探针和融合分析) | | `--autoF` | 仅运行融合分析(跳过VarScan和探针分析) | ### 帮助 | 参数 | 说明 | |-----------|-------------| | `-h, --help` | 打印帮助信息 | --- ## 输入文件格式 ### FASTQ列表文件(`fq_list`) 输入列表文件应采用**制表符分隔**格式,具体如下: ``` IonXpress_003_R_*.fastq.gz probe1,probe2,probe3,probe4,probe5 IonXpress_004_R_*.fastq.gz probe1,probe2,probe3,probe4,probe5 IonXpress_005_R_*.fastq.gz probe1,probe2,probe3 ``` ## 示例用法 ### Example 1: 基础分析 ```bash python genomic_pipeline.py \ -i sample_list.txt \ -d /path/to/fastq \ -b /path/to/ontarget.bed \ -a /path/to/summary \ -n 4 ``` ### Example 2: 自定义质量值过滤 ```bash python genomic_pipeline.py \ -i sample_list.txt \ -d /path/to/fastq \ -b /path/to/ontarget.bed \ -a /path/to/summary \ -q 35 \ -n 8 \ -o Results_Custom ``` ### Example 3: 只进行探针分析 ```bash python genomic_pipeline.py \ -i sample_list.txt \ -d /path/to/fastq \ -b /path/to/ontarget.bed \ -a /path/to/summary \ --autoP ``` ### Example 4: 进行接头切除 ```bash python genomic_pipeline.py \ -i sample_list.txt \ -d /path/to/fastq \ -b /path/to/ontarget.bed \ -a /path/to/summary \ -c \ -n 6 ``` --- ## 输出结构目录 ``` Results_YYYY_M_D/ ├── Fastq/ # Symbolic links to input FASTQ files ├── Work_shell/ # Generated shell scripts │ ├── PRO_ShellList.txt # Probe analysis script list │ ├── Var_ShellList.txt # VarScan analysis script list │ └── Sample*-*.sh # Individual sample scripts ├── Probe_analysis/ # Probe analysis results │ └── SampleS*/ │ ├── bwa_probe*/ # Per-probe alignment │ └── *.QC.xls # Quality control metrics ├── Varscan_analysis/ # Variant calling results │ └── SampleS*/ │ ├── Step1QC/ # Quality control │ ├── Step2Alignment/ # Alignment files │ ├── Step3Variant/ # Variant calls (VCF) │ └── Results/ # Summary results └── Fusion_analysis/ # Fusion detection results ``` ## 注意事项 - 1.配置文件: 需要修改Config类中的工具路径和参考基因组路径 - 2.依赖脚本: 许多Perl/Python/R脚本调用保持不变,需要确保这些脚本在正确位置 - 3.权限: 确保生成的Shell脚本有执行权限 - 4.错误处理: 可以根据需要添加更多的异常处理 ## parallel_runner.py 功能说明 ```bash # 方式1: 单个脚本执行(兼容原Perl) python parallel_runner.py script.sh # 方式2: 并行执行(兼容原Perl) python parallel_runner.py 3 shell_list.txt # 方式3: 使用命令行选项 python parallel_runner.py --workers 5 shell_list.txt python parallel_runner.py -q 3 shell_list.txt # 静默模式 ``` ## parallel_runner.py 增强特性 - 实时进度显示: 显示完成百分比和成功/失败统计 - 更好的错误处理: 捕获并显示详细错误信息 - 日志管理: 自动生成.log和.err文件 - 执行总结: 显示成功率、总时间、平均时间等统计 ## parallel_runner.py 作为模块使用 ```python from parallel_runner import ParallelRunner # 创建执行器 runner = ParallelRunner(max_workers=3) # 从文件执行 stats = runner.run_from_list_file('shell_list.txt') # 或直接传入脚本列表 scripts = ['script1.sh', 'script2.sh', 'script3.sh'] stats = runner.run_parallel(scripts) # 单个脚本执行 runner.run_single('script.sh') ``` ### ✅ **相比原Perl脚本的优势** 1. **更可靠**: 使用Python标准库的`ProcessPoolExecutor`,进程管理更稳定 2. **更清晰**: 实时显示进度和详细的执行报告 3. **更安全**: 更好的异常处理和错误恢复 4. **更灵活**: 支持更多选项和配置 5. **更易维护**: 面向对象设计,代码更清晰 ### ✅ **输出示例** ``` ===== SampleS1-PR.sh Modular Analysis Start ===== ✓ SampleS1-PR.sh completed successfully in 125.45s Progress: 1/10 (10.0%) | Success: 1 | Failed: 0 ===== SampleS2-PR.sh Modular Analysis Start ===== ✓ SampleS2-PR.sh completed successfully in 118.32s Progress: 2/10 (20.0%) | Success: 2 | Failed: 0 ====================================================================== Parallel Execution Summary: ====================================================================== Total scripts: 10 Completed: 10 Success: 9 Failed: 1 Success rate: 90.0% Total time: 456.78s (7.6m) Average time/script: 45.68s ====================================================================== Failed scripts: ✗ SampleS5-PR.sh: Return code: 1 Error log: /path/to/SampleS5-PR.err Analysis for all samples Done! ```