2022总结
2022年的最后一天。
2022年,工作上,了解了一些项目的细节,需要考虑的问题也更多了。以前很多项目是做完获得结果就算了,现在需要理清楚这个结果是怎么来的,每一步怎么质控。今年博客和github都明显的更新的更加低频了。以前真的做乙方做的多,现在更多的时候是甲方,怼人真爽。个人思想非常躺平,一直没察觉自己已经年近30,依然一事无成,需要开始思考其他的事。
个人生活上,也就那样吧。
2021年底说预计今年会背上房贷,倒是成了,但是大环境都说2022年是最最不要上车的一年(太惨了)。而且我还是在高位上车,背着差不多到6的房贷利率,再再而且房企还是暴雷企业之一,延期交付已经是板上钉钉的事,还是比较难受的,就是希望不要烂尾了,2023年一切顺利。
2022年还真是电子阳痿的一年,基本...
python自动导出腾讯文档excel表格
主要思路是通过playwright这种自动测试框架去点击腾讯文档中的excel导出。需要先装好playwright。
保存cookies
一些文档是需要登录后才能导出的,这里可使用playwright录制登录的部分,并把cookies进行导出,然后后续使用时通过导入cookies来保持登录状态,预计一段时间会失效,因此需要一段时间就进行一次这个操作,更新cookies。
playwright codegen -o login.py https://xxx.com --save-storage loginCookies
使用以上命令,进入腾讯文档进行登录,最好勾选保持登录等,最后登录状态就会保存到loginCookies文件中。
打开文档并导出
以下代码是打开对应excel...
SMA分析初探
SMA(Spinal Muscular Atrophy)脊髓性肌萎缩症是一种常见神经肌肉疾病,在儿童期发病率仅次于DMD。致病基因在人群中携带率约为1:40~1:60。
主要需要分析SMN1基因exon7的缺失(大部分会合并exon8缺失),难点在于SMN1与SMN2基因高度同源,SMN2会影响SMN1的拷贝数分析,因此需要把SMN1与SMN2分开。
检测方法有MLPA、longPCR和巢式PCR,以及本次需探究的NGS方法。
比例位点
根据专家共识,建议用于区分SMN1与SMN2的位点是位于exon7的c.840C>T和位于exon8的c.*239G>A。
先来看看这两个点是怎么挑出来的。
hg19上SMN1是chr5:70220768-70248838,SM...
NIPT麻木再来一遍
前文再续,书接上回。
重新梳理一遍NIPT的分析方法。
QC
直接使用fastp对原始数据进行质控,原始数据是SE50。
fastp -i sample.fastq.gz -o sample.clean.fq.gz -w 16 -j sample.json -h sample.html
比对
这一步有用bwa mem、bwa aln和bowtie2的,差异不是很大。但是,使用的参考基因组会有影响,例如使用hs37d5比ucsc.hg19稍好,因为hs37d5会预先mask掉PAR区域。比对完后要去重。
bwa mem -t 32 hs37d5.fa sample.clean.fq.gz | samtools view -bSh - | samtools sort -@ 32 ...
还好,这次没被封
离爬取各种数据库已经差不多一年,又要更新一下了。以前爬omim数据库的时候,都会使用代理IP啥的,避免被封。但是最近学习了新的爬取姿势,目前运行了好几天了,还没被封IP,应该是目前体验较好的爬虫方式。
我将爬虫脚本全部从selenium或requests改为了playwright。基本就是在模拟真实浏览器访问上越走越远。
使用selenium和playwright最大的特征是会被认为是webdriver,当网站识别是webdriver时,就会知道是爬虫。因此,这里有个解决方案(例子是selenium)是注入这段js来将webdriver值改为undefined。
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocume...
MC3数据集TMB浅度分析
数据获取
TCGA的MC3数据集包含了33个癌种的体细胞突变,在分析TMB时,可以使用MC3数据集的数据进行验证。
在这个公开页面中下载MC3的数据,没有权限只能下载Open-Access的mc3.v0.2.8.PUBLIC.maf.gz。同时下载bed文件,下载样本信息文件。
初步整理
下载下来的数据解压后是maf文件,可以使用maftools进行分析,为了适用于自己的流程,这里使用maf2vcf将其转换回vcf格式。(这里maf2vcf是会直接将maf文件拆分回多个vcf文件的,但是我感觉有点慢,因此自行先将maf根据样本名拆分成了多个小maf,再使用maf2vcf来转换到vcf了,这样方便使用多个线程)。
perl maf2vcf.pl --input-maf mc3.v...
pipenv环境打包python程序
用pyinstaller打包python脚本后发现巨大,然后查了下可以用pipenv重新建立环境后再打包。
首先是安装pipenv
pip install --user pipenv
安装完成后,在项目路径下,使用pipenv建立一个虚拟环境,安装pyinstaller
pipenv shell
这时会在目录下生成Pipfile及Pipfile.lock文件
然后再安装pyinstaller及自编脚本的其他依赖包
pip install pyinstaller
pip install pandas
pip install openpyxl
pip install pysimplegui
最后在这个环境对脚本进行打包
pyinstaller -F -w test.py
共计 247 篇文章,31 页。