Linux
如何將 snps 映射到 ref 基因文件
我有以下關於 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 > 1 {snp[$2]=$3; next} FNR > 1 { for (p in snp) {if (p>=$5 && p<=$6) print $1, snp[p], $3, p, $5, $6} } ' snpsid generef YWHAE rsMadeUp chr17 1234567 1194583 1250306