python 从fastq文件中挑选出序列长度在规定范围的序列
来源:互联网 发布:顺企网 云狄网络 编辑:程序博客网 时间:2024/04/29 21:42
要求:
FASTQ文件长度过滤:编写一个程序,读取FASTQ文件,过滤掉碱基序列长度在60-80之外的序列,将长度在60-80之内的序列输出到结果文件中。
FASTQ格式文件如下:每四行表示一个测序序列,第二行是碱基序列。
@M2,HWI-7001455:326:HGTFVADXX:1:1101:2666:105721:N:0:GCGCTA
TTTAGTTTTGTAGTAATTGTTTGTAGTAAAATTTGTATTAGTTTTTTTATTTGTA
+
CCCFFFDDHHFHHIJJJJJHHIJJJJIIGEIJIJJIIJJJJHIJJJJJIJIJIHI
编程要求如下:
1) 程序命名为fq_filter.py
2) 程序采用optparse从命令行输入,参数共有3个,-infile,-outfile,-h;
3) 其中-infile用于接收输入的FASTQ文件名;
4) -outfile用于给出符合条件的结果文件名,输出结果格式要与输入的FASTQ格式相同。
5) -h用于给出程序的使用说明;
fq_filter.py
#!/usr/bin/python
from optparse import OptionParser
parser = OptionParser()
parser.add_option("--infile", dest="infile", help="give a fasta file to me", metavar="FILE")
parser.add_option("--outfile", dest="outfile", help="the name of oufput file [fasta]", metavar="FILE")
(options, args) = parser.parse_args()
fqfile=file(options.infile,'r')
fqfilter=file(options.outfile,'w')
i=0
for line in fqfile:
#print i,i%4,line
if i%4==0:
seqID=line.strip("\n")
elif i%4==1:
sequence=line.strip("\n")
elif i%4==2:
mark=line.strip("\n")
elif i%4==3:
if len(sequence)>=60 and len(sequence)<=80:
qual=line.strip("\n")
fqfilter.write(seqID+"\n"+sequence+"\n"+mark+"\n"+qual+"\n")
i+=1
fqfile.close()
fqfilter.close()
运行命令:
py fq_filter.py --infile test.fq --outfile out.fa
- python 从fastq文件中挑选出序列长度在规定范围的序列
- perl 从fastq文件中挑选出序列长度在规定范围的序列
- 规定长度的上升子序列的个数
- 规定长度的上升子序列的个数
- 从pcap文件提取包长度序列
- 从文件序列化出对象(使用xml序列化)
- d025: 从 n 个数中挑选出最大的数
- 从 n 个数中挑选出最大的数
- 动态规划解决求数组中最长递增子序列长度,并能够打印出增长的序列
- 统计.fa文件中序列长度
- C++ 从文件中提取序列数据
- 在命令行获取标准输入序列的反互序列,pep序列和长度信息
- python之在序列中寻找不同的元素
- python 随机抽取Fastq文件
- d026: 从 n 个数中挑选出最大的数(改)
- 【SzNOI语法百题】【d025】从 n 个数中挑选出最大的数
- 【SzNOI语法百题】【d026】从 n 个数中挑选出最大的数(改)
- LA2678 - Subsequence(求序列中长度最短的和>=S的子序列长度)
- 项目整合memcached提高前后交互效率(2)
- .net 获取实体类的属性
- maven quickstart项目,resources下建立folder,显示成包,不显示文件夹
- matble使用中遇到的问题
- winform代码生成下拉框的倒小三角
- python 从fastq文件中挑选出序列长度在规定范围的序列
- android仿ios页面跳转效果
- 1039. 到底买不买(20) PAT
- [李景山php] ddos 攻击 之 慢速连接攻击 太极打法
- POI SAX 使用事件驱动解析Excel(03/07)
- Android中startService的使用及Service生命周期
- 分享一个Android平台编译脚本1
- 装饰者模式
- 2017湖北荆州松滋家族谱集