序列处理/格式转换

gffread

# 安装 conda create -n gffread -c conda-forge -c bioconda gffread conda activate gffread # gff转gtf gffread -T -o out.gtf in.gff

seqtk/seqkit

# 安装 conda create -n seqtk -c conda-forge -c bioconda seqtk seqkit conda activate seqtk # 一般fasta文件每行60个字符,如果某fasta文件没有换行,可以通过以下命令换行 seqtk seq -l 60 raw.fa > new.fa # 根据基因列表从fasta文件中提取序列 seqtk subseq all.fa gene.list > sub.fa # 将fa文件均分为100个文件 seqkit split test.fa -p 100 -j 100

bedtools

Bedtools 是一个用于处理基因组数据的强大命令行工具集合,它提供了各种功能,包括基因组位置比对、区域交集、突变注释等。
项目地址:https://bedtools.readthedocs.io/en/latest/
conda安装
BED 文件是一个文本文件,每一行表示基因组的一个区域,包括染色体名称、起始位置、结束位置以及可选的其他列。下面是一个示例的 BED 文件:
chr1 1000 2000 GeneA 1 + chr1 3000 3500 GeneB 2 - chr2 5000 6000 GeneC 3 +
BED 文件的前三列是必需的,分别表示染色体名称、起始位置和结束位置。后面的列是可选的,可以用于存储其他信息,如基因名称、分数等。
常见的 Bedtools 命令示例:
  • intersect:用于计算两个 BED 文件之间的区域交集。
  • merge:将相邻或重叠的区域合并为一个区域。
  • sort:对 BED 文件按染色体名称和位置进行排序。
  • coverage:计算一个 BED 文件中的区域在另一个 BED 文件中的覆盖度。
  • window:在一个 BED 文件的每个区域周围创建窗口。
  • closest:找到一个 BED 文件中每个区域最近的另一个 BED 文件中的区域。
这只是 Bedtools 提供的一小部分命令和功能。你可以通过查阅 Bedtools 的官方文档来了解更多命令和使用方法。
以下是一个简单的示例,演示如何使用 Bedtools 进行区域交集操作:
  1. 创建两个 BED 文件:file1.bed 和 file2.bed,内容如下:file1.bed:chr1 1000 2000 chr2 3000 4000 ``` file2.bed: chr1 1500 2500chr2 3500 4500
  2. 执行区域交集操作:bedtools intersect -a file1.bed -b file2.bed ``` 输出结果为: chr1 1500 2000chr2 3500 4000 这表示 file1.bed 和 file2.bed 之间存在两个交集区域。
2023-11-02
0