生物信息-快速序列比对-edlib包安装与使用方法-python和dll

news2024/11/18 15:50:38

安装

下载:https://github.com/Martinsos/edlib

cd build && cmake -D CMAKE_BUILD_TYPE=Release .. && make

在这里插入图片描述

升级cmake

https://cmake.org/download/ 下载tar.gz包,我这里下载的是:
在这里插入图片描述
拷贝到 /home/xxx/app 下解压:

sudo tar xf cmake-3.25.0-rc2-linux-x86_64.tar.gz

此时/home/xxx/app/cmake-3.25.0-rc2-linux-x86_64/bin 下的cmake就是我们需要的,建立软链接:

sudo ln -sf /home/xxx/app/cmake-3.25.0-rc2-linux-x86_64/bin/cmake /usr/bin/cmake

检查版本:cmake --version

cmake version 3.25.0-rc2

CMake suite maintained and supported by Kitware (kitware.com/cmake).

linux下调用可执行程序

cd edlib-master/build/bin

time ./edlib-aligner src.txt tgt.txt -m HW -p -f NICE > st1.txt

real    0m0.002s
user    0m0.002s
sys     0m0.000s

其中src有826个碱基,tgt有1917个碱基,st1.txt部分内容如图所示:
在这里插入图片描述
中间省略
在这里插入图片描述
参数说明:

XXX@XXX-pc:~/Desktop/edlib-master/build/bin$ ./edlib-aligner

Usage: ./edlib-aligner [options...] <queries.fasta> <target.fasta>
Options:
        -s  If specified, there will be no score or alignment output (silent mode).
        -m HW|NW|SHW  Alignment mode that will be used. [default: NW]
        -n N  Score will be calculated only for N best sequences (best = with smallest score). If N = 0 then all sequences will be calculated. Specifying small N can make total calculation much faster. [default: 0]
        -k K  Sequences with score > K will be discarded. Smaller k, faster calculation. If -1, no sequences will be discarded. [default: -1]
        -p  If specified, alignment path will be found and printed. This may significantly slow down the calculation.
        -l  If specified, start locations will be found and printed. Each start location corresponds to one end location. This may somewhat slow down the calculation, but is still faster then finding alignment path and does not consume any extra memory.
        -f NICE|CIG_STD|CIG_EXT  Format that will be used to print alignment path, can be used only with -p. NICE will give visually attractive format, CIG_STD will  give standard cigar format and CIG_EXT will give extended cigar format. [default: NICE]
        -r N  Core part of calculation will be repeated N times. This is useful only for performance measurement, when single execution is too short to measure. [default: 1]

其中这个cigar,是排列的字符串形式描述。解释方法如下:

字符含义
Xmismatch (extended format)
Iinsertion
Ddeletion
=match
Mmismatch (standard format)

所以如果想得到cigar,可以用如下的命令:

xxx@xxx-pc:~/Desktop/edlib-master/build/bin$ time ./edlib-aligner src.txt tgt.txt -m HW -p -f CIG_EXT
Using HW alignment mode.
Reading queries...
Read 1 queries, 826 residues total.
Reading target fasta file...
Read target, 1917 residues.

Comparing queries to target...

Query #0 (826 residues): score = 13
Cigar:
6X1=2X1I2=1X1=1X3=1I23=1D784=

Cpu time of searching: 0.000217

real    0m0.002s
user    0m0.000s
sys     0m0.001s

所以上面示例的cigar可以解释为:6X (6个mismatch) 1= (1个match) 2X (2个mismatch) 。。。784= (784个match)
正对应这一段的匹配图:

T: TTATATATC-CCTTTGTT-GGGTTTATACCACTTAGCTTGAAAGAGGTTA (872 - 919)
         |   || | ||| ||||||||||||||||||||||| |||||||
Q: GGGGGCAGGACCGTAGTTAGGGTTTATACCACTTAGCTTGAA-GAGGTTA (0 - 48)

python版

https://pypi.org/project/edlib/

如果对c++版本有要求参见上面的cmake。pip直接安装,页面有示例
举个例子:

import edlib
# source和target使用的分别是826个和1917个碱基的序列,内容略
source = "XXX...XXXXX"
target = "xxx......XX"
alignment = edlib.align(source, target, mode="HW", task="path")
print(alignment)
print("-------------------------------------------")
s = t = ""
# - 表示gap
print(edlib.getNiceAlignment(alignment, s, t, "-"))

# 输出
# locations表示匹配的位置
{'editDistance': 13, 'alphabetLength': 4, 'locations': [(872, 1696)], 'cigar': '6X1=2X1I2=1X1=1X3=1I23=1D784='}
-------------------------------------------
{'query_aligned': '-', 'matched_aligned': '......|..-||.|.|||-|||||||||||||||||||||||-||中间省略||||||||||||||||||', 'target_aligned': '--'}

作者说还提供了R等版本,不再测试,都类似。

c#调用dll

待更新。。。

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

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

相关文章

初识C#事件

文章目录一 事件1 抛砖引玉案例1.1工具人下楼案例1.1.1 ToolMan.cs1.1.2 LazyMan.cs1.1.3 Program.cs1.1.4 测试结果1.1.5 升级到事件二 委托和事件的区别和联系一 事件 1 抛砖引玉案例 订阅和发布机制 比如说&#xff0c;我要下楼去吃饭&#xff0c;正常情况下我会问一下室友…

设计模式之适配器模式

设计模式之适配器模式 文章目录设计模式之适配器模式1. 定义2. 类型3. 场景4. 优点5. 缺点6. 适配器扩展6. 相关适配器模式7. coding7.1 被 适配者方法7.2 接口7.3 接口的实现7.4 适配者适配被适配者达到Target 目标7.5 类适配器的实现方式&#xff0c;其他的都不变8. 源码解析…

【Django】REST_Framework框架——序列化器serializers源码解析

一、序列化器类——Serializer 1、序列化器的作用 序列化器的使用分两个阶段&#xff1a; 1、在客户端请求时&#xff0c;使用序列化器可以完成对数据的反序列化&#xff08;将字典格式的数据转化为模型对象&#xff09;。 2、在服务器响应时&#xff0c;使用序列化器可以完…

网络原理——No.4 传输层_TCP协议中的延迟应答, 捎带应答, 面向字节流与TCP的异常处理

JavaEE传送门JavaEE 网络原理——No.2 传输层_TCP的连接管理 网络原理——No.3 传输层_TCP的滑动窗口, 流量控制与拥塞控制 目录延迟应答捎带应答面向字节流粘包问题TCP 中的异常处理(连接异常)TCP 和 UDP 的应用场景延迟应答 一种提高传输效率的机制, 又是基于流量控制, 来引…

Appinventor——蓝牙app(蓝牙遥控器、串口助手、温湿度显示、切换界面蓝牙依旧保持连接)

App Inventor由谷歌实验室开发&#xff0c;移交麻省理工学院&#xff0c;是一款图形化编程环境&#xff0c;不需要复杂的变成语言&#xff0c;采用搭积木的方式编程&#xff0c;只需将组件拖入即可&#xff0c;简直就是不爱编程党的超级福音 本文搭建了一个蓝牙app&#xff0c…

【CSS】CSS基础认知【CSS基础知识详解】

&#x1f338;大家好&#xff0c;我是花无缺&#xff0c;一枚热爱生活的新时代青年&#xff0c;感谢你的阅读&#x1f970;~ &#x1f468;‍&#x1f4bb;个人主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专…

女朋友说她累了之后依然在线,于是20行代码写了个小工具康康发生了什么

近发现女朋友一到晚上总是很忙的样子&#xff0c; 每晚匆匆忙忙道过晚安就说自己累了去睡觉。 是我哪里做的不对吗… 睡就睡了&#xff0c;可是&#xff0c;QQ头像却会偶尔亮起来&#xff0c; 我非常担心&#xff0c;是不是账号被盗了呢&#xff1f; 然后&#xff0c;就想帮…

Django全家桶

Django框架从入门到高级 &#xff08;一&#xff09;Django入门 Web应用 详细地址见&#xff1a;https://blog.csdn.net/DiligentGG/article/details/126606099?spm1001.2014.3001.5501 Web框架本质 web框架本质上可以看成是一个功能强大的socket服务端&#xff0c;用户的…

Android专有GitHook完结篇,发布到npm

系列文章目录 Android打造专有hook&#xff0c;让不规范的代码扼杀在萌芽之中 Android打造专有hook第二篇&#xff0c;走进规范第一步 Android打造专有Hook第三篇&#xff0c;实战全量代码规范检查 Android打造专有Hook第四篇&#xff0c;实战增量代码规范检查 Hello啊各位…

【NLP】词向量

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

阿里巴巴面试题- - -多线程并发篇(三十)

前言:七月末八月初的时候,秋招正式打响,公司会放出大量的全职和实习岗位。为了帮助秋招的小伙伴们,学长这里整理了一系列的秋招面试题给大家,所以小伙伴们不用太过焦虑,相信你们一定能超常发挥,收到心仪公司的Offer~~ 内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elast…

窥一斑而知全豹,从五大厂商看MCU国产化的机遇和挑战

&#x1f446;&#x1f446;&#x1f446; #电巢直播10月26日&#xff08;周三&#xff09;扫码参与 前言 近年来&#xff0c;MCU在各领域的应用大幅度增加。2021年全球MCU的总出货量仍旧增长12%&#xff0c;使去年全球MCU的交付量达到了309亿片的历史新高。根据IC Insights…

工业控制系统安全评估流程系统评定与分类

综述 随着计算机和网络技术的发展&#xff0c;特别是信息化与工业化## 综述 随着计算机和网络技术的发展&#xff0c;特别是信息化与工业化深度融合以及物联网的快速发展&#xff0c;工业控制 系统产品越来越多地采用通用协议、通用硬件和通用软件&#xff0c;网络威胁正在由传…

Linux文件属性与权限

目录 前言 文件权限类 文件属性 rwx 作用文件和目录的不同解释 chmod 改变权限 1&#xff09;基本语法 2&#xff09;经验技巧 3&#xff09;案例实操 chown 改变所有者 1&#xff09;基本语法 2&#xff09;选项说明 3&#xff09;实操案例 chgrp 改变所属组 …

康为世纪科创板上市破发:跌幅超10% 公司市值41亿

雷递网 雷建平 10月25日江苏康为世纪生物科技股份有限公司&#xff08;简称&#xff1a;“康为世纪”&#xff0c;股票代码为“688426”&#xff09;今日在科创板上市。康为世纪此次发行价为48.98元&#xff0c;发行2329万股&#xff0c;募资总额为11.4亿元。康为世纪开盘价为4…

【单片机毕业设计】【mcuclub-jj-048】基于单片机的水表的设计

最近设计了一个项目基于单片机的水表系统&#xff0c;与大家分享一下&#xff1a; 一、基本介绍 项目名&#xff1a;水表 项目编号&#xff1a;mcuclub-jj-048 单片机类型&#xff1a;STC89C52 具体功能&#xff1a; 1、通过继电器控制水泵&#xff0c;将水抽出经过流速传感器…

Redis实战篇一 (短信登录)

Redis企业实战&#xff08;黑马点评&#xff09;项目整体架构项目部署后端部署前端部署短信登陆基于Session实现登录集群的Session共享问题基于Redis实现共享session登录解决状态登录刷新的问题——登录拦截器的优化本期学习路线短信登陆: Redis的共享session应用 商户查询缓存…

jar包突然过大解决方法,解决ffmpeg剪辑视频导致jar过大

jar包突然过大解决方法 缘由&#xff1a; ​ 项目中要需要用到视频文件&#xff0c;为了方便用户使用&#xff0c;那么页面中就需要增加视频剪辑的相关功能&#xff0c;让用户上传视频后能够自定义的进行剪辑&#xff0c;对自己的视频做出相应的更改 结果&#xff1a; ​ 打jar…

Vue复刻华为官网 (二)

文章目录1 推荐信息1.1 思路1.2 代码1.3 知识补充1.4 效果图2 宣传海报2.1 思路2.2 代码2.3 效果图3 新闻与活动3.1 思路3.2 代码3.3 效果图1 推荐信息 1.1 思路 看了这个gif后&#xff0c;可以清楚的看到产生了三个动画效果&#xff1a;图片"拉近"&#xff0c;"…

js 实现页面隐藏、关闭、刷新给出对应的提示

我们在做项目的时候经常会遇到一些需求&#xff0c;比如在某些页面当点击浏览器刷新 或者关闭的时候会有对应的提示&#xff0c;是否离开或者重新加载此网站。比如csdn写文章的时候就有这个弹窗&#xff0c;这功能就是用onbeforeunload实现的。 注意&#xff1a;如果你加载下面…