- 博客(106)
- 收藏
- 关注
原创 C++ new calloc malloc
用法:malloc:开辟一块长度为size的连续内存空间void *malloc(unsigned int size);calloc: 开辟一块num个大小为size的连续空间,并将每块空间初始化为0void *calloc(size_t num,size_t size);需要注意的是1. 以上2个函数返回的都是void *类型,必须强制类型转换成对应的类型才可以,否则编译失败2. 如果是typedef struct{}xxx; 里含有string类型,则不能用call.
2021-11-18 18:12:04
619
原创 htslib/sam.h操作bam文件
以下的b类型是bam1_t *b;1. 取tag例如MI:MI:Z:1000004/A(pair reads可以区分pair AB或BA,1000004 ID可以知道是否是一条reads)uint8_t *s = bam_aux_get(b,"MI");char *t = (char *)s; //可以这样转换成//获取Aint len = strlen(t);t[len-1];//获取1000004int num = 0;for(int i = 0; s...
2021-11-18 17:55:04
378
原创 【基础】python-docx模板语言
以下只列出模板语言(即在word中应该怎么写),怎么用请看系列其他博客。1. 这种方式,可以是文字,也可以是图片,word是什么格式,替换填充到这里的也会是什么格式name跟变量一样,不可以是数字开头的,比如 “2name”{{name}}例如:2. richtext: 这种需要程序指定格式{{r name}}3. p可以是段落,也可以是表格{{p mysubdoc}}4. if (%后面的p是为了去掉if所占的行,不至于替换模板之后变...
2021-11-03 16:53:38
874
2
原创 aspose-words更新域/目录(页码不准确问题)
doc.updateFields();在使用上面这个方法更新word的目录或者生成pdf的时候会发现一些问题。问题1. word目录页码标错2. 页码跳转问题说明及解决问题1:aspose-words 对word进行更新域时,word的目录跟java保持一致,有时候会发现跟word自己的页码标的不一样,而pdf目录跟页码一致。word转pdf后,两者的页码不一致,这个原因可能是由于aspose-words的环境中没有word的字体,转换的时候用了pdf默认的字体,这样两..
2021-10-18 14:14:09
4674
5
原创 python X/Y轴缩放
需求参考官网:Scales — Matplotlib 3.4.3 documentation常规画图时,有时候对X轴或者Y轴,希望某个区域可以放大,某个区域可以缩小。方法:可以尝试ax.set_xscale()ax.set_yscale()目前已有的方法是:"linear", "log", "symlog", "logit"但是除了以上,还可以自定义函数实例:X轴范围0-100,希望一半区域是0-10,另外一半是10-100forward和inverse是比例转换及其..
2021-09-17 17:53:13
4176
原创 pyrange
官方文档:https://pyranges.readthedocs.io/en/latest/autoapi/pyranges/index.html持续更新中pyrange结构可以存储bed区域及其注释内容。需求:例如需要对2个bed文件区域取交集import pandas as pdimport pyranges as pr###需注意,intersect时,列名必须是'Chromosome','Start','End'bed1 = pd.read_csv(bed1_path
2021-08-12 18:20:23
367
原创 seaborn绘图
官方文档:https://www.cntofu.com/book/172/docs/43.md主要用到以下包import matplotlib.pyplot as pltimport seaborn as sns记性不好,每次画图都要重新看文档,总结一下,包括一些设置,会不断更新。一、柱状图数据格式如下breaks=["sam020","sam025","sam044"]values=[ "#666666","#009933", "#FF9933"]pal = dict
2021-08-10 15:07:22
742
2
原创 python--Venn图及upsetplot进阶
简介Venn图用来看几个集合相交的情况,通常下,2-4个集合看Venn图是比较直观的,但是集合数目再多就不适合了,需要引入另外一种图。venn3个from venn import vennmusicians = { "Members of The Beatles": {"Paul McCartney", "John Lennon", "George Harrison", "Ringo Starr"}, "Guitarists": {"John Lennon", "Ge
2021-05-08 18:09:04
3407
5
原创 不溢出求二项分布
二项分布的概念及计算方法n: n次独立重复的伯努利试验k: n次试验中事件A恰好发生K次p: 每次试验中事件A发生的概率P(X=k) 即为思路:ln可以将幂次方变成乘法; 乘除可以变成加减用加法替代幂次方,可以防止结果溢出...
2021-04-20 18:26:48
164
原创 htslib/sam.h--操作bed文件
一、介绍bed文件必有3个字段,以及9个可选字段。必有字段1. chrom:染色体2. start:起始位置3. end:终止位置需要注意的是,bed文件是0-base坐标系统,例如以下1 6484955 6485369表示的区间坐标实际上是 1号染色体的 [6484956,6485369) 区间其他可选字段目前没有接触过二、判断是否在bed区域比如想判断1:101是否在bed区域#include <htslib/tbx.h>#in...
2021-04-20 18:04:44
528
原创 PS-人脸
需要记住的快捷键:CTRL+j : 根据选中区域新建图层ALT+滚轮:放大缩小1. 五官以及脸型调整选中区域–滤镜–液化如果是人脸,会自动识别脸部区域,然后自己调整五官大小就好2. 皮肤瑕疵可以使用仿制图章工具去掉面部微小瑕疵,比如痘痘,痣等...
2021-03-08 10:57:56
259
原创 python-协程
说明如果python脚本,pipeline会有多个异步任务,并且同时允许多个pipeline运行时。1. 需要对同pipeline的多个任务进行状态监控,以方便多个任务顺序执行2. 查询任务状态时,多个pipeline都需要查询,不能开多个线程(服务器不一定能允许),这个时候就需要用到协程。子程序调用是通过栈实现的,一个线程就是执行一个子程序。协程看上去也是子程序,但执行过程中,在子程序内部可中断,然后转而执行别的子程序,在适当的时候再返回来接着执行。可以参考以下网站:使用生成器
2021-02-10 14:43:30
230
1
原创 python操作VCF文件
安装pip install PyVCF使用#如果有多个样本,可以这样访问,例如双样本,0为normal,1为tumorrecord.samples[0]对vcf进行筛选,并重新生成vcf切记用完一定要closeimport vcftumor_idx=1vcf_reader = vcf.Reader(open(filename1, 'r'))vcf_writer = vcf.Writer(open(filename2,'w'),vcf_reader)for r.
2021-02-04 18:52:27
4054
4
原创 python seaborn保存图片title显示不全
解决方法跟图片宽高设置无关需要加上:bbox_inches='tight'plt.savefig(path+sm+"_bedcoor.png",dpi=400,bbox_inches='tight')plt.clf()
2021-01-14 18:00:25
2508
原创 python-pptx----母版制作
一、需求python-pptx允许除了代码新建ppt页面之外,还提供从母版中读取格式,因此给了我们很大的美化空间。二、母版命名与程序定位命名上面示例的index=1也可以给设计的版式页重命名,例如命名name关闭母版视图可以在 开始----版式里找到修改程序定位1. 按照索引生成页面slide = self.prs.slides.add_slide(prs.slide_layouts[1])2. 按照名字生成页面slide = self.p...
2021-01-06 18:12:10
1551
5
原创 python-pptx---插入表格
一、安装官方API文档:https://python-pptx.readthedocs.io/en/latest/index.htmlpip install python-pptx二、 模板上面示例的index=1也可以给设计的版式页重命名,例如命名name关闭母版视图可以在 开始----版式里找到修改三、根据占位符生成表格程序可以按照index索引找到设计好的版式页,index从0开始,也可以通过名字1. 使用自定义ppt模板from p...
2020-12-29 17:11:09
2437
4
原创 pptx---基础概念解释
目的为了批量生成pptx,首先需要了解pptx以及一些基本概念Slide:为一页幻灯片 Shape:为每页幻灯片插入的方框,可以是文本框,可以是形状母版视图-----幻灯片母版即可进入母版视图主题页: 会应用到所有版式页面中,一般用于添加logo,水印等 版式页:只会应用到该版式页中占位符Placeholders: 在模板中可以插入占位符,表格/图片等,这个方便程序找到位置并填充...
2020-12-29 16:04:42
1210
原创 箱线图2种画法-直接给出各个四分位值或者数据集
需求:1. 直接给出箱线图的上下四分位数、中位值等画图2. 给出序列,再画boxplot代码1:matplotlib.axes.Axes 类给出bxp 方法"fliers":[] outliers 是可选参数,可以通过这个参数给出离群值(异常值)import matplotlib.pyplot as pltimport matplotlib as mpldraw_data = [ { "label":"A", 'whislo': 24.
2020-12-18 18:28:16
2058
1
原创 htslib/vcf.h库-操作VCF文件
文件处理使用vcf.h库是,需要将VCF文件转换为BCF并压缩bcftools view -Ob xxx.vcf.gz -o xxx.vcf.gz.bcfbcftools index xxx.vcf.gz.bcf
2020-12-17 18:36:36
609
原创 python画图时坐标轴紊乱
问题:在同一个脚本里importmatplotlib.pyplotaspltplt.savefig(self.outF,dpi=400)plt.clf()
2020-12-17 18:10:26
3330
原创 python画图中文乱码
问题在用python画图的时候发现,中文总是乱码,如下图所示,怎么设置都不起作用,找了很多资料,仍然没有找到能用的全局设置的方法。解决:首先需要下载字体ttc ttf文件格式等可以通过以下指令查看可以支持字体及路径fc-list每次添加title或者label的时候都需要设置fontproperties,较为繁琐from matplotlib.font_manager import FontPropertiesimport matplotlib.pyplot as p
2020-12-14 18:14:41
1583
原创 【实战】python-docx---表格固定显示几列
概述比如有1*20的dataframe,要填充到表格里,要求表格每行只允许有5列,该怎么填充,而且列标也需要放入表格中模板如果对表格的格式需要进行一些设置,比如颜色,字体,可以在word中新建style举例:代码import reimport osfrom docx.enum.section import WD_ORIENTfrom docxtpl import DocxTemplatefrom docx import Documentimport mathim
2020-12-14 18:02:16
739
4
原创 【踩坑】python-docx设置表格宽度不起作用
问题:在用以下代码设置表格宽度的时候发现怎么设都不起作用可能会合并一些行,列的宽度是固定的,但是does not workfrom docx.shared import Cm, Mm, Inchesfrom docxtpl import DocxTemplate, InlineImage, RichTextdoc = DocxTemplate(template_dir)sd = doc.new_subdoc()rows=2colnames=["A","B","C"]colwid
2020-11-06 17:53:43
4484
原创 【踩坑】生成word之后无法打开
问题最近在生成报告的时候发现有一个问题,生成word之后打开,会提示这个错误。但是点击确定之后,会再次出现弹框再点击是,会打开word,然后惊讶的发现word内容是没有受损的,这种情况就意味着程序没有问题,是由于某个特殊的东西导致这样的问题,经过我的一些排查,终于发现若是在模板里使用循环,然后循环里有特殊字符,会导致这样的错误。这样的字符包括但可能不限于去掉这个字符就可以正常打开报告了。...
2020-11-05 17:23:20
927
1
原创 htslib/sam.h库使用说明
介绍samtools用来处理SAM/BAM文件,包括htslib,samtools,bcftools,pysam是python语言对samtools的封装,有着完整的说明文档。但是如果要用C/C++来操作SAM/BAM文件,一定要了解htslib库,我查了很多资料,关于htslib库的说明很少,基本都要靠看源代码,以下总结一些源代码的用法。使用typedef struct{ mplp_aux_t *array; bam_mplp_t iter; int n;
2020-10-20 18:28:30
1187
原创 SAM/BAM文件格式说明及举例
SAM文件格式htslib/sam.h是利用C语言对SAM文件进行处理,因此需要了解SAM文件格式。官方说明文档:http://boyun.sh.cn/bio/wp-content/uploads/2012/07/SAM1.pdfSAM文件是一种通用的以TAB为分隔符的比对格式,用来存储reads道参考序列的比对信息。SAM分为两部分,注释信息和比对结果信息,除注释外,每一行是一个readA. 注释信息可有可无,以@开头主要有@HD,说明符合标准的版本、对比序列的排列顺序;@
2020-10-20 18:02:37
1175
原创 htslib/tbx.h库使用说明
简介根据我的了解,这个库主要用来读取bed文件,以下在我的使用过程中整理出来的说明由于bam bed文件比较大,pysam处理起来十分缓慢,因此需要使用C语言来处理。#include<htslib/tbx.h>#include <htslib/faidx.h>typedef struct{ htsFile *fp; tbx_t *tbx; hts_itr_t *itr; kstring_t ks;} bed_t;#def.
2020-09-25 13:52:37
455
原创 linux环境conda & jupyter安装
一、下载https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/二、安装shAnaconda3-5.3.1-Linux-x86_64.shAnaconda3-5.3.1-Linux-x86_64.shanaconda 已经安装了jupyter,重新conda install jupyter,可能会破坏掉conda环境。使环境变量生效source ~/.bashrc三、配置1.生成配置文件jupyter ...
2020-09-16 13:58:22
1336
原创 可视化训练工具---allegroai/trains
allegroai在做试验时,需要画图,需要统计性能,查看试验的进度,如果全部都靠jupyter,多少有些繁琐,因此想要找一些pipeline工具,最好可以可视化查看,因此调研了allegroai,如下。trains是开源的python组件,包括Trains Client, Trains Server, Trains agent一、Trains Server如果不指定,默认会将结果上传到官方的demo网站,因此需要自己安装配置Server### 安装需要安装docker-compose.
2020-08-21 16:56:59
1316
原创 matplotlib可视化绘图--折线
画图方面一开始使用的是plotnine,但是plotnine文档太少,官网上例子也少,实在满足不了需求,所以还是from plotnine.data import mtcarsimport matplotlib.pyplot as plt font = {'family':'serif','color':'darkred','weight':'normal','size':16}##设置某个类别的线段类型software = mtcars['carb'].unique()line =
2020-08-06 18:05:07
150
原创 【基础】python-docx----section章节设置
概述这里引入一个概念section,即为节,章节,章节的范围比段落paragraph要大。这部分的设置对应于word中的页面布局,如下图可以设置页眉的纸张方向,页面边距,页面大小,每个节可以设置单独的页眉页脚,也可以设置其页面布局,比如横向纵向。纸张方向from docx import Documentfrom docx.enum.section import WD_ORIENTdoc = Document('xxx.docx')sections = doc.secti.
2020-08-06 15:48:42
4869
原创 【实战】python-docx 循环生成多个表格
概述之前有多篇博客介绍如何新建,合并拆分表格,这里主要介绍如果要插入多个表格模板在word里新建表格样式Style1,样式设置随你高兴程序import reimport osfrom docxtpl import DocxTemplatetpl = DocxTemplate('merge.docx')sd = tpl.new_subdoc()sd.add_paragraph('Drug Table :')rows=2cols=4table = s..
2020-07-21 11:26:33
4640
3
原创 plotnine可视化绘图(二)---geom
一些示例数据1. 点图from plotnine import ggplot, geom_point, aes, stat_smooth, facet_wrapfrom plotnine.data import mtcarsp=(ggplot(mtcars, aes('wt', 'mpg', color='factor(gear)')) + geom_point() + stat_smooth(method='lm') + facet_wrap('~gear'))p.sav
2020-07-01 18:37:59
1763
原创 plotnine可视化绘图(一)---plot creation
概述最近在学习用python绘图,由于我之前一直在用R绘图,因此时间紧急的情况下,准备用plotnine绘图。plotnine的特别之处在于,它跟R语言的ggplot2风格一样,除了一些语法上的细小差别,因此习惯用R的可以快速上手。我个人感觉学习绘图的一个方式就是看大量的例子,明白各种参数的用法。官方文档(可以看方法定义):https://plotnine.readthedocs.io/en/stable/index.html安装pip install plotnine使
2020-06-29 18:40:19
5717
原创 sklearn计算fscore等指标
概述 预测结果 真实情况 正例 反例 正例 TP FN 反例 FP TN 查准率:Precision(P) = TP / (TP + FP) 预测为正例的实例中真正正例的比率查全率:Recall(R)=TP / (TP + FN) 真正正例被预测为正例的比率查准率与查全率是一对矛盾的度量Fscore:= 2 * P * R / (P+R) = 2 * TP / (样例总数 + TP - TN)...
2020-06-29 16:33:57
1832
原创 【基础】制作word模板
概述我发现word文档说简单也简单,说复杂也挺复杂,有些人写了很多文档,可能也只是用到了word里极少的一部分功能,因为之前有人会把一个word模板交给我去代码实现,他觉得自己做的word非常完美,但是我实际去看的时候,仍然需要重新制作,我在本篇博客会仔细介绍我了解的一些功能,希望能帮助大家更快地制作模板,对一些经常使用word的人来说也是一个小帮助,如果我总结的不到位,请大家批评指正。需求1. 页码2. 正文和标题3. 目录...
2020-06-09 19:13:37
2133
原创 【基础】python-docxtpl包之-----图片
概述之前有人询问我往word里插入图片,这个虽然不难,不过很多人刚开始应该想不到,我整理了一些场景,供大家参考。python docxtpl包是需要word和代码联动的,所以我会将这两部分都贴出来。需求1. 循环插入图片2. 宽高自适应3. 图片居中(word标签居中即可)实现一:循环插入图片模板:代码:from docxtpl import DocxTemplate,InlineImage,RichTexttpl = DocxTemplate..
2020-06-05 17:05:24
6680
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人