By zhenzixu, 30 August, 2025
Forums

一、 准备环境 确保已安装: 

• bedtools(用于基因组操作) 

• samtools(用于索引基因组文件) 

• grep、awk(文本处理) 

如未安装,运行以下命令:

sudo apt-get update 

sudo apt-get install bedtools samtools 

二、 准备输入文件 

• 基因组文件 genome.fa 

• 注释文件 .gff 

三、 提取 

1.生成索引基因组文件 samtools faidx genome.fa 

2.创建基因位置提取脚本 

注:将脚本以.txt格式上传,extract_promoters.txt 

3.执行脚本

 # 使脚本可执行 

chmod +x extract_promoters.sh 

# 运行脚本 

./extract_promoters.sh 

结果验证: 

# 查看提取的基因数量 

grep -c ">" target_promoters.fa 

# 查看序列长度分布 

grep -v ">" target_promoters.fa | awk '{print length}' | sort | uniq -c 

 

注意事项 

1.GFF格式适配 如果GFF文件格式不同,可能需要调整基因ID提取部分 

2.使用bedtools提取序列与TBtools提取序列有些差异,比如提取CDS上游2000bp,其中bedtools提取序列为xxx+a,TBtools提取序列为b+xxx,xxx为相同碱基序列,a与b为不同的一个碱基,即bedtools与TBtools提取序列首尾一个碱基不同 

差异原因: 

(1)坐标系统不同(核心原因):0-based 与 1-based 坐标系统 

(2)对“上游”边界的规定不同 在绝大多数情况下(比如做启动子分析、motif查找),这一个碱基的差异不会影响生物学结论

fields