python安裝vcf庫,vc調用python

本文目錄一覽:

跟著Nature ecology and evolution學python:vcf文件轉換成fasta文件

本地pdf文件

A polar bear paleogenome reveals extensive ancient gene flow from polar bears into brown bears.pdf

這個腳本用到了 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__’: 這個語句

參考鏈接

小明的數據分析筆記本

基於vcf文件構建進化樹

===========第一種方法利用VCF2Dis生成距離矩陣===================

VCF2Dis -i all.chromosome.SNP.changID.vcf -o p_dis.mat  //我大概600多份樣品,也運行了3天左右

然後利用fastme轉化成為樹的格式(nwk)(鏈接:)

轉化為newick格式

我個人喜歡iTol()來調整樣式

==================第二種方法 轉化vcf文件為phylip 格式==========

python vcf2phylip.py –input myfile.vcf –fasta –nexus 

然後,利用phylip構建進化樹

phylip 在命令行中可以根據提示輸入參數,也可以用含有參數的文本導入參數。

利用 dnadist:計算距離矩陣,最耗時,幾千個SNP可能需要1天甚至數天。 參數文本dnadist.par //有點耗時間

$ cat dnadist.par

myfile.vcf.phy

2 #將軟體運行情況顯示出來

Y #確認以上設定的參數

$ dnadist dnadist.par

$ mv outfile dnadist.out

生成距離矩陣,然後利用neighbor: Neighbor-Joining 構建進化樹

我最好還是在iTOL裡面進行樣式調整

python如何讀取xml中的list表,並將其轉換成如下VCF格式輸出?請給出具體程序,編譯成功給分

1.可以使用ElementTree模塊

from xml.etree.ElementTree import ElementTree

from xml.etree.ElementTree import Element

from xml.etree.ElementTree import SubElement

from xml.etree.ElementTree import dump

from xml.etree.ElementTree import Comment

from xml.etree.ElementTree import tostring

2.可以使用BeautifulSoup模塊

生物數據格式 – vcf/bcf

VCF是Variant Call Format的簡稱,該格式文件是專門用於存儲基因序列突變信息的一種文本文件,包括單鹼基突變SNV、單核苷酸多態性SNP、InDel、拷貝數變異CNV和結構變異SV等,文件可以採取editplus或pilotedit(建議)打開查看,其二進位存儲格式是BCF。vcf文件後續可以用於多種分析,包括但不限於:進化樹分析、群體結構分析、PCA分析、GWAS關聯分析等。vcf文件格式如下:

VCF文件開頭是整體的注釋信息,以##作為起始,其後接FILTER、INFO、FORMAT等,其中##FILTER開頭的行是vcf主體record中第七列縮寫詞的說明、##INFO開頭的行注釋vcf主體record中第8列的縮寫字母、##FORMAT開頭的行注釋第九列的縮寫字母。

在header之後,vcf主體的每一行是一條record,固定列有9列,以及在之後的第十列,它們分別是:

第一列:#CHROM,染色體號

第二列:POS,在染色體上的位置

第三列:ID,突變名稱,一般只有人類才有dbSNP編號,以rs開頭

第四列:REF,參考基因組鹼基類型,必須大寫

第五列:ALT,變異鹼基類型,大寫,多個以逗號分隔,『.’表示缺失

第六列:QUAL,變異檢測質量值,越高越可靠

第七列:FILTER,標記過濾結果的列:通過質控過濾標準的標記為『PASS』,後續可用其他工具進行挑選過濾

第八列:INFO,附加信息列,附加信息的注釋在header的##INFO中

第九列:FORMAT,後面信息的說明列

第十列開始為樣品信息:GT=genotype、AD=鹼基支持數量、DP=測序深度總和、PL=歸一化後基因型的可能性、GQ=PL判讀的基因型的質量值,其中當第二小的值小於99時,有必要懷疑基因型的可靠性。

vcf文件基本由bam文件生成,當得到排序並建立索引的bam文件後,可以使用多種工具例如bcftools、gatk、freebayes、lumpy、delly、varscan2等處理得到。

處理vcf格式文件的軟體有許多種,包括:bcftools、vcftools、gatk、python_pyvcf、plink等。

———以上屬個人理解與記錄

將多個樣本的vcf文件轉化為Phylip輸入格式的python腳本

但是phylip又不能直接把vcf文件作為輸入文件,它的輸入格式要求如下

第一行的兩個數字分別為樣本數和SNP數目

第二行的第一列為物種名稱,一定要是10個字元的長度,長度不足可以用空格填充.第二列則是要用於比對的SNP序列。兩列之間沒有分隔符,而且後面的SNP每10個字元有一個空格.

python腳本如下:

可以選擇輸出fasta文件或者phy文件

怎麼讀取千人基因組中的vcf數據格式文件

(看到這個問題是近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的說明文檔,有操作示例:網頁鏈接

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/279847.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-20 15:05
下一篇 2024-12-20 15:05

相關推薦

  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29

發表回復

登錄後才能評論