跟着Nature ecology and evolution学python:vcf文件转换成fasta文件

分享
藏宝库编辑 2024-9-26 19:56:28 125 0 来自 中国
论文

A polar bear paleogenome reveals extensive ancient gene flow from polar bears into brown bears
https://www.nature.com/articles/s41559-022-01753-8
当地pdf文件
A polar bear paleogenome reveals extensive ancient gene flow from polar bears into brown bears.pdf
代码

https://github.com/PopGenomics-WMS/Bruno_aDNA_analysis
https://github.com/PopGenomics-WMS/Bruno_aDNA_analysis/blob/main/06.mtDNA_nuc_Phylogeny/vcf2fasta.sjf.py
这个脚本用到了 Pool python多线程处理处罚,重要学习这个内容
遇到的问题一

假如是在windows体系下运行脚本
python vcf2fasta.sjf.py -v new.vcf -op abc -nt 4abc是一个文件夹,必要在当前目次下存在
这里会遇到报错NameError: name 'dict_run' is not defined 这里的dict_run是使用global界说到函数里的一个变量,linux体系下就没有这个问题,windows学习通下的python是3.8.3,linux体系下的python版本是3.9.1
遇到的问题二

使用脚本的时间linux体系下不知道为啥用tab键不能补全文件名,暂时不知道是什么缘故原由
遇到的问题三

脚本里界说了每种基因型对应的碱基序列
这里非纯合的位点界说为M R W这些是为啥,暂时想不明白
这个脚本有范围是,他界说了vcf文件的基因型
假如vcf文件的基因型不是这些的话就会报错keyError
python多线程的一个简单小例子

from multiprocessing import Pooldef make_new_file(filename):    with open(filename,'w') as fw:        fw.write('xiaoming')        def abc():    aa = ['aaa.txt','bbb.txt','ddd.txt','eee.txt']    with Pool(3) as p:        p.map(make_new_file,aa)        p.close()        p.join()    if __name__ == '__main__':    abc()    print("ABCD")这里Pool这个函数好像是必须搭配if __name__ == '__main__':这个语句
参考链接 https://docs.python.org/3/library/multiprocessing.html
接待各人关注我的公众号
小明的数据分析条记本
小明的数据分析条记本 公众号 重要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相干转录组学、基因组学、群体遗传学文献阅读条记;3、生物信息学入门学习资料及自己的学习条记!
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2025-3-10 07:08, Processed in 0.175457 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表