数据科学工厂 发表于 2024-6-11 23:12:16

如何提前最长转录本?

## 导读

本文将介绍**为什么要提取最长转录本**,以及**如何从 `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]
查看完整版本: 如何提前最长转录本?