# bio_tools **Repository Path**: theing/bio_tools ## Basic Information - **Project Name**: bio_tools - **Description**: 实现自动化多基因联合构树。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2020-12-16 - **Last Updated**: 2021-07-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 简介 这是一个全自动进行多基因联合构树的程序, 使用了`ClustalW`算法进行批量处理比对序列,程序使用了多线程。 可以实现`fasta`格式的序列文件的批量分割,合并,聚类,基因查找,基因位置导出,等等功能。 ## 准备 1. 需要克隆这个项目到本地,前提是安装`git`。[下载地址](https://git-scm.com/) ``` git clone https://gitee.com/theing/bio_tools.git ``` ​ 或者直接下载本项目到您的使用目录 2. 安装MEGA-CC,因为使用的是win系统,所以需要安装这个内核,在Linux系统下不需要安装,后续有机会会开发适配Linux系统的程序。安装请选择Command Line(CC), Windows版本安装。 [下载地址](https://www.baidu.com/link?url=3DdxZ5IYrOY3FY3aiEJCjzcq4N2QIFBv7-yiJp7lkffhVs1Gd1IXBMUVaehzkFct&wd=&eqid=c057cb900006ff7a0000000360093787) 3. 安装Python解释器。 ## 功能 1. #### 分割序列 功能介绍:有时候我们需要提取出整个序列单个基因的序列文件,可以用到这个功能。 使用:把需要分割的`fasta`源文件放入`source`文件夹中,在`bin`目录中执行命令,程序会自动执行,执行完毕会在目录里生成`bulid`文件夹中生成相应文件名,里面存放着相应文件分割后的单基因序列文件。 ```shell python split_seq.py ``` 2. #### gene 聚类 功能介绍:有时候我们需要多个物种的同一个基因写入到同一个`fasta`文件中,此时可以用到这个命令(都是批量的,后续如果有需求会添加聚类单个基因的选项)。添加功能,可以自动查找可用于多基因联合构树的基因,导出到`use`目录下。 使用:把需要分割的`fasta`源文件放入`source`文件夹中,执行命令会在目录里生成`bulid`文件夹,默认名称为`sequence + geneName`,在`bin`目录下执行: ```shell python class_seq.py ``` 3. #### 批量比对 功能介绍:在聚类出相同的基因后可以用这个功能进行批量的比对,默认使用MEGAX内核集成的`ClustalW`算法对蛋白质进行比对,程序使用了多线程,相比上一个版本大幅缩短了比对的时间。 使用:默认读取目录为`\bulid\class\use\`,为聚类的输出目录,后续看需求是否增加选项,在`bin`目录下执行。 ```shell python align_seq.py ``` 4. #### merge 合并 功能介绍:当时聚类了很多的单基因后得到了很多的多个物种的单基因文件,比对后又得到很多的比对后的文件,此时又要把这些只有一个基因的的序列文件合并成,一个物种的整条序列。可以用到这个功能,基本是聚类的逆向工程。为什么要写这两个功能,因为如果直接排序基因参与比对的话算法似乎不准确,得到的序列大多参差不齐,所以需要拆分这些基因单独的进行比对,然后再合并成一个物种的整个序列,得到比对好的序列,可直接拿来建树。 使用:默认读取的单基因`fasta`文件为`bulid\megax\aligned`中,会在`bulid\marged`中生成合并并排序好序列的`fasta`文件,在`bin`目录下执行。 ```shell python merge_seq.py ``` 5. #### 自动标注标签 功能介绍:有时候我们得到一个整个序列只有ATCG的序列文件,没有标注基因头信息,可以用到这个功能。 需要的头信息可以在文件里面更改。或者提供csv表格,每行的第一格为基因名称,第二格为起始位置,第二格为终止位置,第三格(`+/-`)为正序或互补序列。 **注意:** - `dataInfor`为`csv`文件,格式如 ```csv trnH-GUG,2,75,-, psbA,421,1482,-, trnK-UUU,1782,1816,-,exon2 matK,2092,3612,-, trnK-UUU,4377,4413,-,exon1 ``` - `source`中`fasta`文件未标注的序列中第一行标注结尾为 `[]` ,没有请自行添加 使用:把已经有的`csv`文件,添加到`dataInfor`文件中命名为`lable.csv`,把对应的基因序列文件放在`source`文件夹中,在`bin`目录下终端中执行命令,执行程序可在`bulid`文件夹中生成标注好的`fasta`格式的文件 ```shell python autoLable_seq.py ``` 6. #### sort 自动排序基因序列 功能介绍:有时候我们需要几个物种的好几个基因参与比对,但是基因的位置方向不一致,可以用到这个功能。 使用:把需要排序基因的物种的`fasta`格式的文件通通放入source文件夹中,执行就可以了。会在`bulid`文件夹中生成相应文件名的,基因方向一致的`fasta`格式的文件。 **注意:** 基因顺序为首字母顺序排序。 ```shell python sort_seq.py ``` 如果该程序帮助到您,请给一刻五角星收藏,感谢对开源的支持。