这不是教程,而是我的随笔✏️
自从前年刚入职的时候猛干 7 天 Flask 开发之后,我就感觉 Flask 做后端还马马虎虎,做前端实在是在笨重了。所以萌生了上框架的想法。早在 2017 年时我就曾经尝试看 Vue 教程,结果因为看不懂放弃了,有点可惜。去年开始开发新项目时,知道这个项目负责,不上框架很可能搞不定。于是硬着头皮学习 Vue3,配个 ChatGPT 的帮助,终于搞定了。
这不是教程,而是我的随笔✏️
自从前年刚入职的时候猛干 7 天 Flask 开发之后,我就感觉 Flask 做后端还马马虎虎,做前端实在是在笨重了。所以萌生了上框架的想法。早在 2017 年时我就曾经尝试看 Vue 教程,结果因为看不懂放弃了,有点可惜。去年开始开发新项目时,知道这个项目负责,不上框架很可能搞不定。于是硬着头皮学习 Vue3,配个 ChatGPT 的帮助,终于搞定了。
这不是教程,而是我的随笔✏️
以前,做普通计算时用 Perl,开发数据库网页后台却用 PHP,然后前端还要用 JavaScript,简直要把人折腾死。后来普通计算从 Perl 转到 Python,发现 Python 有个工具叫做 Flask 可以代替 PHP 作为网页后台,那就方便了,能省用一种语言。
第一个 Flask 开发的工具是 2019 年刚开始学 Python 时开发的一个 Pipeline,不涉及数据库查询,只是接收输入、后台计算,得到结果,页面只有一个,比较简单。
GTF虽然比较古老,但确实有些软件(即使是最近的,例如SQANTI)会用到。转换的方法可能有各种各样,下面给出我实践过可行的方法:
gffread old.gff3 -E -F -T -o new.gtf
# -F preserve all GFF attributes (for non-exon features)
# -E show all warnings
gffread old.gtf -E -F --keep-genes -o new.gff3
可能有人会问GFF3转成GTF为什么不用gt gff3_to_gtf
?主要问题在于这样子会把ID编号全部丢掉(我手头上的v1.5.8),所以不用了。
PharmGKB有一个隐藏得很深的基因下载页面,在这里可以下载获得各种excel格式的Haploid定义表、功能表、频率表等。
URL是:https://www.pharmgkb.org/page/cyp2a6RefMaterials,把其中的cyp2a6替换成自己要的基因即可。
全部的基因列表是:https://www.pharmgkb.org/page/pgxGeneRef
最近(2020年以来),Aspera(ascp)无法从NCBI下载SRA了,但是可以用ENA下载。现在以(SRR10609482)为例,官方教程在此:
目前 Aspera(ascp)最新的是4.2.X版,但是它有个问题是不存在 .aspera/connect/etc/asperaweb_id_dsa.openssh
这个文件,所以需要找老版本。遗憾的是官网下载老版本需要注册登录账号,因此这里提供一个 URL 解析的结果,下载 3.11.2 版:
https://d3gcli72yxqn2z.cloudfront.net/connect/bin/ibm-aspera-connect-3.11.2.63-linux-g2.12-64.tar.gz
访问https://www.ebi.ac.uk/ena/browser/view/SRR10609482,获取准确链接如下:
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR106/082/SRR10609482/SRR10609482_1.fastq.gz
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR106/082/SRR10609482/SRR10609482_2.fastq.gz
可以看出中间出现了一个奇怪的三位数082。
很多情况下,人类参考基因组上的碱基是major allele。但也有相当多的情况下,它们是minor allele,有时甚至是rare allele。
BRCA2基因上有一个变异位点编号为rs169547,为非同义突变。全世界98%的人都是等位基因C,只有2%的人是等位基因T。
但是参考基因组上的等位基因是T(GRCh37和38都是),这纯属侥幸。