常用生信数据处理操作

生信分析中有大量的对fa/fq/vcf/sam/gff等文件操作的各种需求,目前有不少主流开源工具实现了非常多的功能,以满足生信数据处理的诸多需求。这里对常用处理工具和使用做个记录。

常用工具

seqkit module load seqkit/0.11.0

EMBOSS module load EMBOSS/6.5.7

ucsc_kentUtils github module load ucsc_kentUtils/v389

  • fa序列拆分

    seqkit split 可用于拆分fa序列,按序列id拆分后的序列文件名带有fa文件名的前缀,部分场景下可能还需要重命名一下将前缀去掉

    $ seqkit split -i genome_1.0.fa
    $ ls genome_1.0.fa.split/genome_1.0.id_Chr1.fa
    

    faSplit 拆分后的序列文件名直接为序列id,不带前缀。可以适合在cnvnator中直接使用

    mkdir genome && cd genome
    faSplit byname ../genome.fa genome 
    
  • fq文件随机提取

    随机提取10条序列

    $ seqkit sample -n 10 -s 11 ../sample1_1.fq.gz -o sample1_1_n10.fq.gz
    

    随机提取10%的序列

    $ seqkit sample -p 0.1 -s 11 ../sample1_1.fq.gz -o sample1_1_p10.fq.gz
    
  • 按染色体拆分bam文件

    bam 文件需要先排序

    input_bam=$1
    
    chromosomes=($(samtools view -H "$input_bam" | grep "@SQ" | cut -f 2 | cut -d ':' -f 2))
    
    for chromosome in "${chromosomes[@]}"
    do
        output_bam="${chromosome}.bam"
        samtools view -b "$input_bam" "$chromosome" > "$output_bam"
    done
    
本文阅读量  次
本站总访问量  次