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每月下载次数

MIT许可证

99KB
667

ATG

使用单个工具在格式之间转换您的基因组参考数据。 ATG 处理从 GTF、GenePred(ext) 和 Refgene 的转换。您可以生成 bed 文件、fasta 序列或自定义特征序列。一个工具完成所有转换。

文件格式 可用作源 可创建
GTF
GenePred (扩展)
RefGene
GenePred (简单)
Bed
Fasta 是(多个选项)
SpliceAI 基因注释
质量检查

使用 ATG 的原因

  • 无需维护多个工具进行单向转换(如 gtfToGenePredgenePredToGtf 等)。ATG 处理许多格式,并可实现双向转换。
  • 速度:ATG 非常快——几乎是 gtfToGenePred 的两倍。
  • 稳健的解析器:它根据规范处理 GTF、带所有额外信息的 GenePred。
  • 内存占用低:它也可以在内存较少的机器上运行。
  • 额外功能,如质量控制和正确性检查。
  • 欢迎贡献:任何帮助都可以提高 ATG 或添加更多功能。
  • 您还可以将 ATG 作为库用于自己的 Rust 项目。

ATG 命令行工具

安装

目前有 3 种不同的方法可以安装 ATG

cargo

安装 ATG 最简单的方法是使用 cargo(如果您已安装 cargorust

cargo install atg
预构建的二进制文件

您可以从 Github 下载适用于 Linux 和 Mac 的预构建二进制文件。

从源代码

您还可以从源代码构建 ATG(如果您已安装 rust 工具链)

git clone https://github.com/anergictcell/atg.git
cd atg
cargo build --release

用法

主要的 CLI 参数是

  • -f--from:指定源文件的格式(例如 gtfgenepredextrefgene
  • -t, --to:指定目标文件格式(例如gtfgenepredbedfasta等)
  • -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以终止密码子TAGTAATGA结束 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