政府基金
项目描述
govcf - 变体调用文件“调用”生成器
这是GenomOncology提供的专有软件包,可与我们的知识管理系统配合使用。
有关许可的更多信息,请通过以下方式联系我们:
可通过 pypi 下载的其他专有项目包括:
我们的开源项目包括:
- 相关- Python 中的嵌套对象模型,支持字典、YAML 和 JSON 转换
- Specd - Swagger v2 规范目录
- Rigor - 用于验证 RESTful API 的基于 HTTP 的 DSL
概述
GenomOncology 变体调用文件 (VCF) 生成器构建在pysam项目中的 VCF 解析器之上。__type__生成器产生由字典属性指示的两种记录类型:
- 标头(每个 VCF 文件 1 个)
- 调用(每个唯一样本 alt 1 个)
标头包括以下信息:
__child__:将在标题之后的记录的类型。config:提供给生成器的任何配置字段。file_path:VCF 的文件位置。formats: 标头中 FORMAT 字段的元数据。info: 标头中 INFO 字段的元数据。types:在 INFO 或 FORMAT 中找到的所有字段的字段类型。
调用是给定样品的单个 ALT 等位基因的表示。通过迭代每个样本并为 GT(基因型)字段指定的每个唯一 ALT 索引产生调用,为每个 VCF 记录生成调用。
呼叫包括以下字段:
alt: 交替等位基因chr: 染色体filters: 提供过滤器,包括 None 用于 '.'info: 信息值字段is_het:布尔值,当等位基因是杂合子时为真(例如 0/1)is_phased: 布尔值,指示是分阶段 (|) 还是非分阶段 (/)quality: 质量值ref: 参考等位基因rs_id: 标识字段sample_name:样本列的名称start: 起始位置
该包还有一个名为的类BedFilter,它可以传递到迭代器函数中,该函数通过染色体和起始位置过滤记录,并且只产生落在 BED 文件指定范围内的调用。
快速示例
以下示例是此处 VCF 规范文档顶部提供的示例的解析:
https://samtools.github.io/hts-specs/VCFv4.2.pdf
这是VCF:
##fileformat=VCFv4.2
##fileDate=20090805
##source=myImputationProgramV3.1
##reference=file:///seq/references/1000GenomesPilot-NCBI36.fasta
##contig=<ID=20,length=62435964,assembly=B36,md5=f126cdf8a6e0c7f379d618ff66beb2da,species="Homo sapiens",taxonomy=x>
##phasing=partial
##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of Samples With Data">
##INFO=<ID=DP,Number=1,Type=Integer,Description="Total Depth">
##INFO=<ID=AF,Number=A,Type=Float,Description="Allele Frequency">
##INFO=<ID=AA,Number=1,Type=String,Description="Ancestral Allele">
##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP membership, build 129">
##INFO=<ID=H2,Number=0,Type=Flag,Description="HapMap2 membership">
##FILTER=<ID=q10,Description="Quality below 10">
##FILTER=<ID=s50,Description="Less than 50% of samples have data">
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth">
##FORMAT=<ID=HQ,Number=2,Type=Integer,Description="Haplotype Quality">
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA00001 NA00002 NA00003
20 14370 rs6054257 G A 29 PASS NS=3;DP=14;AF=0.5;DB;H2 GT:GQ:DP:HQ 0|0:48:1:51,51 1|0:48:8:51,51 1/1:43:5:.,.
20 17330 . T A 3 q10 NS=3;DP=11;AF=0.017 GT:GQ:DP:HQ 0|0:49:3:58,50 0|1:3:5:65,3 0/0:41:3
20 1110696 rs6040355 A G,T 67 PASS NS=2;DP=10;AF=0.333,0.667;AA=T;DB GT:GQ:DP:HQ 1|2:21:6:23,27 2|1:2:0:18,2 2/2:35:4
20 1230237 . T . 47 PASS NS=3;DP=13;AA=T GT:GQ:DP:HQ 0|0:54:7:56,60 0|0:48:4:51,51 0/0:61:2
20 1234567 microsat1 GTC G,GTCT 50 PASS NS=3;DP=9;AA=G;H2 GT:GQ:DP 0/1:35:4 0/2:17:2 1/1:40:3
这是一些示例python代码:
from govcf import iterate_vcf_calls, BEDFilter
from pprint import pprint
bed_filter = BEDFilter("panel.bed")
for record in iterate_vcf_calls("tests/vcfs/spec.vcf", bed_filter=bed_filter):
pprint(record)
产生以下结果:
{'__child__': 'CALL',
'__type__': 'HEADER',
'config': {'include_vaf': True},
'file_path': '/Users/ian/code/govcf/tests/vcfs/spec.vcf',
'formats': {'DP': {'description': 'Read Depth',
'id': 2,
'name': 'DP',
'number': 1,
'type': 'Integer'},
'GQ': {'description': 'Genotype Quality',
'id': 10,
'name': 'GQ',
'number': 1,
'type': 'Integer'},
'GT': {'description': 'Genotype',
'id': 9,
'name': 'GT',
'number': 1,
'type': 'String'},
'HQ': {'description': 'Haplotype Quality',
'id': 11,
'name': 'HQ',
'number': 2,
'type': 'Integer'}},
'info': {'AA': {'description': 'Ancestral Allele',
'id': 4,
'name': 'AA',
'number': 1,
'type': 'String'},
'AF': {'description': 'Allele Frequency',
'id': 3,
'name': 'AF',
'number': 'A',
'type': 'Float'},
'DB': {'description': 'dbSNP membership, build 129',
'id': 5,
'name': 'DB',
'number': 0,
'type': 'Flag'},
'DP': {'description': 'Total Depth',
'id': 2,
'name': 'DP',
'number': 1,
'type': 'Integer'},
'H2': {'description': 'HapMap2 membership',
'id': 6,
'name': 'H2',
'number': 0,
'type': 'Flag'},
'NS': {'description': 'Number of Samples With Data',
'id': 1,
'name': 'NS',
'number': 1,
'type': 'Integer'}},
'types': {'AA': 'string',
'AF': 'float',
'DB': 'boolean',
'DP': 'int',
'GQ': 'int',
'H2': 'boolean',
'HQ': 'mint',
'NS': 'int'}}
{'__type__': 'CALL',
'alt': 'A',
'chr': '20',
'filters': ['PASS'],
'info': {'AF': 0.5,
'DB': True,
'DP': 8,
'GQ': 48,
'H2': True,
'HQ': (51, 51),
'NS': 3},
'is_het': True,
'is_phased': True,
'quality': 29.0,
'ref': 'G',
'rs_id': 'rs6054257',
'sample_name': 'NA00002',
'start': 14370}
{'__type__': 'CALL',
'alt': 'A',
'chr': '20',
'filters': ['PASS'],
'info': {'AF': 0.5,
'DB': True,
'DP': 5,
'GQ': 43,
'H2': True,
'HQ': (None, None),
'NS': 3},
'is_het': False,
'is_phased': False,
'quality': 29.0,
'ref': 'G',
'rs_id': 'rs6054257',
'sample_name': 'NA00003',
'start': 14370}
{'__type__': 'CALL',
'alt': 'A',
'chr': '20',
'filters': ['q10'],
'info': {'AF': 0.017000000923871994,
'DP': 5,
'GQ': 3,
'HQ': (65, 3),
'NS': 3},
'is_het': True,
'is_phased': True,
'quality': 3.0,
'ref': 'T',
'rs_id': None,
'sample_name': 'NA00002',
'start': 17330}
{'__type__': 'CALL',
'alt': 'G',
'chr': '20',
'filters': ['PASS'],
'info': {'AA': 'T',
'AF': 0.3330000042915344,
'DB': True,
'DP': 6,
'GQ': 21,
'HQ': (23, 27),
'NS': 2},
'is_het': True,
'is_phased': True,
'quality': 67.0,
'ref': 'A',
'rs_id': 'rs6040355',
'sample_name': 'NA00001',
'start': 1110696}
{'__type__': 'CALL',
'alt': 'T',
'chr': '20',
'filters': ['PASS'],
'info': {'AA': 'T',
'AF': 0.6669999957084656,
'DB': True,
'DP': 6,
'GQ': 21,
'HQ': (23, 27),
'NS': 2},
'is_het': True,
'is_phased': True,
'quality': 67.0,
'ref': 'A',
'rs_id': 'rs6040355',
'sample_name': 'NA00001',
'start': 1110696}
{'__type__': 'CALL',
'alt': 'G',
'chr': '20',
'filters': ['PASS'],
'info': {'AA': 'T',
'AF': 0.3330000042915344,
'DB': True,
'DP': 0,
'GQ': 2,
'HQ': (18, 2),
'NS': 2},
'is_het': True,
'is_phased': True,
'quality': 67.0,
'ref': 'A',
'rs_id': 'rs6040355',
'sample_name': 'NA00002',
'start': 1110696}
{'__type__': 'CALL',
'alt': 'T',
'chr': '20',
'filters': ['PASS'],
'info': {'AA': 'T',
'AF': 0.6669999957084656,
'DB': True,
'DP': 0,
'GQ': 2,
'HQ': (18, 2),
'NS': 2},
'is_het': True,
'is_phased': True,
'quality': 67.0,
'ref': 'A',
'rs_id': 'rs6040355',
'sample_name': 'NA00002',
'start': 1110696}
{'__type__': 'CALL',
'alt': 'T',
'chr': '20',
'filters': ['PASS'],
'info': {'AA': 'T',
'AF': 0.6669999957084656,
'DB': True,
'DP': 4,
'GQ': 35,
'HQ': (None,),
'NS': 2},
'is_het': False,
'is_phased': False,
'quality': 67.0,
'ref': 'A',
'rs_id': 'rs6040355',
'sample_name': 'NA00003',
'start': 1110696}
{'__type__': 'CALL',
'alt': 'G',
'chr': '20',
'filters': ['PASS'],
'info': {'AA': 'G', 'DP': 4, 'GQ': 35, 'H2': True, 'NS': 3},
'is_het': True,
'is_phased': False,
'quality': 50.0,
'ref': 'GTC',
'rs_id': 'microsat1',
'sample_name': 'NA00001',
'start': 1234567}
{'__type__': 'CALL',
'alt': 'GTCT',
'chr': '20',
'filters': ['PASS'],
'info': {'AA': 'G', 'DP': 2, 'GQ': 17, 'H2': True, 'NS': 3},
'is_het': True,
'is_phased': False,
'quality': 50.0,
'ref': 'GTC',
'rs_id': 'microsat1',
'sample_name': 'NA00002',
'start': 1234567}
{'__type__': 'CALL',
'alt': 'G',
'chr': '20',
'filters': ['PASS'],
'info': {'AA': 'G', 'DP': 3, 'GQ': 40, 'H2': True, 'NS': 3},
'is_het': False,
'is_phased': False,
'quality': 50.0,
'ref': 'GTC',
'rs_id': 'microsat1',
'sample_name': 'NA00003',
'start': 1234567}
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
govcf-0.8.0.tar.gz
(36.3 kB
查看哈希)
内置分布
govcf-0.8.0-py2.py3-none-any.whl
(12.5 kB
查看哈希)