使用pysam读取DNA序列
先创建一个读对象:
fasta_open = pysam.Fastafile(fasta_file)
读出来的DNA序列是字符串的格式:
seq_dna = fasta_open.fetch('chr1', 0, 100)
# output:'NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN'
将序列转为one-hot编码:
'''
A: [1, 0, 0, 0]
C: [0, 1, 0, 0]
G: [0, 0, 1, 0]
T: [0, 0, 0, 1]
'''seq_1hot = dna_1hot(seq_dna, n_uniform=False, n_sample=False).astype('float32')'''
output:
array([[1., 0., 0., 0.],[1., 0., 0., 0.],[1., 0., 0., 0.],[0., 0., 0., 1.],[0., 1., 0., 0.],[0., 0., 1., 0.]], dtype=float32)
'''
def dna_1hot(seq, seq_len=None, n_uniform=False, n_sample=False):""" dna_1hotArgs:seq: nucleotide sequence.seq_len: length to extend/trim sequences to.n_uniform: represent N's as 0.25, forcing float16,n_sample: sample ACGT for NReturns:seq_code: length by nucleotides array representation."""if seq_len is None:seq_len = len(seq)seq_start = 0else:if seq_len <= len(seq):# trim the sequenceseq_trim = (len(seq) - seq_len) // 2seq = seq[seq_trim:seq_trim + seq_len]seq_start = 0else:seq_start = (seq_len - len(seq)) // 2seq = seq.upper()# map nt's to a matrix len(seq)x4 of 0's and 1's.if n_uniform:seq_code = np.zeros((seq_len, 4), dtype='float16')else:seq_code = np.zeros((seq_len, 4), dtype='bool')for i in range(seq_len):if i >= seq_start and i - seq_start < len(seq):nt = seq[i - seq_start]if nt == 'A':seq_code[i, 0] = 1elif nt == 'C':seq_code[i, 1] = 1elif nt == 'G':seq_code[i, 2] = 1elif nt == 'T':seq_code[i, 3] = 1else:if n_uniform:seq_code[i, :] = 0.25elif n_sample:ni = random.randint(0,3)seq_code[i, ni] = 1return seq_code
使用pysam读取DNA序列相关推荐
- c语言dnakmer序列,全新DNA序列的Kmerindex问题.doc
数学建模论文 题目: DNA序列的k-mer index问题分析 队长姓名:陈智添 学院:数学与信息学院 联系方法队员姓名:方宇靖 学院:数学与信息学院 联系方法队员姓名:张 航 学院:数学与信息学院 ...
- DNA序列存储为tfr文件并读取
最近导师让我跑模型,生物信息方向的,我一个学计算机的,好多东西都看不明白.现在的方向大致是,用深度学习的模型预测病毒感染人类的风险. 既然是病毒,就需要拿到它的DNA,也就是碱基序列,然后把这些ACG ...
- 数学建模_国2000A——DNA序列问题中的数据处理
2000年A题 DNA序列 中的数据处理 具体针对的是题目数据中的Nat-model-data.txt,数据量较大,我不贴了,放个链接感受下.link 那么如何进行数据处理才能让这个数据为我们所用呢? ...
- numpy序列预处理dna序列_合成生物学快讯2019年第12期:基于DNA的分子数字数据存储...
本文由中国科学院上海生命科学信息中心 战略情报团队供稿 基于DNA的分子数字数据存储:现状与挑战 编者按:美国华盛顿大学和微软研究院的研究人员2019年8月在Nature杂志发文,对基于DNA的分子数 ...
- numpy序列预处理dna序列_使用机器学习和Python揭开DNA测序神秘面纱
"脱氧核糖核酸(DNA)是一种分子,其中包含每个物种独特的生物学指令.DNA及其包含的说明在繁殖过程中从成年生物传给其后代." 简介 基因组是生物体中DNA的完整集合.所有生物物种 ...
- 利用python处理dna序列_Python + 生物信息 02 :Biopython 分析序列
Biopython 做序列分析 一.安装Biopython:如果环境已经有Biopython可以跳过这一步.这里有两种安装方案,一种通过pip快速安装,另一种通过安装包安装 1. 用pip安装Biop ...
- Python在生物学领域的简单应用——处理DNA序列
DNA的反向互补序列 假设我们有一串DNA序列,存在一个名为"dna.txt"的文本文档中.那么,我们该如何用Python输出它的反向序列.互补序列以及反向互补序列呢? 在 ...
- C#,生信软件实践(01)——DNA序列数据库FASTA文件合并工具的源代码
1 生物信息学简介 生物信息学(BioInformatics)是研究生物信息的采集.处理.存储.传播,分析和解释等各方面的学科,也是随着生命科学和计算机科学的迅猛发展,生命科学和计算机科学相结合形成的 ...
- matlab提取DNA序列
班里一同学做毕业设计,要将从网下载的DNA序列文件进行提取,把里面的外显子提取并保存成单独文件,下载下来的文件就是一个网页的文本内容,她竟然就按上面的标示,一个一个查找,复制,新建,粘贴,重命名.女生 ...
最新文章
- [模拟]纺车的轮子 Spinning Wheels
- Android studio Dialog 弹出式对话框
- JAVA之旅(八)——多态的体现,前提,好处,应用,转型,instanceof,多态中成员变量的特点,多态的案例...
- python 三步问题
- 推荐 15 款常用开发工具
- android listview 中的checkbox,Android中ListView与CheckBox的使用,及问题解决
- 第八次ScrumMeeting博客
- CentOS 7安装和部署Docker
- AdjacentHTML/innerHTML/innerText
- 腾讯竟然是这样存储你的数据的!!!
- [转载] python win32api 使用小技巧
- 因果和阴阳,哪个更根本?
- H3C交换机常用配置命令
- linux扫描仪如何使用方法,怎样在linux下设置和使用扫描仪.doc
- html5版微博qq登录,QQ和新浪微博登陆第三方的简单实现
- 华为C语言的编程规范
- cannot set options after executing query
- JS制作一个简单的网页倒计时器
- websocket握手失败_WebSocket通信之握手协议
- Web安全之认证机制
热门文章
- Keras学习| ImageDataGenerator的参数
- 华为与H3C的前世今生-昊群计算机
- 用数学课件制作工具演示三棱锥的三视图
- 雷军:认知和思考最好的体现是面向未来的行动
- 第十三周 任务三
- net start mysql报错:发生系统错误 5。拒绝访问。
- HTML外边框塌陷什么意思,你不知道的CSS(边框塌陷)?
- 破解WIFI密码的最简单方法
- linux分区方案 1t,linux CentOS WEB服务器分区方案
- 计算机类课程嵌入式系统的特点及其应用,嵌入式系统的准确定义、特点及其重要性...