- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
请帮我解析一个 VCF 文件。我贴的是一个真实的例子。
输入:
1 1014143 rs786201005 C T . . RS=786201005;RSPOS=1014143;dbSNPBuildID=144;SSR=0;SAO=1;VP=0x050068000605000002110100;GENEINFO=ISG15:9636;WGT=1;VC=SNV;PM;PMC;NSN;REF;ASP;LSD;OM;CLNALLE=1;CLNHGVS=NC_000001.11:g.1014143C>T;CLNSRC=OMIM_Allelic_Variant;CLNORIGIN=1;CLNSRCID=147571.0003;CLNSIG=5;CLNDSDB=MedGen:OMIM:Orphanet;CLNDSDBID=C4015293:616126:ORPHA319563;CLNDBN=Immunodeficiency_38_with_basal_ganglia_calcification;CLNREVSTAT=no_criteria;CLNACC=RCV000162196.3
1 1014228 rs1921 G A,C . . RS=1921;RSPOS=1014228;dbSNPBuildID=36;SSR=0;SAO=0;VP=0x050328000a0517053f000100;GENEINFO=ISG15:9636;WGT=1;VC=SNV;PM;PMC;S3D;SLO;NSM;REF;ASP;VLD;G5A;G5;HD;GNO;KGPhase1;KGPhase3;CLNALLE=1;CLNHGVS=NC_000001.11:g.1014228G>A;CLNSRC=.;CLNORIGIN=1;CLNSRCID=.;CLNSIG=2;CLNDSDB=MedGen;CLNDSDBID=CN169374;CLNDBN=not_specified;CLNREVSTAT=single;CLNACC=RCV000455759.1;CAF=0.6611,0.3389,.;COMMON=1
1 1014316 rs672601345 C CG . . RS=672601345;RSPOS=1014319;dbSNPBuildID=142;SSR=0;SAO=1;VP=0x050068001205000002110200;GENEINFO=ISG15:9636;WGT=1;VC=DIV;PM;PMC;NSF;REF;ASP;LSD;OM;CLNALLE=1;CLNHGVS=NC_000001.11:g.1014319dupG;CLNSRC=OMIM_Allelic_Variant;CLNORIGIN=1;CLNSRCID=147571.0002;CLNSIG=5;CLNDSDB=MedGen:OMIM:Orphanet;CLNDSDBID=C4015293:616126:ORPHA319563;CLNDBN=Immunodeficiency_38_with_basal_ganglia_calcification;CLNREVSTAT=no_criteria;CLNACC=RCV000148989.5
1 1014359 rs672601312 G T . . RS=672601312;RSPOS=1014359;dbSNPBuildID=142;SSR=0;SAO=1;VP=0x050068000605000002110100;GENEINFO=ISG15:9636;WGT=1;VC=SNV;PM;PMC;NSN;REF;ASP;LSD;OM;CLNALLE=1;CLNHGVS=NC_000001.11:g.1014359G>T;CLNSRC=OMIM_Allelic_Variant;CLNORIGIN=1;CLNSRCID=147571.0001;CLNSIG=5;CLNDSDB=MedGen:OMIM:Orphanet;CLNDSDBID=C4015293:616126:ORPHA319563;CLNDBN=Immunodeficiency_38_with_basal_ganglia_calcification;CLNREVSTAT=no_criteria;CLNACC=RCV000148988.5
1 1020183 rs539283387 G C . . RS=539283387;RSPOS=1020183;dbSNPBuildID=142;SSR=0;SAO=0;VP=0x050000000a05040026000100;GENEINFO=AGRN:375790;WGT=1;VC=SNV;NSM;REF;ASP;VLD;KGPhase3;CLNALLE=1;CLNHGVS=NC_000001.11:g.1020183G>C;CLNSRC=.;CLNORIGIN=1;CLNSRCID=.;CLNSIG=3;CLNDSDB=MedGen;CLNDSDBID=CN169374;CLNDBN=not_specified;CLNREVSTAT=single;CLNACC=RCV000424799.1;CAF=0.9904,0.009585;COMMON=1
1 1020216 rs764659938 C G . . RS=764659938;RSPOS=1020216;dbSNPBuildID=144;SSR=0;SAO=0;VP=0x050000000a05040002000100;GENEINFO=AGRN:375790;WGT=1;VC=SNV;NSM;REF;ASP;VLD;CLNALLE=1;CLNHGVS=NC_000001.11:g.1020216C>G;CLNSRC=.;CLNORIGIN=1;CLNSRCID=.;CLNSIG=0;CLNDSDB=MedGen;CLNDSDBID=CN221809;CLNDBN=cancer;CLNREVSTAT=single;CLNACC=RCV000422793.1
我需要一个输出:
1014143 rs786201005 C T CLNSIG=5 CLNDBN=Immunodeficiency_38_with_basal_ganglia_calcification
1014228 rs1921 G A,C CLNSIG=2 CLNDBN=not_specified
1014316 rs672601345 C CG CLNSIG=5 CLNDBN=Immunodeficiency_38_with_basal_ganglia_calcification
1014359 rs672601312 G T CLNSIG=5 CLNDBN=Immunodeficiency_38_with_basal_ganglia_calcification
1020183 rs539283387 G C CLNSIG=3 CLNDBN=not_specified
1020216 rs764659938 C G CLNSIG=0 CLNDBN=not_provided
这意味着打印 2,3,4,5 列,然后解析最后一列并仅打印 CLNSIG 和 CLNDBN。问题是,这些值并不总是位于相同的位置。
我的尝试是:
awk -v OFS="\t"'{print $2,$3,$4,$5,$8}' input
...然后我不知道如何获取 CLNSIG 和 CLNDBN。
感谢您的任何想法。
最佳答案
纯bash
,通过使用bash
来解析剩余的变量在 $h
中, parameter tranformation 输出:
while read a b c d e f g h ; do
declare ${h//;/ }
printf "%s\t%-10s\t%s\t%s\t%s\t%s\n" $b $c $d $e ${CLNSIG@A} ${CLNDBN@A}
done < input
输出:
1014143 rs786201005 C T CLNSIG='5' CLNDBN='Immunodeficiency_38_with_basal_ganglia_calcification'
1014228 rs1921 G A,C CLNSIG='2' CLNDBN='not_specified'
1014316 rs672601345 C CG CLNSIG='5' CLNDBN='Immunodeficiency_38_with_basal_ganglia_calcification'
1014359 rs672601312 G T CLNSIG='5' CLNDBN='Immunodeficiency_38_with_basal_ganglia_calcification'
1020183 rs539283387 G C CLNSIG='3' CLNDBN='not_specified'
1020216 rs764659938 C G CLNSIG='0' CLNDBN='cancer'
POSIX shell、grep
和 printf
方法:
while read a b c d e f g h ; do
printf "%s\t%-10s\t%s\t%s\t%s\t%s\n" $b $c $d $e \
$( echo "$h" | grep -o 'CLN\(SIG\|DBN\)=[^;]*' ) ;
done < input
输出:
1014143 rs786201005 C T CLNSIG=5 CLNDBN=Immunodeficiency_38_with_basal_ganglia_calcification
1014228 rs1921 G A,C CLNSIG=2 CLNDBN=not_specified
1014316 rs672601345 C CG CLNSIG=5 CLNDBN=Immunodeficiency_38_with_basal_ganglia_calcification
1014359 rs672601312 G T CLNSIG=5 CLNDBN=Immunodeficiency_38_with_basal_ganglia_calcification
1020183 rs539283387 G C CLNSIG=3 CLNDBN=not_specified
1020216 rs764659938 C G CLNSIG=0 CLNDBN=cancer
关于bash - 解析 VCF 文件的 INFO 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46632397/
我不想先解压缩 vcf.gz 文件,因为它是一个大文件,而且我的笔记本电脑没有空间容纳它。我试着做: gunzip -c file.vcf.gz > bgzip -c > file.vcf.bgz 但
我正在尝试根据这些规范创建一个 .VCF 文件(使用 3.0 版) https://en.wikipedia.org/wiki/VCard#vCard_3.0 https://tools.ietf.o
我的数据文件是gnomad.exomes.r2.1.1.sites.13.vcf.bgz . 我已经解压了VCF。这是我在过滤数据后插入 Postgres 的代码: # ===============
我有一个包含大量联系人(29000!)的 .vcf 文件。我想合并重复项(例如,同名,两个条目,一个带有电子邮件,另一个带有电话号码),并为它们删除完全相同的重复项。我查看了一些 android 应用
我已经用 iPhone 创建了一个 .vcf 联系人,并通过电子邮件将文件发送给我自己。在那个 .vcf 中,我拍了一张照片,它直接保存在 vCard 中,而不是手机内存中。 在 .vcf 的源代码中
我有一个大型 Variant Call 格式 (VCF) 文件(> 4GB),其中包含多个样本的数据。 我浏览过 Google、Stackoverflow 并尝试过 R 中的 VariantAnnot
我有这个结构,我只想提取 FN 和 TEL: BEGIN:VCARD VERSION:2.1 N:Pepe;Perez;;; FN:Pepe Perez TEL;HOME:+549465738283
我使用以下代码为单个联系人创建 vcf 文件。我想要的是,当我单击特定联系人时,它将为该联系人创建一个 vcf 文件。这是我正在使用的代码: String vfile = "test1.vcf";
我正在尝试使用 CNContactVCardSerialization 将联系人保存为 vcf,效果相对较好。我确实发现苹果不包含注释或图像作为 VCF 的一部分。我确实使用了 stackoverfl
Android How to send multiple contacts are attached in single .vcf file and send to mail? 我已经创建了所有联系人
我必须从地址簿中选择多个联系人并保存到我的应用程序中。现在,如果我从地址簿中删除任何联系人,并且它是以前保存在我的应用程序中的联系人,为了恢复已删除的联系人,我需要创建 vcf 文件。 最佳答案 如果
我已经创建了 vcf 文件并将其上传到我的网站。当我按下我创建的“保存联系人”而不是将其保存到联系人的下载按钮时,它会像这样打开它: BEGIN:VCARD VERSION:2.1 N:John;Do
所以我有一张我一直在测试的 VCARD BEGIN:VCARD VERSION:2.1 N:Smith;John;;; FN:John Smith TEL;CELL:+61000000000 TEL;
我想知道,如何实现Vcard的下载。这是我当前的代码: $path = "../../media/resources/"; $file = "someName.vcf"; header('Cont
我有一个约 300 GB 的压缩 vcf 文件 (.vcf.gz),其中包含大约 700 只狗的基因组。我只对这些狗中的几只感兴趣,目前我没有足够的空间来解压整个文件,尽管我正在让一台电脑来做这件事。
在我的应用程序中,多个联系人附加到单个 .vcf 文件并将该文件发送到邮件,尝试将所有联系人数据显示在日志猫中,但无法发送所有数据附加到单个 .vcf 文件? 任何人对此有帮助,请帮助我。 这是我的代
我想为一个对象生成一个 .vcf 文件,其中包含联系人信息,如姓名、图像、电话号码、传真号码、电子邮件 ID、地址等。该对象未添加到电话的地址簿中,但它是存储在我的应用程序中。 生成我的 .vcf 文
我想将手机联系人导出到外部存储区。我没有使用这种方法。有人指导我这样做吗? 最佳答案 在您的代码中,您编写了一个函数,但该函数是从哪里调用的? get(View view) 函数是什么意思?此函数未被
我有一个类来保存数据和该类的列表。这是我的代码。 static void Main(string[] args) { List contacts = new List();
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 7 年前。 Improve th
我是一名优秀的程序员,十分优秀!