QSeq格式 (skbio.io.format.qseq

QSeq格式 (qseq )是一些DNA测序器产生的基于记录的纯文本输出格式,用于存储生物序列数据、质量分数、每个序列的过滤信息和运行特定的元数据。

格式支持

有嗅探员:是的

读者

writer

对象类

是的

发电机 skbio.sequence.Sequence 物体

是的

skbio.sequence.Sequence

是的

skbio.sequence.DNA

是的

skbio.sequence.RNA

是的

skbio.sequence.Protein

格式规范

QSeq文件由单行记录组成,用制表符分隔。记录中有11个字段:

  • 机器名称

  • 运行编号

  • 车道号(正整数)

  • 图块编号(正整数)

  • X坐标(整数)

  • Y坐标(整数)

  • 索引

  • 读取编号(1-3)

  • 序列数据(通常为IUPAC字符)

  • 质量分数(编码为可打印ASCII的质量分数)

  • 过滤器布尔值(如果序列通过了CASAVA的过滤器,则为1,否则为0)

更多详情请参考CASAVA文档 [1].

备注

当sciqseq是一个对象时 metadata 属性将自动填充与上述名称相对应的数据。

备注

lowercase 读取QSeq文件时支持该功能。有关详细信息,请参阅特定的对象构造函数文档。

备注

scikit-bio允许删除过滤器字段,但不清楚这是否是原始格式规范的一部分。

格式参数

以下参数与FASTQ格式中的参数相同 (skbio.io.format.fastq ):

  • variantvariant FASTQ格式的参数

  • phred_offsetphred_offset FASTQ格式的参数

以下附加参数与FASTA格式中的参数相同 (skbio.io.format.fasta ):

  • constructorconstructor FASTA格式的参数

  • seq_numseq_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 提供)。

引用