blast序列比对

第一:先用fasta文件生成蛋白质对比的数据库

根目录:
zhang@zhang:/var/www/cgi-bin/blast-2.2.26/bin$ 
命令:
formatdb -i /var/www/cgi-bin/blast-2.2.26/fasta/T1SE_All.fasta -p T -o T

注释:
p :T 表示蛋白质序列
    F 表示核苷酸序列
o : T 表示输出库(默认生成在你输入文件路径下)
    F 不输出

第二:根据生成的数据库db1:在这里生成了六个文件,将六个文件合并到一起,建立新的文件夹。

根目录:
zhang@zhang:/var/www/cgi-bin/blast-2.2.26/bin$ 
命令行:
blastall -p blastp -d /var/www/cgi-bin/blast-2.2.26/blastdb1/T1SE_All.fasta -i /var/www/cgi-bin/blast-2.2.26/fasta/T1SE_All.fasta -m 8 -e 0.001 -o /var/www/cgi-bin/test1.txt

注释
p : 可选择blast的方法:blastp,blastx,blastn
d:数据库的路径
i:需要比对的文件的路径
-m:
    7 = XML Blast output,XML格式的输出
    8 = tabular,TAB格式的输出
-o:
   输出文件的路径

把blast-liunx版本的安装包解压通过xftp直接上传过去
需要把库文件放入到bin的目录下
常用的命令

下面命令是生成db文件

ubuntu@VM-0-6-ubuntu:~/blast-2.2.26/bin$ 
formatdb -i /home/ubuntu/var/fasta/T1SE_All_check.fasta -p T -o T

下面的命令是把比对结果输出出来

ubuntu@VM-0-6-ubuntu:~/blast-2.2.26/bin$ 
blastall -p blastp -d /home/ubuntu/blast-2.2.26/bin/db1/T1SE_All_check.fasta   //这里是blast比对生成的数据库db
-i /home/ubuntu/var/fasta/T1SE_All_check.fasta    //这里是需要比对的fasta文件
-m 8 -e 0.001 
-o /home/ubuntu/var/blastResult/T1SE.csv  //这里是输出的文件

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于blast序列比对,我并不是很清楚如何使用MATLAB来实现,因为这个领域并不是我的专业。但是,关于MATLAB中V-Blast的ZF和MMSE检测算法仿真代码,我可以给你一些参考。以下是一个简单的MATLAB代码示例,用于实现V-Blast的ZF和MMSE检测算法的仿真: ```matlab % 定义仿真参数 Nt = 4; % 发射天线数 Nr = 4; % 接收天线数 M = 16; % 星座数 SNR_dB = 0:2:20; % 信噪比范围 % 生成随机的发送符号序列 tx_symbols = randi([0 M-1],Nt,1000); % 将发送符号序列转化为星座点 constellation = qammod(0:M-1,M); % 定义信道矩阵 H = (randn(Nr,Nt) + 1i*randn(Nr,Nt))/sqrt(2); % 初始化误码率结果 BER_ZF = zeros(length(SNR_dB),1); BER_MMSE = zeros(length(SNR_dB),1); % 开始仿真 for i=1:length(SNR_dB) % 计算当前信噪比下的噪声方差 SNR = 10^(SNR_dB(i)/10); noise_var = 1/SNR; for j=1:size(tx_symbols,2) % 发送符号序列 tx = tx_symbols(:,j); % 接收信号 rx = H*tx + sqrt(noise_var)*(randn(Nr,1) + 1i*randn(Nr,1)); % ZF检测 tx_hat_ZF = H\rx; [~,idx_ZF] = min(abs(bsxfun(@minus,tx_hat_ZF,constellation)),[],2); rx_hat_ZF = constellation(idx_ZF); BER_ZF(i) = BER_ZF(i) + sum(tx ~= rx_hat_ZF); % MMSE检测 tx_hat_MMSE = (H'*H + noise_var*eye(Nt))\H'*rx; [~,idx_MMSE] = min(abs(bsxfun(@minus,tx_hat_MMSE,constellation)),[],2); rx_hat_MMSE = constellation(idx_MMSE); BER_MMSE(i) = BER_MMSE(i) + sum(tx ~= rx_hat_MMSE); end % 计算误码率 BER_ZF(i) = BER_ZF(i)/(Nt*size(tx_symbols,2)); BER_MMSE(i) = BER_MMSE(i)/(Nt*size(tx_symbols,2)); end % 绘制误码率曲线 semilogy(SNR_dB,BER_ZF,'o-',SNR_dB,BER_MMSE,'o-'); grid on; xlabel('SNR (dB)'); ylabel('BER'); legend('ZF','MMSE'); ``` 以上代码展示了如何使用MATLAB来实现V-Blast的ZF和MMSE检测算法的仿真。其中,首先定义了仿真参数,包括发射天线数、接收天线数、星座数和信噪比范围等;然后生成了随机的发送符号序列,将发送符号序列转化为星座点,定义信道矩阵;接着,初始化误码率结果,并开始仿真。在每个信噪比下,对于每个发送符号序列,进行ZF和MMSE检测,并计算误码率;最后,绘制误码率曲线。 需要注意的是,以上代码只是一个简单的示例,实际应用中可能会有更多的参数和复杂的算法。此外,代码中的信道矩阵是随机生成的,实际应用中需要根据具体情况来确定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值