随笔分类 - Python编程
摘要:生信人员基本都是半路出家的野路子,大多没有系统学习过IT知识,只是在终端运行一些简单命令。而IT人员往往不懂生物、不懂统计、也不懂生信,因此要开发生物领域的系统和平台往往需要双方通力合作完成。 假设问题 假设你是生信人员,有一个命令行是:vcftools --vcf input.vcf --max-
阅读全文
摘要:CherryPy 是一个用于构建 Web 应用的微框架。它通过简洁的 API 和强大的功能,使开发者能够快速创建高性能的 Web 应用。在生物信息开发中,数据库搭建和模型部署等场景可能会用到,因此记录下。 学习资源 官方文档:https://docs.cherrypy.dev/en/latest/
阅读全文
摘要:作物模型提出很早,但应用有限。看起来复杂,其实解决的是环境与表型间的关联,可参考前期推文:作物生长模型CropGrow。环境组的复杂,关键在于数据的准确性获取。对于数据分析人员来说,如果不care数据准确性,分析其实很简单的,就是经典的机器学习流程。 这里提供一段伪代码仅供参考。 1. 导库 imp
阅读全文
摘要:目录问题解决 问题 Python通过pip安装PyVCF成功,但运行脚本时出现问题: File "/home/theo/anaconda3/lib/python3.9/site-packages/vcftoolz/vcftoolz.py", line 19, in <module> import v
阅读全文
摘要:折腾 数据分析用惯了R,感觉pandas用起来就有点反人类了。今天用python的pandas处理数据时两个数据框硬是合并不起来。 我有两个数据框,列名是未知的,只能知道索引,以及哪两个索引是用做主键合并的。(别问我为啥列名未知,因为我是开发工具)。 思路是这样的,找到主键列,重命名,再合并。 df
阅读全文
摘要:需求 要写一个接口,同时支持压缩和未压缩文件读入 示例代码 笨办法 import os import gzip filename = sys.argv[1] if not filename.endswith('.gz'): with open(filename, 'r') as infile: fo
阅读全文
摘要:python写流程控制的时候,有时需要等待运行结果完成才能进行下一步。有几个想法: 一是反复循环判断直到生成结果文件(且文件中有预期结果),低效易出错; 二是用subprocess模块来判断进程结果,较为常用; 三是用drmaa包,功能强大,但使用相对复杂。 这次介绍如何用subprocess来实现
阅读全文
摘要:说明 最近在用Python的join函数连接多个列表时,出现了如下两个错误,即合并类型不一致。折腾了很久才找到原因,真是基础不牢,地动山摇。 TypeError: sequence item 3: expected str instance, int found 或 TypeError: can o
阅读全文
摘要:虽然接触了好几年python,但一些细节没有注意。最近看网课,看到这个Windows系统下Python多版本管理的问题,记录下备忘。 假设现在windows环境中有python2,python3和anaconda三个python不同的版本,如何高效随意调用我们想要的那个Python呢? 我理解的环境
阅读全文
摘要:安装pysam时报错: 指定版本仍报错: 使用pysam-win安装: 但是import时不行: 貌似pysam在windows下难以正常配置,还是在Linux中用吧。 https://www.jianshu.com/p/0a6eaed4d5e5
阅读全文
摘要:搭建流程时,我们把各个模块脚本都写好了,现在通过编写主程序将模块串起来,那么怎么样依次(或者并行)将任务自动投递到集群呢?就是说这一步运行完之后,下一步自动运行。我们当然可以在脚本中设一个标志,反复检查这一个标志是否出现来决定是否运行下一步,但这种方法太原始,太多弊端了,耗内存,无法并行,且不可预料
阅读全文
摘要:通常,比对NR库后为m8格式,通过NR和GO数据库对应关系文件,写代码整理为Gene——>GO文件,如下: 这里是一对一的关系,要转换为WEGO格式文件,即一对多关系,如下: 用python脚本处理代码示例如下: #! /usr/bin/env python import optargs impor
阅读全文
摘要:列表解析式的好处: 代码简洁 可读性强 运行快 示例 来自《Python编程》中的一个例子:同时投掷两颗面数不同的骰子(如一个6面的D6和一个10面的D10)n次,统计两个骰子点数之和,并用Pygal绘制bar图,进行交互可视化。 不用列表解析 对以上循环都改用列表解析 可视化结果
阅读全文
摘要:背景 Kmer是基因组组装算法中经常接触到的概念,简单来说, Kmer就是长度为k的核苷酸序列 。一般长短为m的reads可以分成 m k+1 个Kmer。Kmer的长度和阈值直接影响到组装的效果。 Denovo组装流程: 。 组装测序策略:根据基因组大小和具体情况选择个大概的k值,构建contig
阅读全文
摘要:编码 解析 Python assert(断言)用于判断一个表达式,在表达式条件为 False 的时候触发异常。 断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况。 Ref: "https://www.runoob.com/python3/python3 asser
阅读全文
摘要:三联密码表 测试 结果 MFGDAT_R
阅读全文
摘要:概念 双核苷酸由任意2个碱基组成 测试1 测试2 结果 AA AT AC TG
阅读全文
摘要:题目: 随便给定一条序列,如果GC含量超过65%,则认为高。 编程: 测试 解析 Python提供了__future__模块,把下一个新版本的特性导入到当前版本,于是我们就可以在当前版本中测试一些新版本的特性。 主要解决python2版本中和python3不同的一些问题,如print、整数除法、wi
阅读全文
摘要:输入 input.txt 编码 输出 trimmed.txt
阅读全文
摘要:已知 genomic_dna.txt exons.txt 编码 结果 coding_sequence.txt
阅读全文