WordPress build & tips

  1. 连接数据库
    1. 在空间提供商处找到数据库的IP;
    2. 在网站根目录下找到WP的wp-config.php文件;
    3. 将DB_HOST的值,改为数据库的IP
  2. 备份
    1. 使用WP自带的工具中的导出工具,导出能被WP模板普遍识别的网站内容,方便在网站出现意外时,在任何一个新的WP木板上导入网站所有内容(不含图片)。
    2. 使用空间提供商的数据下载,直接下载整个网站,如若网站出现问题,直接从新上传整个WP;
  3. 防垃圾评论
    1. WP自身会要求管理者审核每一条评论;
    2. 使用Akismet,以后会自动过滤同一个邮箱的评论;
  4. 托管在国内的虚拟主机后,加载缓慢:
    原因:使用了google的fonts和ajax库
    解决方案:安装两个插件:Disable Google Fonts,WP Acceleration for China
  5. wordpress图片使用中文名称,会加载不出来,尽量使用英文名称
  6. wordpress整站迁移:需要修改配置文件。
  7. shift+enter: 回车以后的间距不会那么大
  8. 如果网站的域名改变了,要记得修改数据库的_options中的网站域名
  9. 让 WordPress 只搜索文章的标题: https://www.wpdaxue.com/search-by-title-only.html
    通过这个主题来学习如何自定义wordpress的代码,让网站更加符合我的心意。当开始自己修改wordpress代码以后,我就停止更新主题,发布我自己的主题。
  10. adsf

LaTeX 随笔

LaTeX在windows下认识的文件路径是“/”,而使用Perl的File::Spec包得到的路径使用的是“\”;
生成dvi: latex filename.tex;
生成pdf: dvipdfm filename.dvi;

biopython

from Bio import SeqIO
import sys
import re
#regular expression

file_input = sys.argv[1]
file_output = sys.argv[2]

pattern = r'channel_6.*'
regexp = re.compile(pattern)

with open(file_output,"a") as output_file:
  for seq_record in SeqIO.parse(file_input,"fasta"):
     if regexp.search(seq_record.id):
       SeqIO.write(seq_record,output_file,"fasta")
#for seq_record in SeqIO.parse(file_input,"fasta"):
#  SeqIO.write(seq_record,file_output,"fasta")

虞美人

宋·蒋捷

少年听雨歌楼上,
红烛昏罗帐。
去年听雨客舟中,
江阔云低,
断雁叫西风。
而今听雨屋檐下,
秋叶已凋零。
悲欢离合总多情,
伊人何处?
总在寒冷清秋。

Perl 语法细究

  1. list: A list is an ordered collection of scalars. 列表是标量的零时集合;列表纯粹是数据;而数组是一个存储数据的变量;
  2. array: An array is a variable that contains a list. 一个数组是一个包含一个列表的变量;
  3. perl函数的形参和实参: perl语言里没有形参;当我们将变量作为参数传入函数时,这些变量都会放在@_数组里;通过直接操作这个数组改变变量时,产生的改变会影响到函数外对应的变量。(相关材料:https://stackoverflow.com/questions/24063638/if-perl-is-call-by-reference-why-does-this-happen)
  4. perl v5.22.2 和v5.10.1的关于哈希的差异:当我们用each遍历hash时,如果中途又对hash做了改动,5.22.2就会弹出错误:‘Use of each() on hash after insertion without resetting hash iterator results in undefined behavior’。不能一边用哈希,一边改哈希。
  5. 假如一个字符串结尾有回车,当我们使用“split /\s/”去切这个字符串的时候,回车不会放到最后一个字符串里面;如果用“split / /”去切,最后一个字符串就会包含结尾的换行符;

Perl 简写

  1. $| 控制对当前选择的输出文件句柄的缓冲
    设置为非0的话,表示当前的输出不经过缓存立刻输出.
  2. @ARGV 传给脚本的命令行参数列表
  3. $_ 默认的输入/输出和格式匹配空间
  4. @_ 传给子函数的参数列表

$! 根据上下文内容返回错误号或者错误串
$” 列表分隔符
$# 打印数字时默认的数字输出格式
$$ Perl解释器的进程ID
$% 当前输出通道的当前页号
$& 与上个格式匹配的字符串
$( 当前进程的组ID$) 当前进程的有效组ID
$* 设置1表示处理多行格式.现在多以/s和/m修饰符取代之.
$, 当前输出字段分隔符
$. 上次阅读的文件的当前输入行号
$/ 当前输入记录分隔符,默认情况是新行
$: 字符设置,此后的字符串将被分开,以填充连续的字段.
$; 在仿真多维数组时使用的分隔符.
$? 返回上一个外部命令的状态
$@ Perl解释器从eval语句返回的错误消息
$[ 数组中第一个元素的索引号
$\ 当前输出记录的分隔符
$] Perl解释器的子版本号
$^ 当前通道最上面的页面输出格式名字
$^A 打印前用于保存格式化数据的变量
$^D 调试标志的值
$^E 在非UNIX环境中的操作系统扩展错误信息
$^F 最大的文件捆述符数值
$^H 由编译器激活的语法检查状态
$^I 内置控制编辑器的值
$^L 发送到输出通道的走纸换页符
$^M 备用内存池的大小
$^O 操作系统
$^P 指定当前调试值的内部变量
$^R 正则表达式块的上次求值结果
$^S 当前解释器状态
$^T 从新世纪开始算起,脚步本以秒计算的开始运行的时间
$^W 警告开关的当前值
$^X Perl二进制可执行代码的名字

$~ 当前报告格式的名字
$` 在上个格式匹配信息前的字符串
$’ 在上个格式匹配信息后的字符串
$+ 与上个正则表达式搜索格式匹配的最后一个括号
$< 当前执行解释器的用户的真实ID
$ 含有与上个匹配正则表达式对应括号结果
$= 当前页面可打印行的数目
$> 当前进程的有效用户ID包含正在执行的脚本的文件名
$ARGV 从默认的文件句柄中读取时的当前文件名
%ENV 环境变量列表
%INC 通过do或require包含的文件列表
%SIG 信号列表及其处理方式

@INC 在导入模块时需要搜索的目录列表
$-[0]和$+[0] 代表当前匹配的正则表达式在被匹配的字符串中的起始和终止的位置

Annotation Coordinates

1-based

software:
1). samtools;
2). annovar;
3). stringtie (gtf file,gene_abundance file);
4). blast (blastn,tblastn)

file format:
1). vcf:只有第二列为POS信息;
2). sam/bam:只有第四列为POS信息;
3). gff (闭区间):第四列和第五列给定开始和结束
1. gff格式还要注意其strand(正负链)和phase(要从该feature开头移走的碱基个数)
2. 这个维基百科网页(https://en.wikipedia.org/wiki/General_feature_format)在说和bed一样为half-open(半开),估计误导了一大片人。
4). the Description of Sequence Variants (nomenclature)
5). gencode: 第四列和第五列给定开始和结束
6). ANNOVAR input file

==========================================

0-based

software:

file format:
1). bed(左闭右开):
1. 注意给strand
2. 第二列和第三列给定开始和结束 (比如3 5,包含的是第4个碱基到第5个碱基之间的序列[这里的第4和第5是在1-based的坐标语境中],一共2个碱基);

daily R_LANG Commands

R is a free software environment for statistical computing and graphics. It compiles and runs on a wide variety of UNIX platforms, Windows and MacOS.

1. related to environment variables
Sys.getenv()
Sys.setenv(BINPREF = “”)

## try http:// if https:// URLs are not supported

2. Change directory: setwd(‘E:/’) or setwd(“E:/”)
caveat: use ‘/’ not ‘\’ in windows.
*: list items in the current directory: dir()

3. bioconductor:
options(BioC_mirror=”https://mirrors.ustc.edu.cn/bioc/”) #换成国内的源,用于加速
if (!requireNamespace(“BiocManager”, quietly = TRUE))
install.packages(“BiocManager”)
BiocManager::install(“ChIPseeker”)

4. update, remove packages
update.packages()
remove.packages()

5. upgrade R
library(installr)
updateR()

6. rstudio换源加速

7. BiocManager换源
源列表:https://www.bioconductor.org/about/mirrors/
options(BioC_mirror=”http://mirrors.ustc.edu.cn/bioc/”)

8. local installation of r package:
install.packages(“BiocInstaller_1.20.1.tar.gz”, repos = NULL)
“R -e “install.packages(‘shiny’, repos=’https://cran.rstudio.com/’)””
R CMD INSTALL package.tar.gz