computational protocols

You are currently browsing the archive for the computational protocols category.

Prefetch下载

  • SRR_Acc_List.txt

SRR_Acc_List.txt为文件列表

SRR8956146
SRR8956147
SRR8956148
SRR8956149
SRR8956150
SRR8956151
prefetch --option-file GSM3258244.SRR_Acc_List.txt

cut 切割metadata文件获取下载地址、

cut    -d$'\t'    -f48    E-MTAB-7159.sdrf.txt
-d给出分隔符为制表符,-f指定第多少列是需要的 -f1-3就是第一到三列

ascp下载

$ wget https://download.asperasoft.com/download/sw/connect/3.9.1/ibm-aspera-connect-3.9.1.171801-linux-g2.12-64.tar.gz
$ tar zxvf ibm-aspera-connect-3.9.1.171801-linux-g2.12-64.tar.gz
$ bash ibm-aspera-connect-3.9.1.171801-linux-g2.12-64.sh

Installing IBM Aspera Connect
Install complete.
#加入环境路径
$ echo 'export PATH=$PATH:~/.aspera/connect/bin' >> ~/.bash_profile
$ source ~/.bash_profile

wget使用

(转载自https://zhuanlan.zhihu.com/p/343117380《后台下载、断点续传?wget命令指南》)
1. 基础:下载整个http或者ftp站点文件

wget http://place.your.url/here

这个最简单的命令可以将http://place.your.url/here 首页下载下来。
注:
使用 -x 会强制建立服务器上一模一样的目录
使用 -nd 参数,那么服务器上下载的所有内容都会加到本地当前目录。

1.1 递归下载目录里的多个文件

wget -r http://place.your.url/here

这个命令会按照递归的方法,下载服务器上所有的目录和文件,实质就是下载整个网站。
这个命令一定要小心使用,因为在下载的时候,被下载网站指向的所有地址 同样会被下载,因此,如果这个网站引用了其他网站,那么被引用的网站也会被下载下来!
基于这个原因,这个参数不常用。可以用 -l number 参数来指定下载的层次。
例如只下载两层,那么可以使用 -l 2。
制作镜像站点,那么可以使用 -m 参数,例如:

wget -m http://place.your.url/here

这时 wget 会自动判断合适的参数来制作镜像站点。此时,wget 会登录到服务器上,读入 robots.txt 并按robots.txt 的规定来执行。

2. 断点续传
当文件特别大或者网络特别慢的时候,往往一个文件还没有下载完,连接就已经被切断,此时就需要断点续传。
wget的断点续传是自动的,只需要使用-c参数,例如:

wget -c http://the.url.of/incomplete/file

使用断点续传要求服务器支持断点续传。

-t 参数表示重试次数,例如需要重试100次,那么就写 -t 100,如果设成 -t 0,那么表示无穷次重试,直到连接成功。
-T 参数表示超时等待时间,例如 -T 120,表示等待120秒连接不上就算超时。

3. 批量下载多个地址
如果有多个文件需要下载,那么可以生成一个文件,把每个文件的URL写一行。
例如生成文件 download.txt,然后用命令:

wget -i download.txt

这样就会把 download.txt 里面列出的每个URL都下载下来。(如果列的是文件就下载文件,如果列的是网站,那么下载首页)

4. 选择性的下载
可以指定让wget只下载一类文件,或者不下载什么文件。例如:

wget -m –reject=gif http://target.web.site/subdirectory

表示下载 http://target.web.site/subdirectory,但是忽略gif文件。
–accept=LIST 可以接受的文件类型,
–reject=LIST 拒绝接受的文件类型。

 

7. 后台下载
加入参数 -b, 让wget在后台运行,记录文件写在当前目录下“wget-log”文件中;

此时,最好也加上限制等待时间的 -T,和限制重试次数的 -t 参数,具体可以参照断点续传的部分。

axel下载

基本用法

axel -n 50 ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/swissprot.gz

多线程下载脚本

#!/usr/bin/sh
# filename:axel_batch.sh
if [ $# -ne 2 ];then
echo "USAGE: $0 download.list save_pathname"
else
cat $1 | xargs -L1 axel -n 10 -a -o $2
fi

#xargs参数说明:
# -L num 每次最多使用num个非空输入行,-L1表示每次只处理一行
# 参考 https://blog.csdn.net/richardfjf/article/details/106983961
#软件选项参数:
--max-speed=x , -s x         最高速度x
--num-connections=x , -n x   连接数x
--output=f , -o f            下载为本地文件f
--search[=x] , -S [x]        搜索镜像
--header=x , -H x            添加头文件字符串x(指定 HTTP header)
--user-agent=x , -U x        设置用户代理(指定 HTTP user agent)
--no-proxy , -N             不使用代理服务器
--quiet , -q                静默模式
--verbose ,-v               更多状态信息
--alternate , -a            Alternate progress indicator
--help ,-h                  帮助
--version ,-V               版本信息

Aria2

To be updated

https://zhuanlan.zhihu.com/p/37021947

pip install jupyterlab
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install –user
pip install jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable –user

pip install anndata
pip install scanpy
pip install scvelo
pip install episcanpy
conda install -c conda-forge r-base=4.0.3
conda install -c conda-forge libgit2     or brew install libgit2    on mac
conda install -c conda-forge r-cairo
conda install -c conda-forge r-hdf5r
install.packages(c(“devtools”,”tidyverse”))

devtools::install_git(“https://gitee.com/chansigit/seurat.git”)
devtools::install_git(“https://gitee.com/chansigit/uwot.git”)
devtools::install_git(“https://gitee.com/chansigit/liger.git”)
devtools::install_git(“https://gitee.com/chansigit/seurat-wrappers.git”)

if (!requireNamespace(“BiocManager”, quietly = TRUE))
install.packages(“BiocManager”)
BiocManager::install(version = “3.12”)
BiocManager::install(c(
‘BiocGenerics’, ‘DelayedArray’, ‘DelayedMatrixStats’,
‘limma’, ‘S4Vectors’, ‘SingleCellExperiment’,’multtest’,
“SingleCellExperiment”,”GenomicRanges”,”scRNAseq”,
“Rhdf5lib”,”pcaMethods”,”DropletUtils”,”scater”,
“SingleR”,”geneplotter”,”AUCell”,”GSVA”,”ComplexHeatmap”,
“AnnotationHub”,’SummarizedExperiment’, ‘batchelor’, ‘Matrix.utils’,
“clusterProfiler”,”ChIPseeker”,”ChIPpeakAnno”))

拒绝内卷,出关开拓

我们往往会在内网上建立jupyter notebook、rstudio server等web服务,当我们希望将这些web服务放在公网上时,会遇到一些问题:比如内网机器虽然可以访问外部互联网,但是却没有公网IP地址,以至于无法在公网上连接到内网机器上去。

要解决这个问题,我们可以借助ssh端口转发技术,把内网机器上的web服务(比如运行在8888端口上的jupyter)转发到一台有公网IP的另一台机器上去,具体操作如下,我们再内网机器上运行:

ssh -C -N -R 0.0.0.0:12345:localhost:8888  chensijie@公网服务器IP -p22 \
-o TCPKeepAlive=yes -o ServerAliveInterval=30 -o StrictHostKeyChecking=no

运行完后,我们在另一台有公网IP的机器上就可以用localhost:12345来访问内网机器的8888 web服务端口了。

但这仍然不够,我们虽然能这台有公网IP的机器上访问内网机器的web服务了,但也仅限于在公网机器自己上可以用localhost:12345来访问,并没有把它发布出去,大众仍然不能用“公网服务器IP:端口号”的方式访问该web服务。这里我们就需要一个反向代理服务。这里我们使用mitmproxy建立该服务(安装方法参见[2])

mitmproxy -p 8080 --mode reverse:https://localhost:12345 --set block_global=false

运行完这些后,大众就可以用“公网服务器IP:端口号”的方式访问该web服务了。

 

参考资料:
[1]The simplest possible reverse proxy [closed] https://stackoverflow.com/questions/17107431/the-simplest-possible-reverse-proxy
This page introduced the mitmproxy based way of building a reverse proxy

[2]This page tells you how to install mitmproxy. Use hoembrew on mac, use pip or pipx on others. https://docs.mitmproxy.org/stable/overview-installation/

[3]If you hope to build a reverse proxy by yourself, find information at https://segmentfault.com/q/1010000000175242 or https://github.com/MollardMichael/python-reverse-proxy/blob/master/proxy.py

[4]Other ways achieving the same goals may be found at https://taigezhang.com/blog/2019/04/21/%E4%BD%BF%E7%94%A8frp%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E5%B9%B6%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5Jupyter%20Notebook/

 

后记:

如果在使用mitmproxy的过程中出现 Cannot establish TLS with 192.168.88.128:8080 (sni: 192.168.88.128): TlsException(“SSL handshake error: Error([(‘SSL routines’, ‘ssl3_get_record’, ‘wrong version number’)],)”,)错误,将https换成http应该就可以解决问题。

如果报错HttpReadDisconnect(‘Server disconnected’), 那么请检查一下内网的web服务是否成功打开。

如果jupyter运行时,后台报错Blocking Cross Origin API request for /api/XXX,请在位于~/. jupyter/jupyter_notebook_config.py.配置文件中修改

c.NotebookApp.allow_origin = '*'

Here we described a protocol establishing single-cell analysis platform on win10

 

conda create -n r403py38 python=3.8 numpy matplotlib pandas seaborn
conda activate r403py38 
conda install anaconda-clean 
anaconda-clean --yes conda 
config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ 

# install compilers 
conda install -c conda-forge llvmlite=0.35 
conda install -c msys2 m2w64-gcc
conda install -c msys2 m2w64-gcc-fortran

# install R 
conda install -c conda-forge r-base=4.0.3

 

# install jupyter notebook R kernel
install.packages('IRkernel')
IRkernel::installspec(user = T)

# install important r packages
install.packages(c("devtools","Rcpp"))

# install Seurat 4 beta
remotes::install_github("satijalab/seurat", ref = "release/4.0.0")
devtools::install_github('satijalab/seurat-data')
remotes::install_github('satijalab/seurat-wrappers')

# install bioconductor
if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install(version = "3.12")
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/

BiocManager::install(c('multtest',"SingleCellExperiment","GenomicRanges",
"scRNAseq","Rhdf5lib","pcaMethods","DropletUtils",
"scater","SingleR","geneplotter","AUCell","GSVA",
"M3Drop","ComplexHeatmap","AnnotationHub",
"clusterProfiler","ChIPseeker","ChIPpeakAnno"))

# install monocle
BiocManager::install(c('BiocGenerics', 'DelayedArray', 'DelayedMatrixStats',
'limma', 'S4Vectors', 'SingleCellExperiment',
'SummarizedExperiment', 'batchelor', 'Matrix.utils'))
devtools::install_github('cole-trapnell-lab/leidenbase')
devtools::install_github('cole-trapnell-lab/monocle3')

 

# install jupyter notebook 
pip install jupyterlab

# install loompy
pip install loompy

pip install scanpy
pip install -i https://mirrors.aliyun.com/pypi/simple python-igraph
pip install -i https://mirrors.aliyun.com/pypi/simple louvain
pip install -i https://mirrors.aliyun.com/pypi/simple leidenalg
pip install -i https://mirrors.aliyun.com/pypi/simple anndata
pip install -i https://mirrors.aliyun.com/pypi/simple scanpy
pip install -i https://mirrors.aliyun.com/pypi/simple -U scvelo

 

15727379209.iego.vip.    :22519

mac.sjchen.top


conda create -n scrna0309 python=3.8
conda activate scrna0309
conda install -c conda-forge r-base=3.6.2
pip install scanpy==1.4.6
conda install -c conda-forge r-rcpp
conda install -c conda-forge r-devtools
conda install -c conda-forge leidenalg
pip install loompy
conda install -c conda-forge jupyterlab
conda install -c conda-forge r-hdf5r
pip install -U scvelo
conda install -c conda-forge xorg-libxt
pip install rpy2
git clone https://github.com/aertslab/pySCENIC.git
cd pySCENIC/
pip install .

 

install.packages('codetools')
install.packages('IRkernel')
IRkernel::installspec(user = T)
if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install(version = "3.10")
BiocManager::install('multtest')
BiocManager::install("SingleCellExperiment")
BiocManager::install("GenomicRanges")
BiocManager::install("scRNAseq")
BiocManager::install("Rhdf5lib")
BiocManager::install("pcaMethods")
BiocManager::install("DropletUtils") 
BiocManager::install("scater")
install.packages("Matrix")
install.packages("leiden")
install.packages('Seurat')
install.packages("pheatmap")
BiocManager::install("ComplexHeatmap")
BiocManager::install("clusterProfiler")
devtools::install_github('satijalab/seurat-wrappers')
devtools::install_github("constantAmateur/SoupX")
devtools::install_github("velocyto-team/velocyto.R")
BiocManager::install("SingleR") 
BiocManager::install("AUCell")
BiocManager::install("geneplotter")
BiocManager::install("GSVA")
devtools::install_github('MacoskoLab/liger')
BiocManager::install("M3Drop")

wget https://cran.r-project.org/src/contrib/Archive/modes/modes_0.7.0.tar.gz
R CMD INSTALL modes_0.7.0.tar.gz
install.packages("KernSmooth")
install.packages("ROCR")
install.packages("fields")
devtools::install_github('chris-mcginnis-ucsf/DoubletFinder')





 

conda env create metaseq/scrna0309

 

 

 

 

pip install scanpy==1.5.1
pip install -U loompy
pip install git+https://github.com/theislab/scvelo
conda install -c conda-forge r-rcpp r-devtools leidenalg r-hdf5r xorg-libxt
BiocManager::install(c('multtest',"SingleCellExperiment","GenomicRanges",
                       "scRNAseq","Rhdf5lib","pcaMethods","DropletUtils",
                       "scater","SingleR","geneplotter","AUCell","GSVA",
                       "M3Drop","ComplexHeatmap","AnnotationHub",
                       "clusterProfiler","ChIPseeker","ChIPpeakAnno"))
devtools::install_github('satijalab/seurat-wrappers') 
devtools::install_github("constantAmateur/SoupX") 
devtools::install_github("velocyto-team/velocyto.R")
devtools::install_github('MacoskoLab/liger')
install.packages(c("Matrix","leiden","pheatmap"))

wget https://cran.r-project.org/src/contrib/Archive/modes/modes_0.7.0.tar.gz 
R CMD INSTALL modes_0.7.0.tar.gz 
install.packages("KernSmooth") 
install.packages("ROCR") 
install.packages("fields") 
devtools::install_github('chris-mcginnis-ucsf/DoubletFinder')

« Older entries