使用Python对fasta格式的序列进行基本信息统计
预期设计输出文件中包括fasta文件名,序列长度,GC含量以及ATCG各自的含量。
Python脚本编辑
使用的文件
test.fasta
stat.py
输入 sys模块
#!/usr/bin/env python
import sys
从命令行获得文件名称
file_fasta = sys.argv[1]
#获得文件名
file_name = file_fasta.split('.')
name = file_name[0]
sys.argv[1]模块是从程序外部获取参数的桥梁,可以将命令行的参数输入到py程序内。
sys.argv[0]是程序本身,sys.argv[1]是程序后跟着第一个参数。
我们将文件名作为输入参数,这一步在最后运行有展示。
在结束输出时会输出一个包含统计信息的txt文件,我们将用fasta文件名作为txt文件的前缀,所以我们需要获取fasta文件的名字。
.split('.')是将file_fasta以.为分隔符分开会生成'test','txt',赋值给file_name则file_name会包含着两个字符。
file_name[0]则是取第一个值'test',python中默认第一个数字是0,所以不能输入1。
进行序列信息统计的函数
序列的长度很好统计使用len函数即可,但是GC含量和ACTG的百分比计算需要费点事情。
使用def制作一个函数
Pytho