使用NumPy进行遗传学
项目描述
gumpy
使用NumPy进行遗传学
安装
git clone https://github.com/oxfordmmm/gumpy
cd gumpy
pip install .
文档
https://oxfordmmm.github.io/gumpy/
测试
可以从终端运行一系列测试
python -m pytest --cov=gumpy -vv
用法
解析genbank文件
可以通过传递genbank文件的文件名来创建基因组对象
from gumpy import Genome
g = Genome("filename.gbk")
解析VCF文件
可以通过传递vcf文件的文件名来创建VCFFile对象
from gumpy import VCFFile
vcf = VCFFile("filename.vcf")
将VCF文件应用于参考基因组
可以将vcf文件中定义的突变应用于参考基因组,以生成一个包含vcf中详细更改的新基因组对象
如果vcf中设置了contig,则contig的长度应与基因组的长度匹配。否则,如果vcf详细信息在基因组范围内更改,将进行更改。
from gumpy import Genome, VCFFile
reference_genome = Genome("reference.gbk")
vcf = VCFFile("filename.vcf")
resultant_genome = reference_genome + vcf
基因组级别比较
有两种不同的方法用于比较更改。可以快速检查由给定VCF文件引起的更改。另一种可以检查两个基因组之间的更改。因此,后者最适合在两个基因组都发生突变或VCF文件不可用的情况下的比较。前者最适合在需要确定由VCF引起的更改,但找到基因级别差异需要重建基因对象,这可能很耗时的情况。
比较基因组
可以轻松比较相同长度的两个基因组,包括两个之间的相等性和更改。最适合比较两个突变基因组的情况。
from gumpy import Genome, GenomeDifference
g1 = Genome("filename1.gbk")
g2 = Genome("filename2.gbk")
diff = g2 - g1 #Genome.difference returns a GenomeDifference object
print(diff.snp_distance) #SNP distance between the two genomes
print(diff.variants) #Array of variants (SNPs/INDELs) of the differences between g2 and g1
基因水平比较
当创建基因组对象时,它会用genbank文件中详细描述的每个基因的基因对象填充。这些基因也可以进行比较。可以通过直接比较基因对象或通过使用GenomeDifference
的gene_differences()
方法系统地进行基因差异的查找。
from gumpy import Genome, Gene
g1 = Genome("filename1.gbk")
g2 = Genome("filename2.gbk")
#Get the Gene objects for the gene "gene1_name" from both Genomes
g1_gene1 = g1.build_gene["gene1_name"]
g2_gene1 = g2.build_gene["gene1_name"]
g1_gene1 == g2_gene1 #Equality check of the two genes
diff= g1_gene1 - g2_gene1 #Returns a GeneDifference object
diff.mutations #List of mutations in GARC describing the variation between the two genes
保存和加载基因组对象
由于创建基因组对象需要很长时间,将其保存到磁盘可能是有益的。建议使用pickle
模块来完成此操作,但鉴于其安全性影响,请在自己的风险下进行!以下是一个示例
import pickle
import gumpy
#Load genome
g = gumpy.Genome("filename.gbk")
#Save genome
pickle.dump(g, open("filename.pkl", "wb"))
#Load genome
g2 = pickle.load(open("filename.pkl", "rb"))
g == g2 #True
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
gumpy-1.3.8.tar.gz (47.4 kB 查看哈希)
构建分布
gumpy-1.3.8-py3-none-any.whl (49.1 kB 查看哈希)
关闭
gumpy-1.3.8.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cab7f7af29d62a1d40b51ccdb2d180433e8fd998020191dff5ea81fb0ec7f189 |
|
MD5 | 1705e1ee78389e2ef57f0f164007b73c |
|
BLAKE2b-256 | 7228269f48fddf2c231a3b9504f8407dd6728aaebef5dea7425fbc3fc623290c |
关闭
gumpy-1.3.8-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2de1cb9a2bb18c1880cd0621828d48ec76e75922d60c14a367f83724140075c3 |
|
MD5 | 09f692dc878cf11eae91728985d1cc3f |
|
BLAKE2b-256 | e716fdc182ceb1a107565ac8ba8e67c020c2a3dd6eb535785b3e027eb687ae5c |