我有一个以此结尾的file.txt:
HGVSp : HGVS protein sequence name
HGVS_OFFSET : Indicates by how many bases the HGVS notations for this variant
have been shifted
Uploaded_variation Location Allele Gene Feature Feature_type Consequence cDNA_position CDS_position Protein_positi
CYP2C9:c.121A>G 10:96698560 G ENSG00000138109 ENST00000260682 Transcript missense_variant 133 121 41 N/D
CYP2C9:c.121A>G 10:96698560 G ENSG00000233377 ENST00000424125 Transcript downstream_gene_variant - - - -
CYP2C9:c.121A>G 10:96698560 G ENSG00000138109 ENST00000461906 Transcript non_coding_transcript_exon_variant,non_coding_transcri
CYP2C9:c.121A>G 10:96698560 G ENSG00000138109 ENST00000473496 Transcript upstream_gene_variant - - - -
我想要一个像这样的新file1.txt:
chr10 (tab) 96698560 (tab) CYP2C9:c.121A>G
chr10
是> g之后和':'之前的数字,而96698560
是':'之后的数字
这样:
chr10 96698560 CYP2C9:c.121A>G
我该怎么做?
答案 0 :(得分:0)
这可能不是完美的解决方案,但希望这会有所帮助。
{{1}}
答案 1 :(得分:0)
这是在awk中执行此操作的另一种方式:
awk -F"[ :]" 'printnext==1{print "chr"$3"\011"$4"\011"$1":"$2; printnext=0}$1=="Uploaded_variation"{printnext=1}' <yourfile>
这会将每个记录用空格或冒号分成多个字段。我们测试第一个字段的每个记录等于“Uploaded_variation”如果我们得到一个命中我们将变量“printnext”设置为1.如果printnext为“1”,那么我们以您描述的格式打印出记录并将printnext设置回0.