(看到这个问题是近3年前的,提问者应该早就知道了,但好像没有正确的回答,就在这里回答一下希望对别的搜索的问题的人有帮助)
既然知道vcf文件,就默认你是在linux系统下 *** 作的。
1)只是查看的话:如果是.vcf.gz压缩格式,就使用这个命令:less <yourfile>.vcf.gz,打开乱码试试这个:bcftools view <yourfile>.vcf.gz |less ;如果不是压缩格式: less <yourfile>.vcf就可以查看。
2)如果是要 *** 作vcf的话:就用python,导入pysam模块,没有这个模块要下载。pysam模块下载:pip install pysam,如果下不了就自己网上搜一下。顺便提供一个pysam的说明文档,有 *** 作示例:网页链接具体 *** 作步骤如下:(一)VCFEdito1.双击运行VCF通讯录编辑器软件,点击文件菜单中的打开命令。2.d出打开通讯录文件的对话框,打开通讯录文件的位置,单击确定按钮。3.再单击文件菜单中的以明码另存通讯录为。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系统下运行脚本
abc是一个文件夹,需要在当前目录下存在
这里会遇到报错 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
这里Pool这个函数好像是必须搭配 if __name__ == '__main__': 这个语句
参考链接 https://docs.python.org/3/library/multiprocessing.html
小明的数据分析笔记本
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)