引用另一模板的宏_生信人值得拥有的编程模板Shell

前言

“工欲善其事必先利其器”,生信工程师每天写代码、搭流程,而且要使用至少三门编程语言,没有个好集成开发环境(IDE,Integrated Development Environment)那怎么行?

本人使用过vim, editplus, ultraedit, notepad++, sublime。感觉在多语言支持、直接远程编辑脚本、启动速度等方面还是editplus用着比较舒服,适合我的个人习惯。

Editplus 下载和安装

最好官网下载最新版4.3,喜欢的话正版才30$,关键是不注册也不影响使用。
https://www.editplus.com/download.html
有32/64位版,建议安装64位版epp430_64bit.exe,还有中文版(不建议,全是老版本),英语拼写检查(安装了没看到效果);

先安装完成后,打开,会出现配置设置、语法文件位置选择,如下图
建议修改到自己的目录,方便管理和备份,如改为C:\Users\woodc\Desktop\home\soft\editplus

9b03a10c3dab7ef390babaa46ca7c097.png

如果不想看到试用字样,百度可以找到很多注册机/注册码,很容易激活。

添加Perl语言模板

该程序对Perl语法默认支持已经非常好了,只是缺少个生信专用模板,参考我的上篇文章
生信人写程序1. Perl语言模板及配置

右键另存下载perl模板文件直接单击可能会报错,因为Perl的pl文件是也属于网页的一种,会被运行,而内容又不是网页,所以报错。

主要操作如下:将《Perl语言模板》原文中代码复制到editplus中新建的空白文件,点保存;
第一种情况:如果刚才设置了新的模板目录,请选择你自己设置的目录,替换template.pl。
第二种情况:没有更改配件文件目录,默认的保存位置可替换template.pl即可。
如果下次使用新建Perl不能自动加载模板,可以尝试将模板代码保存为template.pl在任何位置,选择Tools - Preference - template — Perl,更改template.pl文件位置为刚才保存的模板template.pl文件即可。

1c4a3c273a94e08532169b57aa757fe9.png

以后点新建- perl会自己加载我们配置的模板开使写新程序;其实我们更多是找写过相近的程序再修改,这个过程是逐渐积累的,领域和用途不同,自己的常用功能也是很个性化的。

添加Shell语言支持

https://www.editplus.com/others.html
选择* Shell stx - 肖俊斌 (2011-06-21)下载,解压后有shell.stx语法文件放在之前设置的目录;也可直接右键点我下载shell语法
再选择
Tools — Preference — Setting & syntax, Add - 输入 “Shell” — OK, 文件扩展添”sh”,语法文件选择下载的shell.stx;点OK;

e62ab7b40f2ebe00ec847b3bd87e7d94.png

Shell写作模板

主要包括命令行参数解析、默认参数设置、程序功能描述及帮助文档等

右键另存下载Shell模板文件

#!/bin/bash
set -e# 设置程序参数的缺省值,少用参数即可运行
# Default parameter
input=input.txt
output=output.txt
database=database.txt
execute='TRUE'# 程序功能描述,每次必改程序名、版本、时间等;版本更新要记录清楚,一般可用-h/-?来显示这部分
# Function for script description and usage
usage()
{
cat <&2
Usage:
-------------------------------------------------------------------------------
Filename:    template.sh
Revision:    1.0
Date:        2017/6/24
Author:      Yong-Xin Liu
Email:       yxliu@genetics.ac.cn
Website:     http://bailab.genetics.ac.cn/
Description: This script is solve parameter read and default
Notes:       Function of this script
-------------------------------------------------------------------------------
Copyright:   2017 (c) Yong-Xin Liu
License:     GPL
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License 
as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty 
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
If any changes are made to this script, please mail me a copy of the changes
-------------------------------------------------------------------------------
Version 1.0 2017/6/24# 输入输出文件格式和示例,非常有用,不知道格式怎么准备文件呀
# Input files: input.txt, can inclue many file# 1. input.txt, design of expriment
SampleID    BarcodeSequence    group
WT.1    TAGCTT    WT    
WT.2    GGCTAC    WT 
WT.3    CGCGCG    WT# 2. database.txt, annotation of gene
ID    description
AT3G48300    Transcript factor# Output file
1. Annotated samples & DE genes
Samples    ID    description
Wt    AT3G48300    Transcript factor2. Volcano plot: vol_otu_SampleAvsSampleB.pdf# 参数描述,写清功能的缺省值
OPTIONS:-d database file, default database.txt-i input file, recommend must give-o output file or output directory, default output.txt-h/? show help of script
Example:template.sh -i input.txt -d database.txt -o result.txt
EOF
}# 解释命令行参数,是不是很面熟,其实是调用了perl语言的getopts包,
# Analysis parameter
while getopts "d:h:i:o:" OPTION
docase $OPTION ind)database=$OPTARG;;h)usageexit 1;;i)input=$OPTARG;;o)output=$OPTARG;;?)usageexit 1;;esac
done
# for 循环批量调用程序,如批量绘制热图
# 有多种批量输入文件的方式,以下N种任选其一,其它用#注释掉for i in a.txt b.txt n.txt; do # 文件不多,手动放在in后用空格分开
for i in `seq 1 9`; do # 文字名为数字顺序,用seq命令生成连续数据,引用命令需反引for i in `ls data/*.txt`; do # 匹配某类文件作为输入for i in `cat list.txt`; do # 使用文本原为输入列表for i in `cat list.txt|cut -f 1`; do # 指定某列作为输入文件名
   plot_heatmap.sh -i data/${i} -o heatmap/${i}.pdf
done

将以上代码保存为template.sh,点击Tools — Preference — Template — Add 命名为Shell,选择template.sh文件,OK。
以后点New file, 选择shell即自动加载模板;

想要写好程序,多读多写代码才会有提高,只看不操作效果最差。

猜你喜欢

10000+:菌群分析 宝宝与猫狗 梅毒狂想曲 提DNA发Nature Cell专刊 肠道指挥大脑

系列教程:微生物组入门 Biostar 微生物组  宏基因组

专业技能:学术图表 高分文章 生信宝典 不可或缺的人

一文读懂:宏基因组 寄生虫益处 进化树

必备技能:提问 搜索  Endnote

文献阅读 热心肠 SemanticScholar Geenmedical

扩增子分析:图表解读 分析流程 统计绘图

16S功能预测   PICRUSt  FAPROTAX  Bugbase Tax4Fun

在线工具:16S预测培养基 生信绘图

科研经验:云笔记  云协作 公众号

编程模板: Shell  R Perl

生物科普:  肠道细菌 人体上的生命 生命大跃进  细胞暗战 人体奥秘  

写在后面

为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外3000+ 一线科研人员加入。参与讨论,获得专业解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职称/年级”。PI请明示身份,另有海内外微生物相关PI群供大佬合作交流。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍末解决群内讨论,问题不私聊,帮助同行。

38d00d16873a1a61e5da70e678ab2a73.png

学习16S扩增子、宏基因组科研思路和分析实战,关注“宏基因组”

b8bbe863faea848d3cfc42e21fdf14ab.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507784.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

avlib java_fatal error: libavutil/avconfig.h: No such file...

根据这位仁兄的记录&#xff0c;可以在android程序里调用ffmpeg的avcodec_version()函数&#xff1b;下载了最新版的ffmpeg源码(2.4.1)&#xff0c;在cygwin里用NDK编译时可能会报错&#xff0c;报错如下&#xff1b;your_nameAP-CHN-LP140129 /cygdrive/c/Workspace_my/TestAp…

python 绘制分布直方图_统计学中常见的4种抽样分布及其分布曲线(Python绘制)...

现代统计学奠基人之一、英国统计学家费希尔(Fisher)曾把抽样分布、参书估计和假设检验看作统计推断的三大中心内容。统计学中&#xff0c;需要研究统计量的性质&#xff0c;并评价一个统计推断的优良性&#xff0c;而这些取决于其抽样分布的性质&#xff0c;所以&#xff0c;抽…

php 文件 不更新,php页面不刷新更新数据

php页面不刷新更新数据php页面不刷新更新数据实现起来很简单&#xff0c;我们可以使用前端的ajax技术。ajax作用&#xff1a;ajax技术的目的是让javascript发送http请求&#xff0c;与后台通信&#xff0c;获取数据和信息。实现前后端分离。ajax技术的原理是实例化xmlhttp对象&…

master节点部署pod_小伙!Kubernetes 部署如此简单,你看完全明白了

将项目迁移到k8s平台是怎样实现的?制作镜像控制器管理PodPod数据持久化暴露应用对外发布应用日志/监控1、制作镜像分为三步第一基础镜像&#xff0c;是基于哪个操作系统&#xff0c;比如Centos7或者其他的第二步中间件镜像&#xff0c;比如服务镜像&#xff0c;跑的像nginx服务…

c++从入门到精通_资料下载:从入门到精通,手把手教你学DSP

学习一个东西首先是了解它&#xff0c;比如DSP到底是什么&#xff1f;用在什么地方&#xff1f;怎么用&#xff1f;和单片机特点有那些相同与不同&#xff1f;开发需要注意什么&#xff1f;想了解清楚这些问题自然就清楚比较清楚的认识DSP。DSP&#xff0c;因为它是用来做数据处…

php mysql存中文,PHP+MySQL存储数据常见中文乱码问题小结

PHPMySQL存储数据常见中文乱码问题小结本文实例总结了PHPMySQL存储数据常见中文乱码问题。分享给大家供大家参考&#xff0c;具体如下&#xff1a;PHPMySQL出现中文乱码的常见原因:1. MYSQL数据库的编码是utf8,与PHP网页的编码格式不一致,就会造成MYSQL中的中文乱码。2. 使用MY…

dbf文件怎么创建_ThinkPHP6开发博客实战入门(三),创建admin后台入口

打开创建的应用根目录&#xff1a;E:phpstudy_proWWWp(注意&#xff0c;往后我所说的根目录就是此路径)简单说一下tp6的目录结构app应用目录主要存放控制器文件&#xff1b;config配置目录主要存放全局配置文件&#xff1b;public入口目录主要存放入口或者资源文件&#xff1b;…

没有返回值的方法mock怎么写_【方法】小学生怎么写读书笔记?

什么是读书笔记读书笔记&#xff0c;是指人们在阅读书籍或文章时&#xff0c;遇到值得记录的东西和自己的心得、体会&#xff0c;随时随地把它写下来的一种文体。古人有条著名的读书治学经验&#xff0c;叫做读书要做到&#xff1a;眼到、口到、心到、手到。这“手到”就是读书…

php e error,E_ERROR定义与用法汇总

前言最近由于项目需要&#xff0c;需要读取一个含有中文的txt文档&#xff0c;完了还要保存文件。文档之前是由base64编码&#xff0c;导致所有汉字读取显示乱码。项目组把base64废弃之后&#xff0c;先后出现两个错误&#xff1a;ascii codec cant encode characters in posit…

delphi中的函数传参如何传枚举参数_我是这样使用SpringBoot(API传参)

spring boot 传参spring boot 中的Controller或者RestController接收参数的方法是一样的。这章目标是对几种常用的传参都写个例子。创建package: com.biboheart.demos.api&#xff0c;这个包里放置API接口的RestController在com.biboheart.demos.api包中创建一个class: ParamCo…

ssh-copy-id命令不存在_Redis(三)- 常见命令

步骤1:5种数据类型步骤2:String 字符串步骤3:List 列表步骤4:Hash 字典&#xff0c;哈希表步骤5:Set 集合步骤6:Sorted Set 有序集合步骤7:官方命令手册步骤 1 : 5种数据类型Redis目前有5种数据类型&#xff0c;分别是&#xff1a;String&#xff08;字符串&#xff09;List&am…

matlab中极大似然估计法的应用程序,matlab用fmincon函数求极大似然估计

%l1_s分别是不同实验条件下的数据&#xff0c;下面的函数为极大既然函数的负值&#xff0c;先用fmincon求解&#xff0c;运行出错了。function [l1_s,l2_s,l3_s,l4_s,l5_s,l6_s] readandevaluate(filename)global l1_s l2_s l3_s l4_s l5_s l6_s;filename li_s.xlsx;l1_s xl…

python 字符串替换_学完Python打算出去找工作,怕找不到?看完这篇你可以提高通过率...

面试题目一&#xff1a;Python是如何进行类型转换的&#xff1f;1 函数 描述 2 int(x [,base ]) 将x转换为一个整数 3 long(x [,base ]) 将x转换为一个长整数 4 float(x ) 将x转换到一个浮点数 5 complex(real [,imag ]) 创建一个复数 6 str(x ) 将对象 x 转换为字符串 7 repr(…

matlab bmp hsi,matlab中RGB与HSI图像转化

姓名&#xff1a;边颖超学号&#xff1a;19021210974编程实现RGB与HSI彩色空间的转换&#xff0c;将一幅彩色图像分解为H、S、I三个分量&#xff0c;并显示这三个分量所对应的灰度图像。(1)利用imread函数读入灰度图片hurricane&#xff0c;并命名为Original Imagel&#xff1b…

vue.js php,vue.js去哪下载

vue.js可以去vue官网下载&#xff0c;其下载链接为“vuejs.org/v2/guide/installation.html”&#xff0c;然后用“本教程操作环境&#xff1a;Windows7系统、vue2.5.16版&#xff0c;该方法适用于所有品牌电脑。 vue.js下载及安装的三种方法 要下载安装vue首先得下载安装node.…

bootstrap table无法服务器分页_[精选] MySQL百万数据,你如何用分页来查询数据

文章来自&#xff1a;https://www.cnblogs.com/lxwphp/p/9237331.html商务合作: 请加微信 2230304070精选文章正文在开发过程中我们经常会使用分页&#xff0c;核心技术是使用limit进行数据的读取&#xff0c;在使用limit进行分页的测试过程中&#xff0c;得到以下数据&#xf…

excel的mysql语言,Mysql中文乱码及导出sql语句和Excel的相关解决方法

这几天基于Heritrix写了一个爬虫&#xff0c;用到mysql&#xff0c;在导入导出数据时&#xff0c;遇到一些乱码问题&#xff0c;好不容易解决了&#xff0c;记录一下&#xff0c;以备查看。一、导出数据。先说明一下自己的环境&#xff1a;Mac OS X 10.8.3, MySQL Community Se…

conda pip安装在哪里_Python环境篇-Minicondaamp;Pip使用汇总

一、下载推荐miniconda&#xff0c;很方面管理python多版本环境&#xff0c;比Anaconda轻量。选择合适的版本&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/或者Linux上直接执行&#xff1a;wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/minic…

jquery 循环_jquery实现无限循环滚动

复制下面代码查看效果原文链接&#xff1a;https://blog.csdn.net/qq_45378970/article/details/108903054?utm_mediumdistribute.pc_category.none-task-blog-hot-4.nonecase&depth_1-utm_sourcedistribute.pc_category.none-task-blog-hot-4.nonecase&request_id作者…

delphi7 获取dll的类_跟我学Java内存管理----JMM精华终章(类加载器)

1 类加载器1.1 类的加载过程当程序要使用某个类时&#xff0c;如果该类还未被加载到内存中&#xff0c;则系统会通过加载&#xff0c;连接&#xff0c;初始化三步来实现对这个类进行初始化。(1)加载就是指将class文件读入内存&#xff0c;并为之创建一个Class对象。任何类被使用…