HGVS表示法中的突变相互转换
使用Ensembl variant_recoder的方法需要一定的转换时间,因此这次让我们使用biocommons / hgvs转换突变描述
使用Docker重新工作
由于使用hgvs需要Python 3.6或更高版本,因此请使用python作为docker映像(在编写本文时为Python 3.7.2)
下载python图像
1 2 | $ docker pull python $ docker run -it python /bin/bash |
工作程序
这项工作在python容器内完成
主要程序如下
-
在Docker内部构建hgvs操作环境
- hgvs安装
- seqrepo的安装
- 下载Fasta阵列和数据库
1 2 3 4 5 6 7 | $ pip install hgvs $ apt update $ apt upgrade -y $ apt install -y tabix rsync $ pip install seqrepo $ mkdir /usr/local/share/seqrepo $ seqrepo pull |
下载后seqrepo 2018-11-26的大小约为11GB
1 2 | $ du -sh /usr/local/share/seqrepo 11G /usr/local/share/seqrepo |
检查下载的数据
1 2 | $ ls -d /usr/local/share/seqrepo/* /usr/local/share/seqrepo/2018-11-26 |
记下该目录,因为稍后启动docker容器时将需要它
创建Docker映像
将到目前为止已执行的docker容器保存为图像
分离docker容器的按键
按Ctrl p Ctrl q
光标返回到主机,因此请检查容器的当前状态
1 2 3 | $ docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c9342540d9b5 python "/bin/bash" 23 hours ago Up 23 hours modest_wilson |
请注意,
是不同的
已在
以上确认停止容器
1 | $ docker stop c93 |
在
所需的最小长度。
使用停止的docker容器创建docker映像的
在此处获得的
由于seqrepo
的大小,图像创建需要时间
1 | $ docker commit c93 hgvs:1.2.5.post1 |
1 2 3 | $ docker images hgvs REPOSITORY TAG IMAGE ID CREATED SIZE hgvs 1.2.5.post1 b82d7412ceeb 15 minutes ago 12.4GB |
创建了一个大容量12.4GB的容器
使用hgvs
到目前为止,您已经准备好了所有步骤,现在让我们使用hgvs将cdna序列中的突变转换为基因组上的突变。
在当前目录
中准备以下程序
convert_ctog.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #!/usr/local/bin/python3 import sys from hgvs import parser, variantmapper, assemblymapper from hgvs.dataproviders import uta target = 'NM_000603.4:c.894T>G' if len(sys.argv) > 1: target = sys.argv[1] #Set uta hdp = uta.connect() #prepare hgvs parser parser = parser.Parser() variant = parser.parse_hgvs_variant(target) print(variant) # prepare human genome mapper mapper_grch37 = assemblymapper.AssemblyMapper(hdp, assembly_name='GRCh37', alt_aln_method='splign') # map to genome mapped = mapper_grch37.c_to_g(variant) print(mapped) |
命令的用法如下
1 2 3 4 5 6 7 8 | docker run -it \ -u "$(id -u):$(id -g)" \ -e HGVS_SEQREPO_DIR="seqrepoでダウンロードしたデータ及びシーケンスのディレクトリ" \ -e UTA_DB_URL="UTAのpostgres SQLサーバーの接続先" \ -v ${PWD}:/work \ --workdir /work \ hgvs:1.2.5.post1 \ ./convert_ctog.py |
从
1 2 3 4 5 6 7 8 9 10 | $ docker run -it \ -u "$(id -u):$(id -g)" \ -e HGVS_SEQREPO_DIR="/usr/local/share/seqrepo/2018-11-26" \ -e UTA_DB_URL="postgresql://anonymous:[email protected]/uta/uta_20180821" \ -v ${PWD}:/work \ --workdir /work \ hgvs:1.2.5.post1 ./convert_ctog.py `NM_000603.4:c.894T>G` NM_000603.4:c.894T>G NC_000007.13:g.150696111T>G Closing connection; future mapping and validation will fail. |
使用您先前为
对于UTA_DB_URL,设置最新的UTA(通用记录存档)
检查dl.biocommons.org,而uta_20180821是最新的
UTA_DB_URL =" postgresql://匿名:[email protected]/uta/uta_20180821"
您还可以在
'NM_182763.2:c.688 403C