QSeq格式 (skbio.io.format.qseq
)¶
QSeq格式 (qseq )是一些DNA测序器产生的基于记录的纯文本输出格式,用于存储生物序列数据、质量分数、每个序列的过滤信息和运行特定的元数据。
格式支持¶
有嗅探员:是的
读者 |
writer |
对象类 |
---|---|---|
是的 |
不 |
发电机 |
是的 |
不 |
|
是的 |
不 |
|
是的 |
不 |
|
是的 |
不 |
格式规范¶
QSeq文件由单行记录组成,用制表符分隔。记录中有11个字段:
机器名称
运行编号
车道号(正整数)
图块编号(正整数)
X坐标(整数)
Y坐标(整数)
索引
读取编号(1-3)
序列数据(通常为IUPAC字符)
质量分数(编码为可打印ASCII的质量分数)
过滤器布尔值(如果序列通过了CASAVA的过滤器,则为1,否则为0)
更多详情请参考CASAVA文档 [1].
备注
当sciqseq是一个对象时 metadata 属性将自动填充与上述名称相对应的数据。
备注
lowercase 读取QSeq文件时支持该功能。有关详细信息,请参阅特定的对象构造函数文档。
备注
scikit-bio允许删除过滤器字段,但不清楚这是否是原始格式规范的一部分。
格式参数¶
以下参数与FASTQ格式中的参数相同 (skbio.io.format.fastq
):
variant
见variant
FASTQ格式的参数phred_offset
见phred_offset
FASTQ格式的参数
以下附加参数与FASTA格式中的参数相同 (skbio.io.format.fasta
):
constructor
见constructor
FASTA格式的参数seq_num
见seq_num
FASTA格式的参数
仅发电机¶
filter
如果 True ,排除未通过筛选的序列(即过滤器字段为0)。默认为 True .
示例
假设我们有以下QSeq文件:
illumina 1 3 34 -30 30 0 1 ACG....ACGTAC ruBBBBrBCEFGH 1
illumina 1 3 34 30 -30 0 1 CGGGCATTGCA CGGGCasdGCA 0
illumina 1 3 35 -30 30 0 2 ACGTA.AATAAAC geTaAafhwqAAf 1
illumina 1 3 35 30 -30 0 3 CATTTAGGA.TGCA tjflkAFnkKghvM 0
让我们将内存中的这个文件定义为 StringIO
,但这可能是一个真正的文件路径、文件句柄或scikit bio的I/O注册表实际支持的任何内容:
>>> from io import StringIO
>>> fs = '\n'.join([
... 'illumina\t1\t3\t34\t-30\t30\t0\t1\tACG....ACGTAC\truBBBBrBCEFGH\t1',
... 'illumina\t1\t3\t34\t30\t-30\t0\t1\tCGGGCATTGCA\tCGGGCasdGCA\t0',
... 'illumina\t1\t3\t35\t-30\t30\t0\t2\tACGTA.AATAAAC\tgeTaAafhwqAAf\t1',
... 'illumina\t1\t3\t35\t30\t-30\t0\t3\tCATTTAGGA.TGCA\ttjflkAFnkKghvM\t0'
... ])
>>> fh = StringIO(fs)
要使用生成器读取器迭代序列,请运行:
>>> import skbio.io
>>> for seq in skbio.io.read(fh, format='qseq', variant='illumina1.3'):
... seq
... print('')
Sequence
--------------------------------------
Metadata:
'id': 'illumina_1:3:34:-30:30#0/1'
'index': 0
'lane_number': 3
'machine_name': 'illumina'
'read_number': 1
'run_number': 1
'tile_number': 34
'x': -30
'y': 30
Positional metadata:
'quality': <dtype: uint8>
Stats:
length: 13
--------------------------------------
0 ACG....ACG TAC
Sequence
--------------------------------------
Metadata:
'id': 'illumina_1:3:35:-30:30#0/2'
'index': 0
'lane_number': 3
'machine_name': 'illumina'
'read_number': 2
'run_number': 1
'tile_number': 35
'x': -30
'y': 30
Positional metadata:
'quality': <dtype: uint8>
Stats:
length: 13
--------------------------------------
0 ACGTA.AATA AAC
注意,只有两个序列被加载,因为QSeq读取器过滤掉过滤字段为0的序列(除非 filter=False
提供)。
引用