如何提前最长转录本?
## 导读本文将介绍**为什么要提取最长转录本**,以及**如何从 `fasta`和 `gff3`文件中提取最长转录本**。
## 1. Why
![基因结构](https://swindler-typora.oss-cn-chengdu.aliyuncs.com/typora_imgs/image-20221030163906116.png)
由于**可变剪切**的存在,通常一个基因可以转录为多个转录本。但是如果将多个转录本同时进行分析,那么分析会因此受到影响。所以,目前的解决办法是,选取一个最具代表性的转录本(最长转录本)来进行分析。
## 2. 获取方式
1. 从序列文件中(`FASTA`)提取
2. 从基因结构注释信息文件(`GFF`)中提取
## 3. 用法
- 安装(https://github.com/junjunlab/GetTransTool "GetTransTool")
```sh
pip install GetTransTool -i https://pypi.tuna.tsinghua.edu.cn/simple
```
- 从 `GENCODE fasta`文件中提取最长转录本
```sh
GetLongestTransFromGencode --file example.fa.gz --outfile longest_trans_gencode.fa
# --file 序列文件
# --outfile 输出文件
```
- 根据 `GFF`文件(`gencode/ensembl/ucsc` )提取最长转录本
```sh
GetLongestTransFromGTF --database ensembl --gtffile example.gtf.gz --genome example.fa.gz --outfile longest_trans_ensembl.fa
# --database 基因组注释时,选择的数据库
# --gtffile注释文件
# --genome 基因组序列文件
# --outfile 输出文件
```
- 从 `GENCODE fasta`文件中提取最长 `CDS`
```sh
GetCDSLongestFromGencode --file example.fa.gz --outfile longest_cds_trans_gencode.fa
# --file 序列文件
# --outfile 输出文件
```
- 根据 `GFF`文件(`gencode/ensembl/ucsc` )提取最长 `CDS`
```sh
GetCDSLongestFromGTF --database ensembl --gtffile example.gtf.gz --genome example.fa.gz --outfile longest_trans_ensembl.fa
# --database 基因组注释时,选择的数据库
# --gtffile注释文件
# --genome 基因组序列文件
# --outfile 输出文件
```
- 最长转录本,输出结构示例:
![最长转录本](https://swindler-typora.oss-cn-chengdu.aliyuncs.com/typora_imgs/image-20221030184856190.png)
- 最长 `CDS`,输出结构示例:
![最长CDS](https://swindler-typora.oss-cn-chengdu.aliyuncs.com/typora_imgs/image-20221030184813716.png)
## 4. code
代码过长,下面只展示部分。
!(https://swindler-typora.oss-cn-chengdu.aliyuncs.com/typora_imgs/202210301850111.png)
页:
[1]