先创建一个读对象:

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序列相关推荐

  1. c语言dnakmer序列,全新DNA序列的Kmerindex问题.doc

    数学建模论文 题目: DNA序列的k-mer index问题分析 队长姓名:陈智添 学院:数学与信息学院 联系方法队员姓名:方宇靖 学院:数学与信息学院 联系方法队员姓名:张 航 学院:数学与信息学院 ...

  2. DNA序列存储为tfr文件并读取

    最近导师让我跑模型,生物信息方向的,我一个学计算机的,好多东西都看不明白.现在的方向大致是,用深度学习的模型预测病毒感染人类的风险. 既然是病毒,就需要拿到它的DNA,也就是碱基序列,然后把这些ACG ...

  3. 数学建模_国2000A——DNA序列问题中的数据处理

    2000年A题 DNA序列 中的数据处理 具体针对的是题目数据中的Nat-model-data.txt,数据量较大,我不贴了,放个链接感受下.link 那么如何进行数据处理才能让这个数据为我们所用呢? ...

  4. numpy序列预处理dna序列_合成生物学快讯2019年第12期:基于DNA的分子数字数据存储...

    本文由中国科学院上海生命科学信息中心 战略情报团队供稿 基于DNA的分子数字数据存储:现状与挑战 编者按:美国华盛顿大学和微软研究院的研究人员2019年8月在Nature杂志发文,对基于DNA的分子数 ...

  5. numpy序列预处理dna序列_使用机器学习和Python揭开DNA测序神秘面纱

    "脱氧核糖核酸(DNA)是一种分子,其中包含每个物种独特的生物学指令.DNA及其包含的说明在繁殖过程中从成年生物传给其后代." 简介 基因组是生物体中DNA的完整集合.所有生物物种 ...

  6. 利用python处理dna序列_Python + 生物信息 02 :Biopython 分析序列

    Biopython 做序列分析 一.安装Biopython:如果环境已经有Biopython可以跳过这一步.这里有两种安装方案,一种通过pip快速安装,另一种通过安装包安装 1. 用pip安装Biop ...

  7. Python在生物学领域的简单应用——处理DNA序列

    DNA的反向互补序列   假设我们有一串DNA序列,存在一个名为"dna.txt"的文本文档中.那么,我们该如何用Python输出它的反向序列.互补序列以及反向互补序列呢?   在 ...

  8. C#,生信软件实践(01)——DNA序列数据库FASTA文件合并工具的源代码

    1 生物信息学简介 生物信息学(BioInformatics)是研究生物信息的采集.处理.存储.传播,分析和解释等各方面的学科,也是随着生命科学和计算机科学的迅猛发展,生命科学和计算机科学相结合形成的 ...

  9. matlab提取DNA序列

    班里一同学做毕业设计,要将从网下载的DNA序列文件进行提取,把里面的外显子提取并保存成单独文件,下载下来的文件就是一个网页的文本内容,她竟然就按上面的标示,一个一个查找,复制,新建,粘贴,重命名.女生 ...

最新文章

  1. [模拟]纺车的轮子 Spinning Wheels
  2. Android studio Dialog 弹出式对话框
  3. JAVA之旅(八)——多态的体现,前提,好处,应用,转型,instanceof,多态中成员变量的特点,多态的案例...
  4. python 三步问题
  5. 推荐 15 款常用开发工具
  6. android listview 中的checkbox,Android中ListView与CheckBox的使用,及问题解决
  7. 第八次ScrumMeeting博客
  8. CentOS 7安装和部署Docker
  9. AdjacentHTML/innerHTML/innerText
  10. 腾讯竟然是这样存储你的数据的!!!
  11. [转载] python win32api 使用小技巧
  12. 因果和阴阳,哪个更根本?
  13. H3C交换机常用配置命令
  14. linux扫描仪如何使用方法,怎样在linux下设置和使用扫描仪.doc
  15. html5版微博qq登录,QQ和新浪微博登陆第三方的简单实现
  16. 华为C语言的编程规范
  17. cannot set options after executing query
  18. JS制作一个简单的网页倒计时器
  19. websocket握手失败_WebSocket通信之握手协议
  20. Web安全之认证机制

热门文章

  1. Keras学习| ImageDataGenerator的参数
  2. 华为与H3C的前世今生-昊群计算机
  3. 用数学课件制作工具演示三棱锥的三视图
  4. 雷军:认知和思考最好的体现是面向未来的行动
  5. 第十三周 任务三
  6. net start mysql报错:发生系统错误 5。拒绝访问。
  7. HTML外边框塌陷什么意思,你不知道的CSS(边框塌陷)?
  8. 破解WIFI密码的最简单方法
  9. linux分区方案 1t,linux CentOS WEB服务器分区方案
  10. 计算机类课程嵌入式系统的特点及其应用,嵌入式系统的准确定义、特点及其重要性...