#基因 #gff #序列 #blast #交集 #重叠 #长度

nightly app gene-seq-intersections

计算基因和序列之间的交集

5 个版本

使用旧的 Rust 2015

0.3.1 2017年9月14日
0.3.0 2017年7月20日
0.2.2 2017年7月18日
0.2.1 2017年7月18日
0.2.0 2017年7月18日

4 in #blast

MIT 许可证

34KB
744

交集

该程序使用 blastn 格式 6 输出(http://www.metagenomics.wiki/tools/blast/blastn-output-format-6)和 gff3 输出(来自 prokka)来查找序列和基因的重叠。

qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore
Query_1	accn|JISN01000002	100.000	28	0	0	29	56	37930	37957	1.32e-08	52.8

和 gff3 输出(来自 prokka)

##gff-version 3
##sequence-region accn_JISN01000001 1 334949
...
accn_JISN01000001	Prodigal:2.6	CDS	240	2849	.	+	0	ID=NKHGEDLF_00001;Name=clpB;gene=clpB;inference=ab initio prediction:Prodigal:2.6,similar to AA sequence:UniProtKB:Q7A6G6;locus_tag=NKHGEDLF_00001;product=Chaperone protein ClpB
...
>accn_JISN01000001
AATTAATTATCGACCAAGAAAGTGTTTAAATTGGAAGTTTCCTTATGAAGTTTTAT
...

将 blastn 输出的第 9 和第 10 行与 gff3 文件的第 4 和第 5 行(类型 2 部分)进行比较,以查找重叠。可以与相同数量的匹配 gff 文件交集任何数量的 .bla 文件。

先决条件

包含 .bla 文件和 .gff 文件的文件夹必须通过名称匹配(例如:genome1.bla genome1.gff genome2.bla genome2.gff)。Bla 文件是通过将一个或多个序列与相应基因组进行 blastn 格式 6 的比对创建的文件。Gff3 文件是为相应基因组创建的(例如)prokka v1.12(《http://www.vicbioinformatics.com/software.prokka.shtml》)。

安装

首先下载 rust(https://rustup.rs/ 的说明)

curl https://sh.rustup.rs -sSf | sh

然后下载交集的 crate

cargo +nightly install sequence-intersections

交集可以在 ~/.cargo/bin/ 中找到。如果目录中已存在交集的先前版本,请使用

cargo +nightly install -f sequence-intersections

输出和选项

描述
name 根据 gff 文件命名的基因名称。两个基因之间的区域用 Between(GeneNameBefore, GeneNameAfter) 表示。假设蛋白用 HypotheticalAfter(GeneName) 或 HypotheticalBefore(GeneName) 表示
product 根据 gff 文件命名的基因产物。与名称相同。
total_overlap 与该基因相交的序列数量。如果 blast 输入文件中的序列 31 完全与该基因重叠(即 blast 在 ID_1 中,跨越 1000-1031,而基因在 ID_1 中,跨越 1000-1500),则该基因的总重叠将增加 +31。
genome_count 至少有一个序列与至少 1 个 total_overlap 重叠的基因组数量。
start_avg 根据 gff 文件,该基因的平均起始位置。
start_stdev 该基因起始位置的标准偏差。
end_avg 根据 gff 文件,该基因的平均结束位置。
end_stdev 该基因结束位置的标准偏差。
length_avg 每个基因的平均跨度(核苷酸长度)。与起始或结束位置无关,仅与基因长度有关。

示例

示例 blast 和 gff 交集在:https://github.com/dUmich/intersections-example

错误

在运行此命令之前运行以获取警告

RUST_LOG=warn 

构建于

版本控制

作者

  • Lee Bousfield - 自由职业代码巫师 - PlasmaPower
  • Daniel Harris - 密歇根大学Snitkin实验室研究员 - dUmich

依赖项

~7.5MB
~130K SLoC