{ "cells": [ { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "#import pandas as pd" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "### parameters\n", "import pandas as pd\n", "import textwrap\n", "\n", "import numpy as np\n", "from collections import defaultdict\n", "import matplotlib.pyplot as plt\n", "\n", "mySpecie='Homo_sapiens'\n", "#change base dir to your data location\n", "baseDir='/cellar/users/btsui/Data/SRA/snp/'\n", "skymap_snp_dir=baseDir+'{specie}_snp_pos/'.format(specie=mySpecie)\n", "\n", "#7:140753336\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### read dbSNP annotation\n", "\n", "VCF bitfield (VP) is detailed in : \n", "https://ftp.ncbi.nlm.nih.gov/snp/specs/dbSNP_BitField_latest.pdf" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/cellar/users/btsui/anaconda3/lib/python3.6/site-packages/IPython/core/interactiveshell.py:2785: DtypeWarning: Columns (0) have mixed types. Specify dtype option on import or set low_memory=False.\n", " interactivity=interactivity, compiler=compiler, result=result)\n" ] } ], "source": [ "inVcfDir='/data/cellardata/users/btsui/dbsnp/Homo_sapiens/All_20170710.f1_byte2_not_00.vcf.gz' \n", "vcfDf=pd.read_csv(inVcfDir,sep='\\t',header=None)\n", "vcfDf.columns=['Chr','Pos','RsId','RefBase','AltBase','','','Annot']\n", "vcfDf['Chr']=vcfDf['Chr'].astype(np.str)\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "vcfDf['VP']=vcfDf['Annot'].str.extract('VP=0x(\\w+);')" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ChrPosRsIdRefBaseAltBaseAnnotVPGENEINFOVP_binary
0114727rs1045587GA..RS=1045587;RSPOS=14727;RV;dbSNPBuildID=117;SSR...050028040005000002000100DDX11L10000010100000000001010000000010000000000000001...
11630825rs9783068TC..RS=9783068;RSPOS=630825;dbSNPBuildID=119;SSR=1...050028020005000002000140LOC1019286260000010100000000001010000000001000000000000001...
21630833rs9701099CT..RS=9701099;RSPOS=630833;dbSNPBuildID=119;SSR=1...050028020005000002000140LOC1019286260000010100000000001010000000001000000000000001...
31817186rs3094315GA..RS=3094315;RSPOS=817186;RV;dbSNPBuildID=103;SS...05012802000515053f000101FAM87B0000010100000001001010000000001000000000000001...
41833068rs12562034GA..RS=12562034;RSPOS=833068;dbSNPBuildID=120;SSR=...050128080005170537000100LINC011280000010100000001001010000000100000000000000001...
\n", "
" ], "text/plain": [ " Chr Pos RsId RefBase AltBase \\\n", "0 1 14727 rs1045587 G A . . \n", "1 1 630825 rs9783068 T C . . \n", "2 1 630833 rs9701099 C T . . \n", "3 1 817186 rs3094315 G A . . \n", "4 1 833068 rs12562034 G A . . \n", "\n", " Annot \\\n", "0 RS=1045587;RSPOS=14727;RV;dbSNPBuildID=117;SSR... \n", "1 RS=9783068;RSPOS=630825;dbSNPBuildID=119;SSR=1... \n", "2 RS=9701099;RSPOS=630833;dbSNPBuildID=119;SSR=1... \n", "3 RS=3094315;RSPOS=817186;RV;dbSNPBuildID=103;SS... \n", "4 RS=12562034;RSPOS=833068;dbSNPBuildID=120;SSR=... \n", "\n", " VP GENEINFO \\\n", "0 050028040005000002000100 DDX11L1 \n", "1 050028020005000002000140 LOC101928626 \n", "2 050028020005000002000140 LOC101928626 \n", "3 05012802000515053f000101 FAM87B \n", "4 050128080005170537000100 LINC01128 \n", "\n", " VP_binary \n", "0 0000010100000000001010000000010000000000000001... \n", "1 0000010100000000001010000000001000000000000001... \n", "2 0000010100000000001010000000001000000000000001... \n", "3 0000010100000001001010000000001000000000000001... \n", "4 0000010100000001001010000000100000000000000001... " ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vcfDf.head()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['RS=1045587;RSPOS=14727;RV;dbSNPBuildID=117;SSR=0;SAO=0;VP=0x050028040005000002000100;GENEINFO=DDX11L1:100287102|WASH7P:653635;WGT=1;VC=SNV;PM;PMC;R3;ASP',\n", " 'RS=9783068;RSPOS=630825;dbSNPBuildID=119;SSR=1;SAO=0;VP=0x050028020005000002000140;GENEINFO=LOC101928626:101928626;WGT=1;VC=SNV;PM;PMC;R5;ASP',\n", " 'RS=9701099;RSPOS=630833;dbSNPBuildID=119;SSR=1;SAO=0;VP=0x050028020005000002000140;GENEINFO=LOC101928626:101928626;WGT=1;VC=SNV;PM;PMC;R5;ASP',\n", " ...,\n", " 'RS=41458645;RSPOS=16278;dbSNPBuildID=127;SSR=0;SAO=0;VP=0x050028000005000402000100;WGT=1;VC=SNV;PM;PMC;ASP;HD',\n", " 'RS=41378955;RSPOS=16390;dbSNPBuildID=127;SSR=0;SAO=0;VP=0x050028000005000402000100;WGT=1;VC=SNV;PM;PMC;ASP;HD',\n", " 'RS=3937033;RSPOS=16519;dbSNPBuildID=108;SSR=0;SAO=0;VP=0x050128020005000502000100;GENEINFO=ND6:4541;WGT=1;VC=SNV;PM;PMC;SLO;R5;ASP;HD;GNO'],\n", " dtype=object)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vcfDf['Annot'].values" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "vcfDf['GENEINFO']=vcfDf['Annot'].str.extract('GENEINFO=(\\w+)',expand=False).values\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "#vcfDf.groupby(['GENEINFO']).size().median()\n", "#somatic mutations vs germlime" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "num_of_byte=12\n", "num_of_bits=num_of_byte*(8)\n", "def toBin(my_hexdata):\n", " Hex=int(my_hexdata,base=16)\n", " return bin( Hex )[2:].zfill(num_of_bits)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "dbsnpFlagDf=pd.read_csv('Data/dbsnpFlag.tsv',sep='\\t')\n", "\n", "#dbsnpFlagDf['Flag']=dbsnpFlagDf['Flag'].str.replace('[A-Z]','')\n", "\n", "#dbsnpFlagDf['Flag']=dbsnpFlagDf['Flag'].astype(int)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "scrolled": true }, "outputs": [], "source": [ "dbsnpFlagDf_MultI=dbsnpFlagDf.set_index(['byte_left_to_right','bit'])['Link'].sort_index()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "vcfDf['VP_binary']=vcfDf['VP'].apply(toBin).values" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "((393242, 11), 18846)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vcfDf.shape, 18846" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "vcfDf=vcfDf#[(vcfDf['Chr']=='7')&(vcfDf['Pos']==140753336)]" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "#12 byte, 24 hex digits\n", "VP_binary_l=vcfDf.VP_binary.apply(lambda S:pd.Series(textwrap.wrap(S,8)))" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "byteFieldDf=VP_binary_l#.T.unstack().unstack()#.apply(len)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "#VP_binary_l" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### extract distribution of data" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/cellar/users/btsui/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:39: FutureWarning: \n", "Passing list-likes to .loc or [] with any missing label will raise\n", "KeyError in the future, you can use .reindex() as an alternative.\n", "\n", "See the documentation here:\n", "https://pandas.pydata.org/pandas-docs/stable/indexing.html#deprecate-loc-reindex-listlike\n", "/cellar/users/btsui/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:40: FutureWarning: \n", "Passing list-likes to .loc or [] with any missing label will raise\n", "KeyError in the future, you can use .reindex() as an alternative.\n", "\n", "See the documentation here:\n", "https://pandas.pydata.org/pandas-docs/stable/indexing.html#deprecate-loc-reindex-listlike\n" ] } ], "source": [ "#byte=11\n", "myL=[]\n", "myByteToNameS=pd.Series({1:'resource link properties',\n", " 2:'resource link properties',\n", " 3:'gene function properties',\n", " 4:'gene function properties',\n", " 5:'mapping properties',\n", " 6:'allele frequency properties',\n", " 7:'genotype properties',\n", " 8:'Validation by HapMap/TGP properties',\n", " 9:'phenotype properties',\n", " 10:'variation class',\n", " 11:'quality check',\n", " 12:'Version encoding',\n", " })\n", "\n", "\n", "for byte in np.arange(1,12):\n", " tmpVC=byteFieldDf[byte].value_counts()#.head(n=10)\n", " bitVectors=tmpVC.index.values\n", "\n", " #dbsnpFlagDf_MultI.loc[byte]\n", "\n", " myDict=defaultdict(str)\n", " dbsnpFlagDf_MultI_sub=dbsnpFlagDf_MultI.loc[byte]\n", " for bitVector in bitVectors:\n", " #right to left, the bit vector from NCBI count from right to left, revert the order first \n", " endianCorrectedVect=bitVector[::-1]\n", " for i in range(len(endianCorrectedVect)):\n", " if endianCorrectedVect[i]=='1':\n", " dbSNP_field=dbsnpFlagDf_MultI_sub.loc[i+1]\n", " myDict[bitVector]+=(dbSNP_field+'\\n')\n", "\n", " #dbsnpFlagDf_MultI.loc[byte].values\n", "\n", " bitVectorToFnameS=pd.Series(myDict)\n", "\n", " tmpVC2=tmpVC.head(n=10)\n", " tmpS=pd.Series(index=bitVectorToFnameS.loc[tmpVC2.index].values, data=tmpVC2.values)\n", " bitVectorS=pd.Series(index=bitVectorToFnameS.loc[bitVectors],data=bitVectors)\n", " tmpDf=tmpS.to_frame('count')\n", " tmpDf['bitVector']=bitVectorS[:]\n", " myL.append(tmpDf)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "#tmpDf.shape" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "#tmpDf" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "#byteFieldDf[byte]" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "keys=np.arange(1,12)#myByteToNameS.loc[np.arange(1,12)].values.tolist()" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "#len(myL),len(keys)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "#keys" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "mergedCountDf=pd.concat(myL,keys=keys,axis=0)#.dropna()" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "mergedStatDf=mergedCountDf.reset_index()" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "scrolled": true }, "outputs": [], "source": [ "#mergedStatDf" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "mergedStatDf.columns=['Byte_left_to_right','Varation properties','Count','bitVector']" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "mergedStatDf['Variation_area']=myByteToNameS[mergedStatDf['Byte_left_to_right']].values" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "mergedStatDf['Varation properties']=mergedStatDf['Varation properties'].fillna('N/A')" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "#mergedStatDf" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "countDf=mergedStatDf.set_index(['Variation_area','bitVector','Byte_left_to_right','Varation properties'])[['Count']]" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "excel=pd.ExcelWriter('./Data/snp.count.xlsx')\n", "countDf.to_excel(excel)\n", "excel.close()" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "#6, 3\n", "#'100100'" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/cellar/users/btsui/Project/METAMAP/notebook/RapMapTest/XGS_WGS/./Data/snp.count.xlsx\r\n" ] } ], "source": [ "!echo $PWD/./Data/snp.count.xlsx" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### extract from byte\n", "\n", "input: bitVectors\n", "ouutoutput: " ] }, { "cell_type": "code", "execution_count": 532, "metadata": {}, "outputs": [], "source": [ "byte=5\n" ] }, { "cell_type": "code", "execution_count": 533, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "00000101 Weight (2 bits). Weight on NCBI reference asse...\n", "00010101 Weight (2 bits). Weight on NCBI reference asse...\n", "00001101 Weight (2 bits). Weight on NCBI reference asse...\n", "dtype: object" ] }, "execution_count": 533, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "tmpVC=byteFieldDf[byte].value_counts()#.head(n=10)\n", "bitVectors=tmpVC.index.values\n", "\n", "#dbsnpFlagDf_MultI.loc[byte]\n", "\n", "myDict=defaultdict(str)\n", "dbsnpFlagDf_MultI_sub=dbsnpFlagDf_MultI.loc[byte]\n", "for bitVector in bitVectors:\n", " #right to left, the bit vector from NCBI count from right to left, revert the order first \n", " endianCorrectedVect=bitVector[::-1]\n", " for i in range(len(endianCorrectedVect)):\n", " if endianCorrectedVect[i]=='1':\n", " ###bit need to have a plus one\n", " dbSNP_field=dbsnpFlagDf_MultI_sub.loc[i+1]\n", " myDict[bitVector]+=(dbSNP_field+'\\n')\n", "\n", "#dbsnpFlagDf_MultI.loc[byte].values\n", "\n", "bitVectorToFnameS=pd.Series(myDict)\n", "\n", "\n", "\n", "#pd.Series(index=bitVectorToFnameS.loc[tmpVC2.index].values, data=tmpVC2.values)\n", "bitVectorToFnameS" ] }, { "cell_type": "code", "execution_count": 534, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "bit\n", "1 Weight (2 bits). Weight on NCBI reference asse...\n", "2 Weight (2 bits). Weight on NCBI reference asse...\n", "3 Is Assembly specific. This bit is 1 if the snp...\n", "4 Has Assembly conflict. This is for weight 1 an...\n", "5 Has other snp. with exatly the same set of map...\n", "Name: Link, dtype: object" ] }, "execution_count": 534, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dbsnpFlagDf_MultI_sub" ] }, { "cell_type": "code", "execution_count": 535, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/cellar/users/btsui/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:4: FutureWarning: \n", "Passing list-likes to .loc or [] with any missing label will raise\n", "KeyError in the future, you can use .reindex() as an alternative.\n", "\n", "See the documentation here:\n", "https://pandas.pydata.org/pandas-docs/stable/indexing.html#deprecate-loc-reindex-listlike\n", " after removing the cwd from sys.path.\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig,ax=plt.subplots(figsize=(10,4))\n", "\n", "tmpVC2=tmpVC.head(n=10)\n", "ax=pd.Series(index=bitVectorToFnameS.loc[tmpVC2.index].values,data=tmpVC2.values).plot.bar()\n" ] }, { "cell_type": "code", "execution_count": 536, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "00000101 376159\n", "00000000 16748\n", "00010101 170\n", "00001101 165\n", "Name: 5, dtype: int64" ] }, "execution_count": 536, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#100100\n", "#why is this both missense and STOP-GAIN?\n", "\n", "tmpVC2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###" ] }, { "cell_type": "code", "execution_count": 520, "metadata": {}, "outputs": [], "source": [ "#00000101\n", "#allele frequency properties" ] }, { "cell_type": "code", "execution_count": 550, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 550, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vcfDf['GENEINFO'].nunique()" ] }, { "cell_type": "code", "execution_count": 551, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 NaN\n", "1 NaN\n", "2 NaN\n", "3 NaN\n", "4 NaN\n", "5 NaN\n", "6 NaN\n", "7 NaN\n", "8 NaN\n", "9 NaN\n", "10 NaN\n", "11 NaN\n", "12 NaN\n", "13 NaN\n", "14 NaN\n", "15 NaN\n", "16 NaN\n", "17 NaN\n", "18 NaN\n", "19 NaN\n", "20 NaN\n", "21 NaN\n", "22 NaN\n", "23 NaN\n", "24 NaN\n", "25 NaN\n", "26 NaN\n", "27 NaN\n", "28 NaN\n", "29 NaN\n", " ... \n", "393212 NaN\n", "393213 NaN\n", "393214 NaN\n", "393215 NaN\n", "393216 NaN\n", "393217 NaN\n", "393218 NaN\n", "393219 NaN\n", "393220 NaN\n", "393221 NaN\n", "393222 NaN\n", "393223 NaN\n", "393224 NaN\n", "393225 NaN\n", "393226 NaN\n", "393227 NaN\n", "393228 NaN\n", "393229 NaN\n", "393230 NaN\n", "393231 NaN\n", "393232 NaN\n", "393233 NaN\n", "393234 NaN\n", "393235 NaN\n", "393236 NaN\n", "393237 NaN\n", "393238 NaN\n", "393239 NaN\n", "393240 NaN\n", "393241 NaN\n", "Name: GENEINFO, Length: 393242, dtype: object" ] }, "execution_count": 551, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vcfDf['GENEINFO']" ] }, { "cell_type": "code", "execution_count": 521, "metadata": {}, "outputs": [], "source": [ "bitVector='00001111'\n", "endianCorrectedVect=bitVector[::-1]" ] }, { "cell_type": "code", "execution_count": 522, "metadata": {}, "outputs": [], "source": [ "m_binary=(byteFieldDf[byte]==bitVector).values" ] }, { "cell_type": "code", "execution_count": 548, "metadata": {}, "outputs": [], "source": [ "#vcfDf['GENEINFO'].value_counts()" ] }, { "cell_type": "code", "execution_count": 524, "metadata": {}, "outputs": [], "source": [ "#bitVectorToFnameS.values" ] }, { "cell_type": "code", "execution_count": 525, "metadata": { "scrolled": true }, "outputs": [], "source": [ "#bitVectorToFnameS.loc[bitVector]" ] }, { "cell_type": "code", "execution_count": 526, "metadata": {}, "outputs": [], "source": [ "#m=vcfDf['VP_binary'].str.contains('\\w+{}00001010'.format(8*3))" ] }, { "cell_type": "code", "execution_count": 527, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'\\n00001010, seem to be all: missense,nc transcript variant\\n00000011: rs267598747:synonymous codon, synon codon\\n\\nr vcfDf and \\n\\nHypothesis on bug: the mapping is mostlikely off \\n'" ] }, "execution_count": 527, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#missense,nc transcript variant for the first couple, missense,nc transcript variant\n", "\"\"\"\n", "00001010, seem to be all: missense,nc transcript variant\n", "00000011: rs267598747:synonymous codon, synon codon\n", "\n", "r vcfDf and \n", "\n", "Hypothesis on bug: the mapping is mostlikely off \n", "\"\"\"\n", "#" ] }, { "cell_type": "code", "execution_count": 528, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'00001010'" ] }, "execution_count": 528, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bitVectorToFnameS.index[0]" ] }, { "cell_type": "code", "execution_count": 529, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Has reference. A coding region variation where one allele in the set is identical to the reference sequence. FxnCode = 8\\nHas non-synonymous missense. A coding region variation where one allele in the set changes protein peptide. FxnClass = 42\\n'" ] }, "execution_count": 529, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bitVectorToFnameS.iloc[0]" ] }, { "cell_type": "code", "execution_count": 530, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'\\nbyte 4: 00001010\\n2,4\\n\\nhas one allele: \\n\\n'" ] }, "execution_count": 530, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"\"\"\n", "byte 4: 00001010\n", "2,4\n", "\n", "has one allele: \n", "\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 531, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ChrPosRsIdRefBaseAltBaseAnnotVPVP_binary
281831235766122rs80338660GA,C,T..RS=80338660;RSPOS=235766122;RV;dbSNPBuildID=13...050168000f050400261101040000010100000001011010000000000000001111000001...
3095821487841rs121908082CA,G,T..RS=121908082;RSPOS=1487841;dbSNPBuildID=132;SS...050268080f050400021101000000010100000010011010000000100000001111000001...
34025231386525rs119460972GA,C,T..RS=119460972;RSPOS=31386525;RV;dbSNPBuildID=13...050268000f050400021101040000010100000010011010000000000000001111000001...
37812247798725rs63749980CA,G,T..RS=63749980;RSPOS=47798725;dbSNPBuildID=137;SS...050060400f050400021001040000010100000000011000000100000000001111000001...
38040247799427rs63750909CA,G,T..RS=63750909;RSPOS=47799427;dbSNPBuildID=137;SS...050268000f050000021001040000010100000010011010000000000000001111000001...
40404261839437rs202193201GA,C,T..RS=202193201;RSPOS=61839437;dbSNPBuildID=137;S...050068000f050400361101000000010100000000011010000000000000001111000001...
643052233682328rs17863778CA,G,T..RS=17863778;RSPOS=233682328;dbSNPBuildID=126;S...050138080f051500360001040000010100000001001110000000100000001111000001...
76916370976982rs775136381GA,C,T..RS=775136381;RSPOS=70976982;dbSNPBuildID=144;S...050060000f050400021001040000010100000000011000000000000000001111000001...
8728441004286rs121965031CA,G,T..RS=121965031;RSPOS=1004286;dbSNPBuildID=133;SS...050068000f050400021101040000010100000000011010000000000000001111000001...
994854154796798rs144494582CA,G,T..RS=144494582;RSPOS=154796798;dbSNPBuildID=134;...050060000f050400021001240000010100000000011000000000000000001111000001...
1173395140557175rs250426GA,T..RS=250426;RSPOS=140557175;dbSNPBuildID=79;SSR=...050128000f051505370001000000010100000001001010000000000000001111000001...
125994625777954rs2328894CT..RS=2328894;RSPOS=25777954;dbSNPBuildID=100;SSR...050128080f050405370001010000010100000001001010000000100000001111000001...
127114629942978rs41542015CA,G,T..RS=41542015;RSPOS=29942978;dbSNPBuildID=137;SS...050260000f050000021001040000010100000010011000000000000000001111000001...
127230629943317rs41561714GA,C,T..RS=41561714;RSPOS=29943317;dbSNPBuildID=137;SS...050260000f050000021001040000010100000010011000000000000000001111000001...
127256629943344rs41556016CA,G,T..RS=41556016;RSPOS=29943344;dbSNPBuildID=137;SS...050260000f050400021001040000010100000010011000000000000000001111000001...
127379629943488rs41558913CA,G,T..RS=41558913;RSPOS=29943488;dbSNPBuildID=137;SS...050260000f050000021001040000010100000010011000000000000000001111000001...
128772631271128rs281860527GA,C,T..RS=281860527;RSPOS=31271128;RV;dbSNPBuildID=13...050260000f050000021001040000010100000010011000000000000000001111000001...
129009631271647rs41549514GA,C,T..RS=41549514;RSPOS=31271647;RV;dbSNPBuildID=137...050260000f050000021001040000010100000010011000000000000000001111000001...
129627631356222rs41557820GA,C,T..RS=41557820;RSPOS=31356222;RV;dbSNPBuildID=137...050260020f050400021001040000010100000010011000000000001000001111000001...
129891631356736rs41541213GA,C,T..RS=41541213;RSPOS=31356736;RV;dbSNPBuildID=137...050260020f050400021001040000010100000010011000000000001000001111000001...
153965721748602rs121908854CA,G,T..RS=121908854;RSPOS=21748602;dbSNPBuildID=133;S...050368000f050404361101040000010100000011011010000000000000001111000001...
158813776515138rs1799125AC,T..RS=1799125;RSPOS=76515138;dbSNPBuildID=89;SSR=...050128080f0515053f0001400000010100000001001010000000100000001111000001...
1695447150950336rs189014161GA,C,T..RS=189014161;RSPOS=150950336;dbSNPBuildID=135;...050268000f050400361101040000010100000010011010000000000000001111000001...
179309886668055rs267606739GA,C,T..RS=267606739;RSPOS=86668055;RV;dbSNPBuildID=13...050068000f050400261101040000010100000000011010000000000000001111000001...
1933139100292976rs267607185CA,G,T..RS=267607185;RSPOS=100292976;dbSNPBuildID=137;...050068000f050400261101040000010100000000011010000000000000001111000001...
2047731049156232rs267602505GA..RS=267602505;RSPOS=49156232;dbSNPBuildID=137;S...0500600c0f050000021001200000010100000000011000000000110000001111000001...
2073741070771398rs149097055GA,T..RS=149097055;RSPOS=70771398;dbSNPBuildID=134;S...050060840f050404261001200000010100000000011000001000010000001111000001...
221031116394209rs771336819TA,C..RS=771336819;RSPOS=6394209;dbSNPBuildID=144;SS...050068000f050000021001000000010100000000011010000000000000001111000001...
2274591161397797rs11230683CA,G,T..RS=11230683;RSPOS=61397797;dbSNPBuildID=120;SS...050068000f050404361101000000010100000000011010000000000000001111000001...
2329761194447276rs774277300GA,C,T..RS=774277300;RSPOS=94447276;dbSNPBuildID=136;S...050060000f050400021001000000010100000000011000000000000000001111000001...
2330991194467821rs371077728GA,C,T..RS=371077728;RSPOS=94467821;dbSNPBuildID=138;S...050260020f050400021001040000010100000010011000000000001000001111000001...
25403312100532538rs113090017CA,G,T..RS=113090017;RSPOS=100532538;dbSNPBuildID=132;...050128080f050401020001040000010100000001001010000000100000001111000001...
2598031323331644rs141315518GA,C,T..RS=141315518;RSPOS=23331644;dbSNPBuildID=134;S...050068000f050400361101000000010100000000011010000000000000001111000001...
2640581332340280rs80358825TA,C,G..RS=80358825;RSPOS=32340280;dbSNPBuildID=132;SS...050168000f050000021001040000010100000001011010000000000000001111000001...
2857321540625535rs191249840CA,G,T..RS=191249840;RSPOS=40625535;dbSNPBuildID=135;S...050128000f050400360001000000010100000001001010000000000000001111000001...
2864831544573661rs147713329GA,C,T..RS=147713329;RSPOS=44573661;dbSNPBuildID=134;S...050168080f050000021101040000010100000001011010000000100000001111000001...
2890491551404533rs368085516CA,G,T..RS=368085516;RSPOS=51404533;dbSNPBuildID=138;S...050028080f050400020001040000010100000000001010000000100000001111000001...
2936241589316771rs144346886GA,C,T..RS=144346886;RSPOS=89316771;dbSNPBuildID=134;S...050268800f050400261001000000010100000010011010001000000000001111000001...
3101931675556198rs397514609AG,T..RS=397514609;RSPOS=75556198;RV;dbSNPBuildID=13...050068000f050000021101000000010100000000011010000000000000001111000001...
3106461679211721rs372635911CA,G,T..RS=372635911;RSPOS=79211721;dbSNPBuildID=138;S...050260800f050400021001000000010100000010011000001000000000001111000001...
3164731716940378rs72553885GA,C,T..RS=72553885;RSPOS=16940378;RV;dbSNPBuildID=130...050028000f050404020001040000010100000000001010000000000000001111000001...
3172391719347840rs373478202GA,C,T..RS=373478202;RSPOS=19347840;dbSNPBuildID=138;S...050028000f050400260001000000010100000000001010000000000000001111000001...
3218201743045729rs397509295GA,C,T..RS=397509295;RSPOS=43045729;RV;dbSNPBuildID=13...050068800f050000021101040000010100000000011010001000000000001111000001...
3219251743047687rs80357358AG,T..RS=80357358;RSPOS=43047687;RV;dbSNPBuildID=132...050368000f050000021001000000010100000011011010000000000000001111000001...
3262301744352087rs63751180CA,G,T..RS=63751180;RSPOS=44352087;dbSNPBuildID=137;SS...050160000f050400021001040000010100000001011000000000000000001111000001...
3288491758206159rs772719574GA,T..RS=772719574;RSPOS=58206159;dbSNPBuildID=144;S...050028800f050400020001000000010100000000001010001000000000001111000001...
341491192853131rs267605399CA,G,T..RS=267605399;RSPOS=2853131;dbSNPBuildID=137;SS...050260000f050400021001240000010100000010011000000000000000001111000001...
3442671911105425rs769318035CA,G,T..RS=769318035;RSPOS=11105425;dbSNPBuildID=144;S...050068080f050000021001040000010100000000011010000000100000001111000001...
3444781911107402rs146651743CA,G,T..RS=146651743;RSPOS=11107402;dbSNPBuildID=134;S...050268000f050404361001040000010100000010011010000000000000001111000001...
3445371911107513rs13306512CA,G,T..RS=13306512;RSPOS=11107513;dbSNPBuildID=121;SS...050268000f050401371001040000010100000010011010000000000000001111000001...
3446141911110767rs13306515CA,G,T..RS=13306515;RSPOS=11110767;dbSNPBuildID=121;SS...050368000f050405361001040000010100000011011010000000000000001111000001...
3452601911120470rs112954220CA,G,T..RS=112954220;RSPOS=11120470;dbSNPBuildID=132;S...050268080f050400021001040000010100000010011010000000100000001111000001...
3679012216807899rs142425083GA,C,T..RS=142425083;RSPOS=16807899;dbSNPBuildID=137;S...050060000f050400021001240000010100000000011000000000000000001111000001...
3731312242128212rs367543000GA,C,T..RS=367543000;RSPOS=42128212;RV;dbSNPBuildID=13...050060020f050400021101040000010100000000011000000000001000001111000001...
3738802246356865rs779022860CA,T..RS=779022860;RSPOS=46356865;dbSNPBuildID=144;S...050060000f050400021001000000010100000000011000000000000000001111000001...
388490X154350109rs782308324GA,C,T..RS=782308324;RSPOS=154350109;dbSNPBuildID=144;...050060000f050400021001040000010100000000011000000000000000001111000001...
389190X154928647rs137852439GA,C,T..RS=137852439;RSPOS=154928647;RV;dbSNPBuildID=1...050268000f050000021101040000010100000010011010000000000000001111000001...
\n", "
" ], "text/plain": [ " Chr Pos RsId RefBase AltBase \\\n", "28183 1 235766122 rs80338660 G A,C,T . . \n", "30958 2 1487841 rs121908082 C A,G,T . . \n", "34025 2 31386525 rs119460972 G A,C,T . . \n", "37812 2 47798725 rs63749980 C A,G,T . . \n", "38040 2 47799427 rs63750909 C A,G,T . . \n", "40404 2 61839437 rs202193201 G A,C,T . . \n", "64305 2 233682328 rs17863778 C A,G,T . . \n", "76916 3 70976982 rs775136381 G A,C,T . . \n", "87284 4 1004286 rs121965031 C A,G,T . . \n", "99485 4 154796798 rs144494582 C A,G,T . . \n", "117339 5 140557175 rs250426 G A,T . . \n", "125994 6 25777954 rs2328894 C T . . \n", "127114 6 29942978 rs41542015 C A,G,T . . \n", "127230 6 29943317 rs41561714 G A,C,T . . \n", "127256 6 29943344 rs41556016 C A,G,T . . \n", "127379 6 29943488 rs41558913 C A,G,T . . \n", "128772 6 31271128 rs281860527 G A,C,T . . \n", "129009 6 31271647 rs41549514 G A,C,T . . \n", "129627 6 31356222 rs41557820 G A,C,T . . \n", "129891 6 31356736 rs41541213 G A,C,T . . \n", "153965 7 21748602 rs121908854 C A,G,T . . \n", "158813 7 76515138 rs1799125 A C,T . . \n", "169544 7 150950336 rs189014161 G A,C,T . . \n", "179309 8 86668055 rs267606739 G A,C,T . . \n", "193313 9 100292976 rs267607185 C A,G,T . . \n", "204773 10 49156232 rs267602505 G A . . \n", "207374 10 70771398 rs149097055 G A,T . . \n", "221031 11 6394209 rs771336819 T A,C . . \n", "227459 11 61397797 rs11230683 C A,G,T . . \n", "232976 11 94447276 rs774277300 G A,C,T . . \n", "233099 11 94467821 rs371077728 G A,C,T . . \n", "254033 12 100532538 rs113090017 C A,G,T . . \n", "259803 13 23331644 rs141315518 G A,C,T . . \n", "264058 13 32340280 rs80358825 T A,C,G . . \n", "285732 15 40625535 rs191249840 C A,G,T . . \n", "286483 15 44573661 rs147713329 G A,C,T . . \n", "289049 15 51404533 rs368085516 C A,G,T . . \n", "293624 15 89316771 rs144346886 G A,C,T . . \n", "310193 16 75556198 rs397514609 A G,T . . \n", "310646 16 79211721 rs372635911 C A,G,T . . \n", "316473 17 16940378 rs72553885 G A,C,T . . \n", "317239 17 19347840 rs373478202 G A,C,T . . \n", "321820 17 43045729 rs397509295 G A,C,T . . \n", "321925 17 43047687 rs80357358 A G,T . . \n", "326230 17 44352087 rs63751180 C A,G,T . . \n", "328849 17 58206159 rs772719574 G A,T . . \n", "341491 19 2853131 rs267605399 C A,G,T . . \n", "344267 19 11105425 rs769318035 C A,G,T . . \n", "344478 19 11107402 rs146651743 C A,G,T . . \n", "344537 19 11107513 rs13306512 C A,G,T . . \n", "344614 19 11110767 rs13306515 C A,G,T . . \n", "345260 19 11120470 rs112954220 C A,G,T . . \n", "367901 22 16807899 rs142425083 G A,C,T . . \n", "373131 22 42128212 rs367543000 G A,C,T . . \n", "373880 22 46356865 rs779022860 C A,T . . \n", "388490 X 154350109 rs782308324 G A,C,T . . \n", "389190 X 154928647 rs137852439 G A,C,T . . \n", "\n", " Annot \\\n", "28183 RS=80338660;RSPOS=235766122;RV;dbSNPBuildID=13... \n", "30958 RS=121908082;RSPOS=1487841;dbSNPBuildID=132;SS... \n", "34025 RS=119460972;RSPOS=31386525;RV;dbSNPBuildID=13... \n", "37812 RS=63749980;RSPOS=47798725;dbSNPBuildID=137;SS... \n", "38040 RS=63750909;RSPOS=47799427;dbSNPBuildID=137;SS... \n", "40404 RS=202193201;RSPOS=61839437;dbSNPBuildID=137;S... \n", "64305 RS=17863778;RSPOS=233682328;dbSNPBuildID=126;S... \n", "76916 RS=775136381;RSPOS=70976982;dbSNPBuildID=144;S... \n", "87284 RS=121965031;RSPOS=1004286;dbSNPBuildID=133;SS... \n", "99485 RS=144494582;RSPOS=154796798;dbSNPBuildID=134;... \n", "117339 RS=250426;RSPOS=140557175;dbSNPBuildID=79;SSR=... \n", "125994 RS=2328894;RSPOS=25777954;dbSNPBuildID=100;SSR... \n", "127114 RS=41542015;RSPOS=29942978;dbSNPBuildID=137;SS... \n", "127230 RS=41561714;RSPOS=29943317;dbSNPBuildID=137;SS... \n", "127256 RS=41556016;RSPOS=29943344;dbSNPBuildID=137;SS... \n", "127379 RS=41558913;RSPOS=29943488;dbSNPBuildID=137;SS... \n", "128772 RS=281860527;RSPOS=31271128;RV;dbSNPBuildID=13... \n", "129009 RS=41549514;RSPOS=31271647;RV;dbSNPBuildID=137... \n", "129627 RS=41557820;RSPOS=31356222;RV;dbSNPBuildID=137... \n", "129891 RS=41541213;RSPOS=31356736;RV;dbSNPBuildID=137... \n", "153965 RS=121908854;RSPOS=21748602;dbSNPBuildID=133;S... \n", "158813 RS=1799125;RSPOS=76515138;dbSNPBuildID=89;SSR=... \n", "169544 RS=189014161;RSPOS=150950336;dbSNPBuildID=135;... \n", "179309 RS=267606739;RSPOS=86668055;RV;dbSNPBuildID=13... \n", "193313 RS=267607185;RSPOS=100292976;dbSNPBuildID=137;... \n", "204773 RS=267602505;RSPOS=49156232;dbSNPBuildID=137;S... \n", "207374 RS=149097055;RSPOS=70771398;dbSNPBuildID=134;S... \n", "221031 RS=771336819;RSPOS=6394209;dbSNPBuildID=144;SS... \n", "227459 RS=11230683;RSPOS=61397797;dbSNPBuildID=120;SS... \n", "232976 RS=774277300;RSPOS=94447276;dbSNPBuildID=136;S... \n", "233099 RS=371077728;RSPOS=94467821;dbSNPBuildID=138;S... \n", "254033 RS=113090017;RSPOS=100532538;dbSNPBuildID=132;... \n", "259803 RS=141315518;RSPOS=23331644;dbSNPBuildID=134;S... \n", "264058 RS=80358825;RSPOS=32340280;dbSNPBuildID=132;SS... \n", "285732 RS=191249840;RSPOS=40625535;dbSNPBuildID=135;S... \n", "286483 RS=147713329;RSPOS=44573661;dbSNPBuildID=134;S... \n", "289049 RS=368085516;RSPOS=51404533;dbSNPBuildID=138;S... \n", "293624 RS=144346886;RSPOS=89316771;dbSNPBuildID=134;S... \n", "310193 RS=397514609;RSPOS=75556198;RV;dbSNPBuildID=13... \n", "310646 RS=372635911;RSPOS=79211721;dbSNPBuildID=138;S... \n", "316473 RS=72553885;RSPOS=16940378;RV;dbSNPBuildID=130... \n", "317239 RS=373478202;RSPOS=19347840;dbSNPBuildID=138;S... \n", "321820 RS=397509295;RSPOS=43045729;RV;dbSNPBuildID=13... \n", "321925 RS=80357358;RSPOS=43047687;RV;dbSNPBuildID=132... \n", "326230 RS=63751180;RSPOS=44352087;dbSNPBuildID=137;SS... \n", "328849 RS=772719574;RSPOS=58206159;dbSNPBuildID=144;S... \n", "341491 RS=267605399;RSPOS=2853131;dbSNPBuildID=137;SS... \n", "344267 RS=769318035;RSPOS=11105425;dbSNPBuildID=144;S... \n", "344478 RS=146651743;RSPOS=11107402;dbSNPBuildID=134;S... \n", "344537 RS=13306512;RSPOS=11107513;dbSNPBuildID=121;SS... \n", "344614 RS=13306515;RSPOS=11110767;dbSNPBuildID=121;SS... \n", "345260 RS=112954220;RSPOS=11120470;dbSNPBuildID=132;S... \n", "367901 RS=142425083;RSPOS=16807899;dbSNPBuildID=137;S... \n", "373131 RS=367543000;RSPOS=42128212;RV;dbSNPBuildID=13... \n", "373880 RS=779022860;RSPOS=46356865;dbSNPBuildID=144;S... \n", "388490 RS=782308324;RSPOS=154350109;dbSNPBuildID=144;... \n", "389190 RS=137852439;RSPOS=154928647;RV;dbSNPBuildID=1... \n", "\n", " VP \\\n", "28183 050168000f05040026110104 \n", "30958 050268080f05040002110100 \n", "34025 050268000f05040002110104 \n", "37812 050060400f05040002100104 \n", "38040 050268000f05000002100104 \n", "40404 050068000f05040036110100 \n", "64305 050138080f05150036000104 \n", "76916 050060000f05040002100104 \n", "87284 050068000f05040002110104 \n", "99485 050060000f05040002100124 \n", "117339 050128000f05150537000100 \n", "125994 050128080f05040537000101 \n", "127114 050260000f05000002100104 \n", "127230 050260000f05000002100104 \n", "127256 050260000f05040002100104 \n", "127379 050260000f05000002100104 \n", "128772 050260000f05000002100104 \n", "129009 050260000f05000002100104 \n", "129627 050260020f05040002100104 \n", "129891 050260020f05040002100104 \n", "153965 050368000f05040436110104 \n", "158813 050128080f0515053f000140 \n", "169544 050268000f05040036110104 \n", "179309 050068000f05040026110104 \n", "193313 050068000f05040026110104 \n", "204773 0500600c0f05000002100120 \n", "207374 050060840f05040426100120 \n", "221031 050068000f05000002100100 \n", "227459 050068000f05040436110100 \n", "232976 050060000f05040002100100 \n", "233099 050260020f05040002100104 \n", "254033 050128080f05040102000104 \n", "259803 050068000f05040036110100 \n", "264058 050168000f05000002100104 \n", "285732 050128000f05040036000100 \n", "286483 050168080f05000002110104 \n", "289049 050028080f05040002000104 \n", "293624 050268800f05040026100100 \n", "310193 050068000f05000002110100 \n", "310646 050260800f05040002100100 \n", "316473 050028000f05040402000104 \n", "317239 050028000f05040026000100 \n", "321820 050068800f05000002110104 \n", "321925 050368000f05000002100100 \n", "326230 050160000f05040002100104 \n", "328849 050028800f05040002000100 \n", "341491 050260000f05040002100124 \n", "344267 050068080f05000002100104 \n", "344478 050268000f05040436100104 \n", "344537 050268000f05040137100104 \n", "344614 050368000f05040536100104 \n", "345260 050268080f05040002100104 \n", "367901 050060000f05040002100124 \n", "373131 050060020f05040002110104 \n", "373880 050060000f05040002100100 \n", "388490 050060000f05040002100104 \n", "389190 050268000f05000002110104 \n", "\n", " VP_binary \n", "28183 0000010100000001011010000000000000001111000001... \n", "30958 0000010100000010011010000000100000001111000001... \n", "34025 0000010100000010011010000000000000001111000001... \n", "37812 0000010100000000011000000100000000001111000001... \n", "38040 0000010100000010011010000000000000001111000001... \n", "40404 0000010100000000011010000000000000001111000001... \n", "64305 0000010100000001001110000000100000001111000001... \n", "76916 0000010100000000011000000000000000001111000001... \n", "87284 0000010100000000011010000000000000001111000001... \n", "99485 0000010100000000011000000000000000001111000001... \n", "117339 0000010100000001001010000000000000001111000001... \n", "125994 0000010100000001001010000000100000001111000001... \n", "127114 0000010100000010011000000000000000001111000001... \n", "127230 0000010100000010011000000000000000001111000001... \n", "127256 0000010100000010011000000000000000001111000001... \n", "127379 0000010100000010011000000000000000001111000001... \n", "128772 0000010100000010011000000000000000001111000001... \n", "129009 0000010100000010011000000000000000001111000001... \n", "129627 0000010100000010011000000000001000001111000001... \n", "129891 0000010100000010011000000000001000001111000001... \n", "153965 0000010100000011011010000000000000001111000001... \n", "158813 0000010100000001001010000000100000001111000001... \n", "169544 0000010100000010011010000000000000001111000001... \n", "179309 0000010100000000011010000000000000001111000001... \n", "193313 0000010100000000011010000000000000001111000001... \n", "204773 0000010100000000011000000000110000001111000001... \n", "207374 0000010100000000011000001000010000001111000001... \n", "221031 0000010100000000011010000000000000001111000001... \n", "227459 0000010100000000011010000000000000001111000001... \n", "232976 0000010100000000011000000000000000001111000001... \n", "233099 0000010100000010011000000000001000001111000001... \n", "254033 0000010100000001001010000000100000001111000001... \n", "259803 0000010100000000011010000000000000001111000001... \n", "264058 0000010100000001011010000000000000001111000001... \n", "285732 0000010100000001001010000000000000001111000001... \n", "286483 0000010100000001011010000000100000001111000001... \n", "289049 0000010100000000001010000000100000001111000001... \n", "293624 0000010100000010011010001000000000001111000001... \n", "310193 0000010100000000011010000000000000001111000001... \n", "310646 0000010100000010011000001000000000001111000001... \n", "316473 0000010100000000001010000000000000001111000001... \n", "317239 0000010100000000001010000000000000001111000001... \n", "321820 0000010100000000011010001000000000001111000001... \n", "321925 0000010100000011011010000000000000001111000001... \n", "326230 0000010100000001011000000000000000001111000001... \n", "328849 0000010100000000001010001000000000001111000001... \n", "341491 0000010100000010011000000000000000001111000001... \n", "344267 0000010100000000011010000000100000001111000001... \n", "344478 0000010100000010011010000000000000001111000001... \n", "344537 0000010100000010011010000000000000001111000001... \n", "344614 0000010100000011011010000000000000001111000001... \n", "345260 0000010100000010011010000000100000001111000001... \n", "367901 0000010100000000011000000000000000001111000001... \n", "373131 0000010100000000011000000000001000001111000001... \n", "373880 0000010100000000011000000000000000001111000001... \n", "388490 0000010100000000011000000000000000001111000001... \n", "389190 0000010100000010011010000000000000001111000001... " ] }, "execution_count": 531, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vcfDf[m_binary]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }