By Tingting, 30 November, 2025
Forums

使用2-pass模式进行转录组比对,更加准确

使用STAR软件速度还算可以,比较推荐

#创建STAR环境,建立索引
conda create -n STAR
conda activate STAR
#下载STAR
conda install -c bioconda star
#版本为2.7.1b
#构建参考基因组
STAR --runThreadN 10\
     --runMode genomeGenerate \
     --genomeDir /home/Tg_genome/rna_star/Tg_star \
     --genomeFastaFiles /home/Tg_genome/Tgradis.fa \
     --sjdbGTFfile /home/Tg_genome/Tgrandis.gff \
     --sjdbOverhang 149 \
     --limitGenomeGenerateRAM 52215589813
参数解释:
--runThreadN:线程数为10
--runMode:genomeGenerate,构建基因组索引;
--genomeDir:指定索引生成目录;
--genomeFastaFiles:指定参考基因组;
--sjdbGTFfile:指定参考基因组的注释文件;
--sjdbOverhang:这个是reads长度的最大值减1,默认是100,我不是很理解很多人分析的学习方法中都设置100,二代测序都是150bp的序列长度,我设置了149
--limitGenomeGenerateRAM:设置最大内存

第一次比对

#常规比对
STAR --runThreadN 5 --genomeDir /home/Tg_genome/rna_star/Tg_star  --readFilesIn Y40606-5_R1_clean.fq.gz Y40606-5_R2_clean.fq.gz --readFilesCommand gunzip -c --outFileNamePrefix ./starmap.bam/Y40606-5

--readFilesIn :paired reads文件
--outSAMtype :表示输出默认排序的bam文件,类似于samtools sort(还有--outSAMtype BAM Unsorted和--outSAMtype BAM Unsorted SortedByCoordinate)
--outFileNamePrefix :输出文件路径即前缀
--readFilesCommand gunzip -c :表示是 STAR 软件的一个参数,其功能是指定用于读取输入文件的外部命令。当输入的测序数据文件是经过压缩处理的时候,就需要借助这个参数来调用合适的解压程序,从而正确读取数据。在读取这两个文件时,先使用 gunzip -c 命令对文件进行解压,然后从标准输出流获取解压后的数据进行后续处理。

根据第一次比对出的结果建立索引
STAR --runThreadN 10 --runMode genomeGenerate --genomeDir /home/Tg_genome/rna_star/index --genomeFastaFiles /home/Tg_genome/Tgradis.fa --sjdbGTFfile /home/Tg_genome/Tgrandis.gff --sjdbFileChrStartEnd /home/184_Tg_RNA/142samples_Tg_rna/BC2025090783-BGI-RNA-115samples/rawdata/starmap.bam/*.out.tab --sjdbOverhang 149 --limitGenomeGenerateRAM 52215589813 --limitSjdbInsertNsj 1091511
进行第二次比对
STAR --runThreadN 5 --genomeDir /home/Tg_genome/rna_star/index --readFilesIn Y40606-5_R1_clean.fq.gz Y40606-5_R2_clean.fq.gz --readFilesCommand gunzip -c --outFileNamePrefix ./starmap.bam/2_pass/Y40606-5
#如果样本量较多,可以写脚本运行