- 博客(89)
- 资源 (2)
- 收藏
- 关注
原创 使用python3查收与发送邮件
文章目录使用python3查收与发送邮件基本配置及模块导入接收邮件发送邮件使用python3查收与发送邮件邮件的接收和发送是日常工作必备的内容,前一段时间我需要进行工作交接,从上万分邮件中找到和某些关键词相关的邮件,并以附件的形式发送给不同的人,一共有600多个这样的关键词,如果要手动执行,我需要手动执行600多次,这简直让人无法接收。因此为了自动化该过程,我学习了python3如何接收和发送邮件的过程,并试着完成该项目交接。中间遇到了各种各样的问题,由于同时我还要处理新的工作,只能利用业余时间来一一解
2020-10-21 16:12:00
674
1
原创 makeblastdb及blastn的使用
文章目录简介使用makeblastdb创建自定义搜索库blastn极短序列比对简介blast是常用的比对软件,在linux系统下安装完成blast套件后,可以使用blastn进行核酸序列的比对,基本的使用模式为确定搜索的库,然后使用blastn对指定的序列在库中进行比对,如果想要自定义搜索库,需要使用makeblastdb来创建,更多的细节可以参考blast 官方文档接下来我将介绍如何创建自定...
2020-03-10 18:31:21
28734
4
原创 Linux find命令的使用及常用参数
文章目录find命令简介使用find遍历所有文件使用find执行文件过滤使用find对搜索结果执行命令find命令简介find命令是linux下用于系统查找文件的强大工具,可以根据文件的大小,名称,权限,修改日期等进行查询,参考一些网上非常优秀的博客来进行一些简单应用向的总结。首先是find命令的使用形式:find paths expression actions指定多条路径(paths...
2020-01-05 15:48:10
558
原创 使用tabix创建索引并获取染色体区间信息
高通量测序产生的存放大量数据的文件往往十分庞大,即使是压缩文件,也有几十G到几百G,这样的文件获取其中某一区间信息的时候使用常用的Linux命令,例如grep awk等将非常耗时,这个时候,我们可以使用一些工具来创建索引并加快这个过程。对于那些排序好的包含染色体号及位置信息的文件,常见的VCF文件/Bam文件/GFF文件/Bed文件等,我们可以使用一些特殊工具例如samtools index/...
2019-12-16 23:18:30
5881
原创 使用bedtools merge合并有重复区间的bed文件
实际工作中, 在使用bcftools filter 获取某些区间的snp的时候,常常会由于bed文件中的区间相互有overlap而导致最终得到的结果中有重复的snp位点,这种情况下,我们就还需要去除重复位点,一种好的方法是在提取之前先对bed文件中的区间进行合并,合并的方法就是使用bedtools merge -i input.bed的方式。...
2019-12-13 15:12:52
9785
原创 bcftools 常用参数 --collapse说明
bcftools的多个子命令中都有--collapse参数的身影,例如bcftools norm 和bcftools concat中 -d和-D这两个参数,这两个参数的作用是去重duplicate 位点,去除的方式将按照通用参数 --collapse中指定的几个可选参数进行,这些方式包括如下截图中的几种可以看到参数none将会认为chr,pos,ref,alt也就是染色体号,位置,refe...
2019-12-13 14:53:30
1579
原创 写shell脚本注意事项
写shell脚本的时候,为了保证无论在哪里运行脚本,其结果总是生成在指定的目录下,我们可以采取两种方式来解决这个问题,第一种方法就是使用绝对路径,例如:#!/bin/bashset -eo pipefailpython foo.py \ -i /path/to/file \ -o /path/to/output #使用绝对路径输出文件还有一种方式是使用cd directory的方...
2019-12-01 12:23:58
254
原创 Linux 利用数组循环编号和数组内容
有些时候,需要使用for循环循环一个以上的变量,这个时候,一种解决思路是依靠数组将一组或者多组变量进行循环,即可解决这个问题,代码如下:alist=(a b c d)other_list=(e f g h)length=${#alist[@]} #the length of alistfor idx in {0..3}doecho idx #get idxecho ${alist...
2019-11-17 20:42:00
278
原创 Linux 脚本移植时不使用硬链接的路径处理
文章目录问题描述移植脚本解决执行脚本解决硬链接的一种方案问题描述现在我需要将写好的一个软件从一个Linux终端移植到另一个终端,我做了如下的处理:使用rsync命令来将软件的脚本直接拷贝到新的终端发现拷贝到新终端的软链文件直接变成了软链的那个文件,当然,这是意料之中的脚本中的解释器需要特别指定路径,但是两个终端的路径不同为了解决这几个问题我做了一些尝试,最终找到了一个可供参考的解决方...
2019-11-11 14:50:57
195
原创 Linux下两种Shell命令while循环的使用场景
while循环的使用场景一般是读入一个文件,然后直接对文件的每一行内容进行分析,如下的使用方法可以使得while循环与管道符相连,进而不需要先输出到文件后再读取文件的步骤,如下例子:cat afile|grep -v '^#'|while read field1 field2 otherdoecho "${field1} ${field2} ${other}"echo "do some...
2019-10-28 14:23:15
714
原创 Linux 下载工具wget常用命令
下载较大的注释文件或者基因组文件往往会在linux系统上直接使用wget进行下载wget常用的命令如下:基本的用法为wget [options] URL常用参数如下:-b 后台下载-c 断点重连下载-o log文件名称-O 输出文件名称(即重命名)示例:wget -bc -o down.log -O download_file ftp://gsapubft...
2019-10-17 15:45:35
370
原创 samtools及bam文件的相关知识
文章目录一些重要的概念首先是关于模板和read的概念然后是线性比对(linear alignment)和嵌合比对(chimeric alignment)的概念Phred scale1-base和0-base文件bam文件的headerbam文件的主要内容本文主要记录了阅读http://samtools.github.io/hts-specs/SAMv1.pdf 时学习到的一些内容主要包括bam...
2019-10-09 16:11:02
3771
转载 git常用操作
git remote上传到远程代码库:第一次上传1、初始化git版本库:git init2、添加文件到本地库:git add .3、提交文件到本地库:git commit -m "msg(提交日志)"重要提示:2、3可合并(git commit -am "")4、关联远程库:git remote add origin(可修改) branch_Name(为空时默认为master)...
2019-09-25 18:12:20
281
转载 github markdown语法
转载网址:https://www.cnblogs.com/downey-blog/p/9583748.html历史Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(英语:John Gruber)。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档”,自从GitHub流行以来,Markdown作为一种轻量级标记语言就深受程序员的喜爱,上手...
2019-09-25 11:49:41
225
原创 连接mongodb服务器与Mongo ServerSelectionTimeout报错
连接远程的mongodb服务器中加密的数据库可以通过一下的方式进行连接from Mongo import MongoClientMongoClient(host="xxx",port=xxx, authSource='project', #指定数据库 username='xxx', password='xxx') #输入密码这里还要提一下...
2019-09-02 11:57:16
5819
转载 mongodb中如何赋值一个collection
mongodb 的版本是 3.2.6,storage engine 为 wiredTiger现在数据库内要完全复制一个collection,可以采用以下方式原始表:t_table目标表:t_tmp1db.createCollection(“t_tmp1”);db.t_tmp1.createIndex({“custno”:1},{“background”:1})db.t_ta...
2019-08-19 18:16:28
416
转载 在js中的循环for...in...和for...of...两种用法的区别
请查阅博客https://blog.csdn.net/aerchi/article/details/80221274一句话概括就是for...in...可以用于遍历对象的各个属性,但是for...of...只能遍历数组
2019-07-30 14:02:41
223
原创 datatables中使用columns接口指定不同数据输入的列
datatables是一款非常好用的基于jquery的插件,不过使用的时候有一些地方需要特别注意:datatables既可以接受数组形式的数据也可以接受对象形式的数据,在接受完成数据之后,我们可以通过名为columns的参数来对数据的列进行一定的操作,包括添加,排序,隐藏的内容,但是两种数据格式它们在使用的时候有所区别,如下两个例子当数据如下图所示时:{ "data": [ ...
2019-07-29 23:03:43
895
原创 django的一些用法的积累与总结
文章目录前言发送邮件设置保存用户密码自定义form表单验证模板中有多个参数的url写法激活码的生成前言最近又要用到django去搭建网站,之前用的东西需要花一些时间去恢复记忆,同时还需要学习一些新的知识,进一步提升自己使用django的能力,因此写这篇博客持续更新使用过程中积累的一些技巧,知识和用法等。目前我自己写了一个认证系统,包括登入登出,注册激活,密码找回等功能,放在了github仓库...
2019-07-16 22:30:55
211
原创 django CSRF verification failed. Request aborted错误的解决
今天在用django搭建用户认证系统的时候遇到一个错误,CSRF verification failed. Request aborted 但是我确实添加了 {% csrf token %},通过一番折腾,终于找到了问题所在,原来是<form>标签中的enctype的设置出了问题,enctype的可选值如下:我在设置为text/plain之后,就会报这个错误,默认不添加或者m...
2019-07-14 22:52:42
446
原创 python 中类继承的super()方法
参考https://www.runoob.com/python/python-func-super.htmlpython中的super()方法主要用于子类引用父类方法,因为这样做可以提高代码的复用性#!/usr/bin/env python# -*- coding=utf-8 -*-#用于测试类继承的super()方法class A(object): """ 父...
2019-07-11 17:37:24
1262
转载 python魔法方法的一篇总结
转自:https://blog.csdn.net/jf_xu/article/details/82502837写的非常好的一篇python魔法方法的总结,非常的全面,从中学习到好多,受教了!原文: http://www.rafekettler.com/magicmethods.html 原作者: Rafe Kettler 翻译: hit9 原版(英文版)...
2019-07-11 12:04:14
187
原创 python openpyxl的styles相关用法
文章目录博客内容行宽行高自动换行 及字符串对齐字体及颜色设置设置单元格格式设置边框注意事项博客内容openpyxl模块中与字体,颜色,背景,边框,字体,行宽,行高,单元格格式等相关的内容都放在了styles模块中,接下来我们来逐个了解行宽行高先来看一个修改行宽行高的例子import openpyxlbook = openpyxl.Workbook()sheet1 = book.a...
2019-07-08 15:47:15
9607
原创 python re模块中 (?P<name>) (?P=name) 及 \g<name> 三者的使用区别
测试代码一:astr1 = 'AAbb aabb'astr2 = 'aabb aabb'astr3 = 'aabb ccbb'for s in astr1,astr2,astr3: result = re.match(r'(?i)(?P<pattern>[\w]+) (?P=pattern)',s) if result != None: p...
2019-07-08 13:30:33
21092
1
原创 Linux bash shell中进行运算
在Shell中进行运算可以用如下几种方式方法一:echo $((1+1)) # 2#或者((result=2*3))echo $result # 6方法二:双星号表示指数运算echo $[2**3] #8方法三:expr 1 + 2 # 3#空格是必须的expr 1+2 # 1+2需要注意的是方法三中空格是必须的,该方法在不加echo的情况下也...
2019-06-18 14:02:19
364
原创 python获取的环境变量与字符串使用==比较失败
今天在使用howdoi包时,由于不能使用google进行查询,需要设置环境变量HOWDOI_SEARCH_ENGINE来指定使用bing来进行搜索,结果在windows下设置了SET HOWDOI_SEARCH_ENGINE='bing'之后,怎么都不能连接成功,通过==来检查,发现怎么都不相等,后来以为有空白符号,但是添加了strip()之后还时不能相当,通过一番折腾之后,使用repr打印,最终...
2019-06-09 19:33:21
433
转载 Linux sort命令使用-g对科学记数法/e记法进行排序
Linux中的sort命令可以使用-g参数来对科学记数法的值进行排序,而且默认是从小到大排序,如果你是查看p值从小到大的排序,那么都不需要添加-r参数就可以拿到结果,快捷方便。其他的一些常用参数我从https://blog.csdn.net/shuanghujushi/article/details/51344215这里接了一个图,除去一下的一些参数,-V参数可以用于对染色体进行排序,先排序数...
2019-06-04 14:35:00
4774
原创 参考HGVS来解释突变对于cDNA,RNA及蛋白序列改变的描述
序列的突变命名使用了较多的特殊字符,因此解读起来需要一定的专业知识积累,具体每一种突变都会有自己特别的表示方式,我们在看不懂的时候,可以去查阅该网站http://varnomen.hgvs.org/通过点击某种指定的突变,例如snp,indel,insertion deletion等,而每个符号的含义请见http://varnomen.hgvs.org/recommendations/gener...
2019-05-29 10:13:20
892
1
原创 多个模块的log日志输出
今天研究了一下python标准库中的logging模块,在多个模块的情景下输出日志import loggingfrom logging_test2 import log_test# logging.basicConfig(filename='log_example.log',# level=logging.DEBUG,# ...
2019-05-26 20:20:36
1405
原创 解决python2与python3的一些函数命名的差异
一种较为简单的方式是在代码开头申明,申明如下:try: raw_inputexcept NameError: raw_input = input以及如下的方法try: with open('diseases.db.json','r',encoding='utf-8') as indata: #python3 all_diseases =...
2019-05-23 15:03:50
202
原创 Linux 使用md5sum来校验文件完整性
详细用法参考博客https://www.cnblogs.com/zhuxiaohou110908/p/5786893.html这里仅展示一个简单的例子计算文件的md5值md5sum out.xls > test.md5cat test.md5#879377955bfe3a7f51f7760627922740 out.xls校验文件的md5值校验成功md5su...
2019-05-20 15:48:58
937
原创 python re模块的一些特殊符号的含义
正向前视断言(?=...)的用法import re#(?=.com)只有在后面是.com的时候才做匹配,以下代码仅返回第二行的cmprint(re.findall(r'(?m)(cm)(?=.com)','''cmcm.comcmcm'''))sub和subn的区别,subn返回一个元组,包含替换的次数>>> re.sub('X', '...
2019-05-16 22:14:49
4076
原创 python re模块使用技巧总结
这里写自定义目录标题python re模块使用技巧总结python re模块使用技巧总结import re#使用(?P<name>...) 或者 (?P=name)来标记变量,使用\g<name>的方式来检索test = '110-120'result = re.sub(r'1(?P<rest>[0-9]+)','A\g<rest>',...
2019-05-16 21:34:02
528
原创 一个复杂的shell例子
awk -F"[ ]+" '{for(i=1;i<=NF;i++) if($i~"oss://novo-disease/") print $i}' aliyun_paths|sort|uniq|xargs -i echo ossutil -u cp -r {} |awk '{split($5,a,"/");if(a[length(a)]!='') print $0,a[length(a)]...
2019-05-16 11:00:16
527
转载 Xshell的一些相关快捷键
以下是一些与ctrl相关的常用命令Ctrl + a - Jump to the start of the lineCtrl + b - Move back a charCtrl + c - Terminate the commandCtrl + d - Delete from under the cursorCtrl + e - Jump to the end of the lin...
2019-05-14 14:21:59
175
原创 Linux使用while一行一行的读取文件
while read LINEdoecho $LINEdone < $FILENAME通过以上的方式,我们可以一次读文件的一行,然后逐行处理
2019-05-13 14:28:12
2943
原创 如何巧妙格式化日期
# 本月文件和上个月文件 year = datetime.datetime.now().year month = datetime.datetime.now().month now_month_file = '{}.{:0>2}'.format(year, month) last_month_file = '{}.{:...
2019-05-06 11:46:18
197
原创 使用openpyxl读取数据
参考一篇写的比较好的博客:https://www.cnblogs.com/sun-haiyu/p/7096423.html为了读取数据,我们首先先写一个excel,写的时候,每一行添加随机数10个,从0~9,并且使用红色加粗标记大于5的数字,实现代码如下import randomfrom openpyxl import Workbook,load_workbookfrom openp...
2019-05-02 01:27:02
4887
原创 借random模块聊一下生成器的好处
下面的例子是一个生成指定书目的随机数的函数,这个函数的返回值是一个可迭代的对象,也就是生成器,在使用生成器的过程中,我感受到了两个生成器带来的好处,第一个是生成器返回一个可迭代对象,每一次迭代产生一个值,然后去处理这个值,这样在处理大数据的时候可以很好的节省内存,另一方面,使用生成器可以让代码更加简洁易懂,如果我们的函数要返回一个列表,那么我们需要事先先定义一个空的list,然后通过循环逐个加入到...
2019-05-01 23:13:18
129
原创 python的集合操作
集合常用于去重和求交集和并集,实例代码如下:#集合操作pro_set = set()for i in 'programming': pro_set.add(i)print(pro_set)py_set = set()for i in 'python': py_set.add(i)print(py_set)#并集uni_set = pro_set | ...
2019-05-01 22:50:28
166
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人