Linux

如何將 snps 映射到 ref 基因文件

  • October 6, 2017

我有以下關於 snps ID 的數據集

 POS ID    
   78599583    rs987435
   33395779    rs345783
   189807684   rs955894
   33907909    rs6088791
   75664046    rs11180435
   218890658   rs17571465
   127630276   rs17011450
   90919465    rs6919430

和一個基因參考文件

genename    name    chrom   strand  txstart txend
CDK1    NM_001786   chr10   +   62208217    62224616
CALB2   NM_001740   chr16   +   69950116    69981843
STK38   NM_007271   chr6    -   36569637    36623271
YWHAE   NM_006761   chr17   -   1194583 1250306
SYT1    NM_005639   chr12   +   77782579    78369919
ARHGAP22    NM_001347736    chr10   -   49452323    49534316
PRMT2   NM_001535   chr21   +   46879934    46909464
CELSR3  NM_001407   chr3    -   48648899    48675352

我正在嘗試將基因與 SNps 位置匹配,因此包括具有

POS >= txstart 和 POS<= txend

例如,我想要一個具有以下列的數據集

基因名 SNPID 色度位置 txstart txend

據我所知,您的範例文件不包含您描述的任何匹配項。

如果我們將第一個文件修改為

CHROM  POS ID   
chr7    78599583    rs987435
chr15   33395779    rs345783
chr1    189807684   rs955894
chr20   33907909    rs6088791
**chrx 1234567 rsMadeUp**
chr12   75664046    rs11180435
chr1    218890658   rs17571465
chr4    127630276   rs17011450
chr6    90919465    rs6919430

使得虛構的條目落在範圍內

genename    name    chrom   strand  txstart txend
CDK1    NM_001786   chr10   +   62208217    62224616
CALB2   NM_001740   chr16   +   69950116    69981843
STK38   NM_007271   chr6    -   36569637    36623271
YWHAE   NM_006761   chr17   -   **1194583 1250306**
SYT1    NM_005639   chr12   +   77782579    78369919
ARHGAP22    NM_001347736    chr10   -   49452323    49534316
PRMT2   NM_001535   chr21   +   46879934    46909464
CELSR3  NM_001407   chr3    -   48648899    48675352

然後

awk '
   NR == FNR && FNR &gt; 1 {snp[$2]=$3; next} 
   FNR &gt; 1 {
     for (p in snp) {if (p&gt;=$5 && p&lt;=$6) print $1, snp[p], $3, p, $5, $6}
   }
 ' snpsid generef 
YWHAE rsMadeUp chr17 1234567 1194583 1250306

引用自:https://unix.stackexchange.com/questions/338753