有用的网站
1、github
2、w3school 可以在线运行一些程序
3、letcode
一、linux环境部分
1、linux下无法编译出双击可执行文件:
自16.10起,gcc就默认开启了pie选项,导致编译出的文件的mime是application/x-sharedlib,一般的文件管理器只认application/x-executable,就没把它当成可执行的。https://forum.ubuntu.com.cn/viewtopic.php?f=86&t=480688
需要手动给编译器加上-fno-pie和-no-pie选项,
即g++ -fno-pie -no-pie test2.cpp -o test2
静态编译使用-static-libstdc++ -static-libgcc
2、ubuntu 上安装python3
sudo apt-get install python3.5
sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.5 /usr/bin/python
sudo rm /usr/bin/python --恢复2.7
sudo ln -s /usr/bin/python2.7 /usr/bin/python 创建快捷方式
sudo apt install python-pip
sudo apt install python3-pip
python2 -m pip install XXX
python3 -m pip install XXX
3、so文件共享链接
##清理缓存
cat /proc/sys/vm/drop_caches
sync
echo 3 > /proc/sys/vm/drop_caches
cat /proc/sys/vm/drop_caches
4、使用过的程序
生物工具系列
kmc
kmc -k8 -ci2 -cs65536000 -t10 -fm -b -v input output1 ./
kmc_dump2 ouput1 ouput
#output1由上局产生,产生二进制文件,kmc_dump产生十进制
sratoolkit
下载与转换格式
/home/yingwang/data1/wangying/wangkun/sratoolkit.2.9.0-ubuntu64/bin/prefetch -X 41943040 SRR8307275 ----下载
fastq-dump ./SRR***.sra -O ./ ---转fastq
fastq-dump --fasta ./SRR306998.sra -O ./ ----转---fasta
基因距离系列
mash
安装gcc -boost -gsl -capnproto
论文中的是源码 找到,可以直接用的exe
./mash sketch /home/yingwang/jiaxing/MammalianGut_Fna/*C.fna /home/yingwang/jiaxing/MammalianGut_Fna/*H.fna -k 14 -o mammaliangutmash14
./mash dist mammaliangutmash14.msh mammaliangutmash14.msh >mammaliangutmash14dist
skmer的使用
1、构建参考树
skmer reference ref_dir -p 4 -o [distance_dir] -l [library_dir]
2、计算数据库中两两距离
skmer distance library -t(tree) -o jc-dist-mat
3、计算输入序列与数据库的距离
skmer query qry.fastq library -o output_prefix
afann
python afann.py -r --BIC -k 5 -f test_file.txt -t 8 -d test_count/ -o test_result/test
cafe
网站
我尝试过文件夹形式但是好像没有成功,所以使用的是文件形式进行输入的,可以先把你想要用的文件写在一个文本中然后处理为逗号分割的字符串,
./cafe_linux -M 0 -O 27ecoli -S 27ecoli -T plain -I /home/yingwang/jiaxing/27ecoli/E.coli-APECO1.fna,/home/yingwang/jiaxing/27ecoli/E.coli-C-ATCC-8739.fna -K 14 -D Ma
mega:构建分类树
输入是R处理好的nwk文件,可以多棵树同时操作,放大缩小加颜色,
树距离系列
首先通过R包里面的UPGMA依据自己的距离构建是树
处理为各软件所需要的格式,样例位置:/home/yingwang/jiaxing/my_tool/tree_dist/
TreeCmp:the triples distance链接
使用TreeCmp来计算树之间的距离:
java -jar H:\my_task\TreeCmp\TreeCmp\bin\TreeCmp.jar -m -d qt -i 28four_method.nwk -o 28four_method.nwk.out
使用的结果是12月22日产生的数据与论文中一致并且距离没有多大变化。但是我们的craft使用的是k4d20.(其实与d10距离一致)
Mothur :Parsimony 教程
使用methur来计算与标准树之间的距离,其中有两个文件.nj (贴我们的树)和.groups(记录正确的分组情况即标准的树)
parsimony(tree=28.nj, group=28mammalian_gut.groups)
parsimony(tree=27.nj, group=27ecoli.groups)
phylip :Symmetric difference链接
计算 Symmetric Difference
cmd进入exe目录,开启treedist.exe程序:
H:\my_task\CRAFT\实验结果数据\利用距离矩阵建树\树之间的距离计算\phylip-3.695\27four_method.nwk
修改D(D回车可以修改,为所要的距离)
修改2为P(所有的树互相计算距离)
F全矩阵输出
基因距离值的计算
Computes the Maximum Mean Discrepancy (MMD)
使用tensorflow时 的值为小数时,直接print可能会显示0
使用查看
sess=tf.Session()
sess.run(var)
git 使用
git clone https://github.com/jiaxingbai/CRAFT
git add .
git commit -m "new"
git pull origin master
git push origin master
编辑系列
adobe illustrater
编组,
旋转分布:选中对象R,按住ALT选圆心,设置角度后选择为复制,CTRL D复制
latex
注释:
在WinEdt中,选中要注释掉的多行内容,【右键】-【Insert Comment】,WinEdt会自动为每行添加%,即可注释多行内容。
取消多行注释时,选中要取消注释掉的多行内容,【右键】-【Remove Comment】,WinEdt会自动为每行去掉%,即可取消注释。
双栏表格:
以\begin{table*}为开头结尾也加*
表格排版
注意特殊符号的使用编译会出错 _ * ' 等
eps无法使用winedt编译,
使用command:编译
latex eps.tex
dvipdfm eps.dvi
markdown
使用场景:github的readme之类的文档
字体颜色
github的颜色
-
+
微信海报推送
二、各种语言基础使用
1、R
R绘制热力图
R绘制柱状图
library(ggplot2)
small<-within(small,{
Measures<-NA
cor<-NA
Measures<-c("CRAFT","CVTree","d2*","d2shepp","Ma","Mash")
cor<-c(0.9239471,0.928411,0.9322584,0.9327215,0.854927,0.7421546)})
data1=na.omit(small[c("Measures","cor")])
p=ggplot(data=data1,mapping=aes(x=Measures,y=cor,fill=Measures,group=factor(1)))+
geom_bar(stat="identity",width=1 )+
theme(axis.text.x = element_text(angle=0),
axis.text.y = element_text(angle=0))+
geom_text(aes(label = cor, vjust = -0.8, hjust = 0.5),show.legend = TRUE)
p + scale_y_continuous(limits = c(0,1))
R绘制折线图
sraNum<-read.csv("C:\\Users\\bjx\\Desktop\\refseq.csv",header=FALSE)
supp1=rep(c("ERR125183,bacteria","SRR032973,fungi","SRR033033,invertebrate","SRR1015747,protozoa","SRR1586052,vertebrate_othe","SRR4159528,archaea","SRR847535,plant","ERR1659920,vertebrate_mammalian"),15)
dose1=rep(c("80.000%","70.000%","50.000%","30.000%","10.000%","5.000%","2.000%","1.000%","0.200%","0.100%","0.050%","0.020%","0.010%","0.005%","0.001%"),c(8,8,8,8,8,8,8,8,8,8,8,8,8,8,8))
length1=as.numeric(as.character(unlist(sraNum[2:9,3:17])))
tgg=data.frame(supp1,dose1,length1)
ggplot(tgg, aes(x=factor(dose1), y=length1, colour=supp1,group=supp1)) + geom_line(size=1)+ylim(4, 0) + xlim("80.000%","70.000%","50.000%","30.000%","10.000%","5.000%","2.000%","1.000%","0.200%","0.100%","0.050%","0.020%","0.010%","0.005%","0.001%")
R建分类树
#R通过距离构建树(格式是N*N两两距离矩阵,第一行、第一列均为物种名称)
Cluster_Tree_by_upgma=function(fileName, outName) {
library(quadprog);
library(phangorn);
data_matrix=read.table(fileName, header=T, row.names=1);
data_dist=as.dist(data_matrix);
data_tree=upgma(data_dist);
write.tree(data_tree, outName, append=T);
}
#source('G:\\zuizhong\\tree_umgpa\\Cluster_Tree_by_upgma.R');
Cluster_Tree_by_upgma('G:\\zuizhong\\maxtri.txt','G:\\zuizhong\\maxtri.nwk');
三、虚拟机
1、虚拟机的共享
sudo apt-get install open-vm-tools //共享文件夹
sudo yum -y install open-vm-tools///centos
vmware-hgfsclient//查看共享文件夹
sudo mkdir /mnt/hgfs
sudo mount -t vmhgfs .host:/ /mnt/hgfs //ubuntu
sudo mount -t fuse.vmhgfs-fuse .host:/CRAFT-linux-x64 /mnt/hgfs1 -o allow_other //centos7
2、root密码重置
cnetos系列重置root密码:这里
四、win的环境
1、vs的程序编译
wins静态编译“项目属性,C/C++,代码生成”,“运行库改”为“多线程(/MT)”。
五、CRAFT实验
程序存放的位置:
/home/yingwang/jiaxing/code
/home/yingwang/jiaxing/craft/my_py
/home/yingwang/jiaxing/craft/glove_try
1、建json树
流程
构建数据库
对每个数据执行kmc shuffle glove 操作,合并后,配准其taxonomy,存放于
1、refseq:/home/yingwang/jiaxing/craft/glove_try/mkrefseq
2、HMP:/home/yingwang/jiaxing/craft/glove_try/mkhmp
取出其分类信息,通过make_tree.py,处理为构建树前的格式,再使用c++编译后的make_tree进行构建。
问题
1、原本taxonomy分类出现逗号导致最后的树多了几层无法正常读取
2、hmp与refseq的make_tree不一致
2、数据存放
28,21,49文件
目录:/home/yingwang/data1/yingwang_88/yingwang/yanglu/kmerDeconv/code/eval
HMP(sra)
目录:/home/yingwang/data1/wangying/ncbi/public/sra/
refseq(fna.gz)
目录:共享文件夹的 /mnt/my_share/yiwen/yiwen_RefSeq/RefSeq_10_14/
CRAFT的实验数据
目录:/home/yingwang/jiaxing/genomic_data
数据下载方式
1、ncbi #使用sratool下载
2、ncbi_jp #查询网址后使用wget (自己写了一个py文件可以直接下载) python3 /home/yingwang/jiaxing/my_tool/jap_ncbi.py SRRxxxx
3、HMP
3、electron
更新了electron到4.0.5,后修改更换的api,重新打包。可能缺少libXss.so.1 与libgconf-2.so.4
electron and electron-prebuilt app=require('app')and app = require('electron').app is diffirent
使用npm run app时出现context mismatch in svga_sampler_view_destroy
4、问题
glove需要seed文件,(固定随机数)
5、实验
计算相关性
3种相关系数分析:pearson相关系数,spearman相关系数,kendall相关系数
cor.test(a,b,method="pearson") unlist
使用R计算
//以cafe为例 R
data1=read.table("J:\\28\\21\\dist\\result.D2.phylip") //计算得到的矩阵
data=read.table("J:\\28\\21\\dist\\distancematrix.dat") //标准答案
a=unlist(data)
b=unlist(data1[2:22])
cor.test(a,b,method="spearman")
计算树之间的距离
分类树:得到craft的两两距离矩阵,通过r的Cluster_Tree_by_upgma处理为nwk(标签不能一样),mega处理为mts文件,见2.1
树文件存放于:~/jiaxing/craft/finally_result/27ecoli.mts(28mammaliangut.mts)
分别使用treecmp,phylip,mothur计算树矩阵,标准树由正确分类手动构建
结果存于~/jiaxing/craft/finally_result/tree_distance.xlsx
测序文件测试准确率以及sample部分样本中的染色质:80-0.0001%
使用python(/home/yingwang/jiaxing/craft/my_py/sample_choromosome.py)对其进行采样随机值,保留一个范围里面的数据。
result path : /home/yingwang/jiaxing/craft/glove_try/mkrefseq/test_result