15个不稳定版本
0.8.6 | 2024年5月22日 |
---|---|
0.8.4 | 2023年12月24日 |
0.8.3 | 2023年8月20日 |
0.8.2 | 2023年7月4日 |
0.2.0 | 2021年11月18日 |
#15 in 生物学
21每月下载次数
99KB
667 行
ATG
使用单个工具在格式之间转换您的基因组参考数据。 ATG 处理从 GTF、GenePred(ext) 和 Refgene 的转换。您可以生成 bed 文件、fasta 序列或自定义特征序列。一个工具完成所有转换。
文件格式 | 可用作源 | 可创建 |
---|---|---|
GTF | 是 | 是 |
GenePred (扩展) | 是 | 是 |
RefGene | 是 | 是 |
GenePred (简单) | 否 | 是 |
Bed | 否 | 是 |
Fasta | 否 | 是(多个选项) |
SpliceAI 基因注释 | 否 | 是 |
质量检查 | 否 | 是 |
使用 ATG 的原因
- 无需维护多个工具进行单向转换(如
gtfToGenePred
、genePredToGtf
等)。ATG 处理许多格式,并可实现双向转换。 - 速度:ATG 非常快——几乎是
gtfToGenePred
的两倍。 - 稳健的解析器:它根据规范处理 GTF、带所有额外信息的 GenePred。
- 内存占用低:它也可以在内存较少的机器上运行。
- 额外功能,如质量控制和正确性检查。
- 欢迎贡献:任何帮助都可以提高 ATG 或添加更多功能。
- 您还可以将 ATG 作为库用于自己的 Rust 项目。
ATG 命令行工具
安装
目前有 3 种不同的方法可以安装 ATG
cargo
安装 ATG 最简单的方法是使用 cargo
(如果您已安装 cargo
和 rust
)
cargo install atg
预构建的二进制文件
您可以从 Github 下载适用于 Linux 和 Mac 的预构建二进制文件。
从源代码
您还可以从源代码构建 ATG(如果您已安装 rust 工具链)
git clone https://github.com/anergictcell/atg.git
cd atg
cargo build --release
用法
主要的 CLI 参数是
-f
,--from
:指定源文件的格式(例如gtf
、genepredext
、refgene
)-t
,--to
:指定目标文件格式(例如gtf
、genepred
、bed
、fasta
等)-i
,--input
:源文件路径。(如果使用atg在管道中,请使用/dev/stdin
)-o
,--output
:目标文件路径。现有文件将被覆盖。(如果使用atg在管道中,请使用/dev/stdout
)-v
,-vv
,-vvv
:详细程度(信息、调试、跟踪)-h
,--help
:打印带有详细使用说明的帮助对话框。
其他可选参数
-g
,--gtf-source
:指定GTF输出文件的来源。默认为atg
-r
,--reference
:参考基因组fasta文件路径。对于fasta输出是必需的-c
,--genetic-code
:指定翻译转录本时使用的遗传密码。遗传密码可以通过指定染色体和密码,用冒号:
分隔来指定每个染色体(例如-c chrM:vertebrate mitochondrial
)。也可以省略染色体来为所有染色体指定(例如-c vertebrate mitochondrial
)。该参数可以多次指定(例如:-c "standard" -c "chrM:vertebrate mitochondrial" -c "chrAYN:alternative yeast nuclear"
)。代码名称基于name
字段,但全部为小写字母。另外,也可以直接指定氨基酸查找表:-c "chrM:FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSS**VVVVAAAADDEEGGGG"
。默认为standard
。-q
,--qc-check
:指定要移除输出中的转录本的QC检查
示例
## Convert a GTF file to a RefGene file
atg --from gtf --to refgene --input /path/to/input.gtf --output /path/to/output.refgene
## Convert a GTF file to a GenePred file
atg --from gtf --to genepred --input /path/to/input.gtf --output /path/to/output.genepred
## Convert a GTF file to a GenePredExt file
atg --from gtf --to genepredext --input /path/to/input.gtf --output /path/to/output.genepredext
## Convert RefGene to GTF
atg --from refgene --to gtf --input /path/to/input.refgene --output /path/to/output.gtf
## Convert RefGene to bed
atg --from refgene --to bed --input /path/to/input.refgene --output /path/to/output.bed
## Convert a GTF file to a RefGene file, remove all transcript without proper start and stop codons
atg --from gtf --to refgene --input /path/to/input.gtf --output /path/to/output.refgene --qc-check start --qc-check stop --reference /path/to/fasta.fa
支持的--output
格式
gtf
以GTF格式输出。
chr9 ncbiRefSeq.2021-05-17 transcript 74526555 74600974 . + . gene_id "C9orf85"; transcript_id "NM_001365057.2";
chr9 ncbiRefSeq.2021-05-17 exon 74526555 74526752 . + . gene_id "C9orf85"; transcript_id "NM_001365057.2";
chr9 ncbiRefSeq.2021-05-17 5UTR 74526555 74526650 . + . gene_id "C9orf85"; transcript_id "NM_001365057.2";
chr9 ncbiRefSeq.2021-05-17 CDS 74526651 74526752 . + 0 gene_id "C9orf85"; transcript_id "NM_001365057.2";
chr9 ncbiRefSeq.2021-05-17 exon 74561922 74562028 . + . gene_id "C9orf85"; transcript_id "NM_001365057.2";
chr9 ncbiRefSeq.2021-05-17 CDS 74561922 74562026 . + 0 gene_id "C9orf85"; transcript_id "NM_001365057.2";
...
您可以使用--gtf-source/-g
选项手动指定source
列的值。默认为atg
refgene
以refGene格式输出,一些UCSC和NCBI RefSeq服务使用此格式
0 NM_001101.5 chr7 - 5566778 5570232 5567378 5569288 6 5566778,5567634,5567911,5568791,5569165,5570154, 5567522,5567816,5568350,5569031,5569294,5570232, 0 ACTB cmpl cmpl 0,1,0,0,0,-1,
0 NM_001203247.2 chr7 - 148504474 148581383 148504737 148544390 20 148504474,148506162,148506401,148507424,148508716,148511050,148512005,148512597,148513775,148514313,148514968,148516687,148523560,148524255,148525831,148526819,148529725,148543561,148544273,148581255, 148504798,148506247,148506482,148507506,148508812,148511229,148512131,148512638,148513870,148514483,148515209,148516779,148523724,148524358,148525972,148526940,148529842,148543690,148544397,148581383, 0 EZH2 cmpl cmpl 2,1,1,0,0,1,1,2,0,1,0,1,2,1,1,0,0,0,0,-1,
0 NM_001203248.2 chr7 - 148504474 148581383 148504737 148544390 20 148504474,148506162,148506401,148507424,148508716,148511050,148512005,148512597,148513775,148514313,148514968,148516687,148523560,148524255,148525831,148526819,148529725,148543588,148544273,148581255, 148504798,148506247,148506482,148507506,148508812,148511229,148512131,148512638,148513870,148514483,148515209,148516779,148523724,148524358,148525972,148526940,148529842,148543690,148544397,148581383, 0 EZH2 cmpl cmpl 2,1,1,0,0,1,1,2,0,1,0,1,2,1,1,0,0,0,0,-1,
0 NM_001354750.2 chr11 + 113930432 114127487 113934022 114121277 7 113930432,113933932,114027058,114057673,114112888,114117919,114121047, 113930864,113935290,114027156,114057760,114113059,114118087,114127487, 0 ZBTB16 cmpl cmpl -1,0,2,1,1,1,1,
genepred(ext)
以GenePred(Ext)格式输出,一些UCSC和NCBI RefSeq服务使用此格式
GenePred
NM_001101.5 chr7 - 5566778 5570232 5567378 5569288 6 5566778,5567634,5567911,5568791,5569165,5570154, 5567522,5567816,5568350,5569031,5569294,5570232,
NM_001203247.2 chr7 - 148504474 148581383 148504737 148544390 20 148504474,148506162,148506401,148507424,148508716,148511050,148512005,148512597,148513775,148514313,148514968,148516687,148523560,148524255,148525831,148526819,148529725,148543561,148544273,148581255, 148504798,148506247,148506482,148507506,148508812,148511229,148512131,148512638,148513870,148514483,148515209,148516779,148523724,148524358,148525972,148526940,148529842,148543690,148544397,148581383,
NM_001203248.2 chr7 - 148504474 148581383 148504737 148544390 20 148504474,148506162,148506401,148507424,148508716,148511050,148512005,148512597,148513775,148514313,148514968,148516687,148523560,148524255,148525831,148526819,148529725,148543588,148544273,148581255, 148504798,148506247,148506482,148507506,148508812,148511229,148512131,148512638,148513870,148514483,148515209,148516779,148523724,148524358,148525972,148526940,148529842,148543690,148544397,148581383,
NM_001354750.2 chr11 + 113930432 114127487 113934022 114121277 7 113930432,113933932,114027058,114057673,114112888,114117919,114121047, 113930864,113935290,114027156,114057760,114113059,114118087,114127487,
GenePredExt
NM_001101.5 chr7 - 5566778 5570232 5567378 5569288 6 5566778,5567634,5567911,5568791,5569165,5570154, 5567522,5567816,5568350,5569031,5569294,5570232, 0 ACTB cmpl cmpl 0,1,0,0,0,-1,
NM_001203247.2 chr7 - 148504474 148581383 148504737 148544390 20 148504474,148506162,148506401,148507424,148508716,148511050,148512005,148512597,148513775,148514313,148514968,148516687,148523560,148524255,148525831,148526819,148529725,148543561,148544273,148581255, 148504798,148506247,148506482,148507506,148508812,148511229,148512131,148512638,148513870,148514483,148515209,148516779,148523724,148524358,148525972,148526940,148529842,148543690,148544397,148581383, 0 EZH2 cmpl cmpl 2,1,1,0,0,1,1,2,0,1,0,1,2,1,1,0,0,0,0,-1,
NM_001203248.2 chr7 - 148504474 148581383 148504737 148544390 20 148504474,148506162,148506401,148507424,148508716,148511050,148512005,148512597,148513775,148514313,148514968,148516687,148523560,148524255,148525831,148526819,148529725,148543588,148544273,148581255, 148504798,148506247,148506482,148507506,148508812,148511229,148512131,148512638,148513870,148514483,148515209,148516779,148523724,148524358,148525972,148526940,148529842,148543690,148544397,148581383, 0 EZH2 cmpl cmpl 2,1,1,0,0,1,1,2,0,1,0,1,2,1,1,0,0,0,0,-1,
NM_001354750.2 chr11 + 113930432 114127487 113934022 114121277 7 113930432,113933932,114027058,114057673,114112888,114117919,114121047, 113930864,113935290,114027156,114057760,114113059,114118087,114127487, 0 ZBTB16 cmpl cmpl -1,0,2,1,1,1,1,
bed
以bed格式输出。
chr7 5566778 5570232 ACTB:NM_001101.5 - 5567378 5569288 212,16,48 6 744,182,439,240,129,78 0,856,1133,2013,2387,3376
chr11 113930432 114127487 ZBTB16:NM_001354750.2 + 113934022 114121277 212,16,48 7 432,1358,98,87,171,168,6440 0,3500,96626,127241,182456,187487,190615
chr17 40852292 40897058 EZH1:NM_001321082.2 - 40854549 40880959 212,16,48 20 2318,85,81,82,96,179,126,41,92,197,181,92,164,103,177,121,129,128,91,30 0,2602,3465,4327,4813,5732,7683,8601,9571,12014,12934,17701,18179,18830,19998,22520,27360,28550,30553,44736
fasta
将所有转录本的cDNA序列写入一个文件。请注意,序列是成链的。
此目标格式需要一个参考基因组fasta文件,必须使用--reference
/-r
指定。
此输出允许不同的--fasta-format
选项
transcript
:完整的转录序列(从基因组起始位置到终止位置,包括内含子)exons
:处理过的转录本的cDNA序列,即所有外显子的序列,包括非编码外显子。cds
(默认):转录本的CDS
>NM_007298.3 BRCA1
ATGGATTTATCTGCTCTTCGCGTTGAAGAAGTACAAAATGTCATTAATGC
TATGCAGAAAATCTTAGAGTGTCCCATCTGTCTGGAGTTGATCAAGGAAC
CTGTCTCCACAAAGTGTGACCACATATTTTGCAAATTTTGCATGCTGAAA
CTTCTCAACCAGAAGAAAGGGCCTTCACAGTGTCCTTTATGTAAGAATGA
TATAACCAAAAGGAGCCTACAAGAAAGTACGAGATTTAGTCAACTTGTTG
...
>NM_001365057.2 C9orf85
ATGAGCTCCCAGAAAGGCAACGTGGCTCGTTCCAGACCTCAGAAGCACCA
GAATACGTTTAGCTTCAAAAATGACAAGTTCGATAAAAGTGTGCAGACCA
AGAAAATTAATGCAAAACTTCATGATGGAGTATGTCAGCGCTGTAAAGAA
GTTCTTGAGTGGCGTGTAAAATACAGCAAATACAAACCATTATCAAAACC
TAAAAAGTGA
...
fasta-split
与上面的fasta
类似,但每个转录本一个文件。而不是输出文件,您必须指定一个输出目录,ATG将每个转录本保存为<Transcript_name>.fasta
,例如:NM_001365057.2.fasta
。
此目标格式需要一个参考基因组fasta文件,必须使用--reference
/-r
指定。
此输出允许不同的--fasta-format
选项
transcript
:完整的转录序列(从基因组起始位置到终止位置,包括内含子)exons
:处理过的转录本的cDNA序列,即所有外显子的序列,包括非编码外显子。cds
(默认):转录本的CDS
feature-sequence
每个特征(5' UTR、CDS、3'UTR)的cDNA序列,每行一个。
此目标格式需要一个参考基因组fasta文件,必须使用--reference
/-r
指定。
BRCA1 NM_007298.3 chr17 41196311 41197694 - 3UTR CTGCAGCCAGCCAC...
BRCA1 NM_007298.3 chr17 41197694 41197819 - CDS CAATTGGGCAGATGTGTG...
BRCA1 NM_007298.3 chr17 41199659 41199720 - CDS GGTGTCCACCCAATTGTG...
BRCA1 NM_007298.3 chr17 41201137 41201211 - CDS ATCAACTGGAATGGATGG...
BRCA1 NM_007298.3 chr17 41203079 41203134 - CDS ATCTTCAGGGGGCTAGAA...
BRCA1 NM_007298.3 chr17 41209068 41209152 - CDS CATGATTTTGAAGTCAGA...
BRCA1 NM_007298.3 chr17 41215349 41215390 - CDS GGGTGACCCAGTCTATTA...
BRCA1 NM_007298.3 chr17 41215890 41215968 - CDS ATGCTGAGTTTGTGTGTG...
BRCA1 NM_007298.3 chr17 41219624 41219712 - CDS ATGCTCGTGTACAAGTTT...
BRCA1 NM_007298.3 chr17 41222944 41223255 - CDS AGGGAACCCCTTACCTGG...
C9orf85 NM_001365057.2 chr9 74526555 74526650 + 5UTR ATTGACAGAA...
C9orf85 NM_001365057.2 chr9 74526651 74526752 + CDS ATGAGCTCCCAGAA...
C9orf85 NM_001365057.2 chr9 74561922 74562028 + CDS AAAATTAATGCAAA...
C9orf85 NM_001365057.2 chr9 74597573 74597573 + CDS A
C9orf85 NM_001365057.2 chr9 74597574 74600974 + 3UTR TGGAGTCTCC...
spliceai
这是一个用于SpliceAI
拼接预测的自定义格式。仓库列出了示例文件
。输出每行一个基因,每个基因记录包含一个共识转录本,通过合并重叠的外显子创建。
#NAME CHROM STRAND TX_START TX_END EXON_START EXON_END
OR4F5 1 + 69090 70008 69090, 70008,
AL627309.1 1 - 134900 139379 134900,137620, 135802,139379,
qc
对转录本执行一些基本一致性检查
QC检查 | 说明 | 非编码与编码 | 需要fasta文件 |
---|---|---|---|
外显子 | 包含至少一个外显子 | all | no |
正确的CDS长度 | CDS的长度是3的倍数 | Coding | no |
正确的起始密码子 | CDS以ATG 开始 |
Coding | yes |
正确的终止密码子 | CDS以终止密码子TAG 、TAA 或TGA 结束 |
Coding | yes |
无上游起始密码子 | 5'UTR不包含另一个起始密码子ATG (从生物学角度来说,一个非编码转录本可能有不被利用的ATG 起始密码子,这是完全可以接受的) |
Coding | yes |
无上游终止密码子 | CDS不包含另一个帧内终止密码子 | Coding | yes |
无起始密码子 | 完整的外显子序列不包含起始密码子ATG (从生物学角度来说,一个非编码转录本可能有不被利用的ATG 起始密码子) |
非编码 | yes |
正确的坐标 | 转录本位于参考基因组的坐标内 | all | yes |
测试结果
NA
测试无法执行(例如,非编码转录本的CDS长度),因此无法得出结论OK
测试成功,结果正常NOK
测试失败,结果不正常
Gene transcript Exon CDS Length Correct Start Codon Correct Stop Codon No upstream Start Codon No upstream Stop Codon Correct Coordinates
FAM239A NR_146581.1 OK N/A N/A N/A OK N/A OK
OR5H2 NM_001005482.1 OK OK OK OK OK OK OK
SNX20 NM_001144972.2 OK OK OK OK NOK OK OK
raw
这主要用于调试,因为它可以快速查看转录本的基因和外显子坐标。
bin
将转录本保存为ATG二进制格式,以便更快地重新读取。
ATG作为库
ATG使用atglib库,该库在行内进行了文档说明,并在docs.rs
上提供
已知问题
GTF解析
- NM_001371720.1有两个端点外显子(155160639-155161619 || 155161620-155162101)。在输入解析期间,端点特征被合并为一个外显子
依赖关系
~34MB
~469K SLoC