解压缩parasail-v1.0.1.zip 光盘 副尾-1.0.1 mkdir构建 光盘 建造 cmake。。 制作
sudo apt-get安装\ gcc-arm-linux-gnueabi公司\ g++-臂-linux-gnueabi\ gcc-arm-linux-gnueabihf\ g++-臂-linux-gnueabihf\ gcc-aarch64-linux-gnu\ g++-aarch64-linux-gnu
# 对于aarch64 ./configure CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-nu-g++--构建x86_64-pc-linux-gnu--主机aarch64-linux-gnu LDFLAGS=-static--不带-zlib # 对于gnueabi ./configure CC=arm-linux-gnueabi-gcc CXX=arm-lineux-gnue abi-g++--构建x86_64-pc-linux-gnu--主机arm-linux-gnueabi LDFLAGS=-static--不带-zlib # 对于gnueabihf ./configure CC=arm linux gneabihf gcc CXX=arm-linux-gneabihf-g++--构建x86_64-pc-linux-gnu--主机arm linux gneabihf LDFLAGS=-static--不带zlib
# 对于aarch64 qemu-aarch64-L/usr/aarch64-linux-gnu/ 应用程序/parasail_aligner # 对于gnueabi qemu-arm-L/usr/arm-linux-gnueabi/ 应用程序/parasail_aligner # 对于gnueabihf qemu-arm-L/usr/arm-linux-gnueabihf/ 应用程序/parasail_aligner
parasail_结果_t * parasail函数名 ( 常数 烧焦 * 常数 限制 s1 , 常数 整数 s1长度 , 常数 烧焦 * 常数 限制 第2页 , 常数 整数 s2长度 , 常数 整数 打开 , 常数 整数 缺口 , 常数 副邮件矩阵 * 矩阵 );
类型定义 结构 副疾病结果 { 整数 分数 ; /*校准分数*/
整数 结束查询(_Q) ; /*查询序列的结束位置*/
整数 结束引用(_R) ; /*参考序列的结束位置*/
整数 旗帜 ; /*各种标志的位字段*/
空隙 * 额外的 ; } parasail_结果_t ; /*在parasail.h中,result getter函数*/
副轨道_检波器_t * parasail_result_get_cigar公司 ( parasail_结果_t * 结果 , 常数 烧焦 * 序列分析 , 整数 莉娜 , 常数 烧焦 * 序列B , 整数 透镜 , 常数 副邮件矩阵 * 矩阵 ); 整数 parasail结果获取核心 ( 结果 ); 整数 parasail结果获取结束查询 ( 结果 ); 整数 副邮件结果获取结束 ( 结果 ); 整数 副邮件结果获取匹配 ( 结果 ); 整数 parasail结果类似 ( 结果 ); 整数 副邮件结果获取长度 ( 结果 ); 整数 * parasail结果获取核心表 ( 结果 ); 整数 * 副邮件结果获取匹配表 ( 结果 ); 整数 * parasail结果获取相似表 ( 结果 ); 整数 * parasail结果获取长度表 ( 结果 ); 整数 * 副轨道_结果_获取_核心_低 ( 结果 ); 整数 * 副邮件结果获取匹配行 ( 结果 ); 整数 * parasail_result_get_simir_row ( 结果 ); 整数 * 副轨道_结果_获得_长度_低 ( 结果 ); 整数 * 副邮件结果获取核心 ( 结果 ); 整数 * 副邮件结果获取匹配项col ( 结果 ); 整数 * parasail结果get_similar_col ( 结果 ); 整数 * 准故障结果集长度 ( 结果 ); 整数 * parasail结果获取跟踪表 ( 结果 ); 整数 * parasail_结果_获取_跟踪_表格 ( 结果 ); 整数 * parasail结果获取跟踪表 ( 结果 ); 整数 副邮件_结果_新 ( 结果 ); 整数 parasail_result_is_sg ( 结果 ); 整数 副邮件结果 ( 结果 ); 整数 副邮件_结果_饱和 ( 结果 ); 整数 parasail结果绑定 ( 结果 ); 整数 副邮件结果扫描 ( 结果 ); 整数 parasail结果_条带化 ( 结果 ); 整数 副邮件结果_诊断 ( 结果 ); 整数 parasail_result_is_阻塞 ( 结果 ); 整数 副邮件结果统计 ( 结果 ); 整数 副邮件结果统计表 ( 结果 ); 整数 parasail_result_is_stats_rowcol ( 结果 ); 整数 parasail结果表 ( 结果 ); 整数 parasail_result_is_rowcol ( 结果 ); 整数 副邮件结果跟踪 ( 结果 );
非矢量化的参考实现。 必需,请从上表中选择算法。 可选返回对齐统计信息。 可选返回DP表或最后一行/列。 可选使用前缀扫描实现。 parasail{nw,sg,sgqb,sgq,sg qx,sg_db,sg _de,sg d_dx,sg q b_de,sg q e db,sg g q b de,sw}[状态][{表,rowcol}][扫描]
非矢量化、可回溯的引用实现。 必需,请从上表中选择算法。 可选使用前缀扫描实现。 parasail{nw,sg,sgqb,sgq,sgx,sg_db,sgde,sgd_dx,sg qb_de,sg q e db,sg g q b db,s g q e de,sw}trace[扫描]
矢量化。 必需,请从上表中选择算法。 可选返回对齐统计信息。 可选返回DP表或最后一行/列。 必需的,选择矢量化策略——条带化是一个很好的起点,但扫描对于全局对齐来说通常更快。 可选,选择矢量指令集。 否则,我们会为您选择最好的。 必需,请选择解决方案宽度。' sat’将尝试8位解决方案,但如果检测到溢出,它将执行16位操作。 在某些情况下可以更快,尽管16位通常就足够了。 parasail_{nw,sg,sg_qb,sgqe,sgxqx,sg_db,sgde,sg _dx,sg qb_de,sg-qe_db,sg q e_de,sw}[状态][{表,rowcol}]{字符串,扫描,诊断}[{_sse2_128,_sse41_128,_avx2_256,_altivec128,_neon_128}]{_8,_16,_32,_64,_sat}
矢量化,可追溯。 必需,请从上表中选择算法。 必需的,选择矢量化策略——条带化是一个很好的起点,但扫描对于全局对齐来说通常更快。 可选,选择矢量指令集。 否则,我们会为您选择最好的。 必需,请选择解决方案宽度。' sat’将尝试8位解决方案,但如果检测到溢出,它将执行16位操作。 在某些情况下可以更快,但16位通常就足够了。 parasail_{nw、sg、sg_qb、sg_qe、sg_qx、sg_db、sg_de、sg_dx、sg_qb_de、sg_qe_db、sg_qe_de、sw}_trace{_striped、_scan、_diag}[{_sse2_128、_sse41_128、_avx2_256、_altive_128、_neon_128}]{_8、_16、_32、_64、_sat}
parasail_nw_stats_striped_sse41_128_16 是Needleman-Wunsh全局对齐,带有对齐统计信息,对sse41 16位整数使用带条向量。 副翼_ sg 是半全局的,不惩罚两个序列的开始或结束间隙,没有对齐统计信息,没有矢量化代码(即串行)。 副轨_宽_宽_长_宽x2_256_8 是Smith-Waterman局部对齐,没有对齐统计信息,并对avx2 8位整数使用前缀扫描向量。 parasail_nw_stats_scan_16 是Needleman-Wunch全局对齐,具有对齐统计信息,使用前缀扫描向量,分派到最佳CPU指令集,并使用16位整数。 副轨_横档_横档_16 是半全局对齐,无对齐统计信息,输出DP表的最后一行和最后一列,使用条带化向量,分派到16位整数的最佳CPU指令集。 副轨道(带轨道) 使用本地对齐,可追溯,分派到最佳CPU指令集,并在尝试16位解决方案之前尝试8位解决方案。 副轨sgqxtracestriped_32 是半全局对齐,不惩罚查询的开始或结束间隙,可回溯,分派给最佳CPU指令集,使用32位整数作为解决方案。
可选,为返回统计信息的函数准备查询配置文件。 统计信息需要分配额外的数据结构。 可选,选择矢量指令集。 否则,我们会为您选择最好的。 必需,请选择解决方案宽度。' sat将为8位和16位解决方案分配配置文件。 parasail_profile_create[_stats][{_sse_128,_avx_256,_altive_128,_neon_128}]{_8,_16,_32,_64,_sat}
parasail_profile_t * 副邮件_配置文件_创建_8 ( 常数 烧焦 * 常数 限制 s1 , 常数 整数 s1长度 , 常数 副副翼 * 矩阵 );
空隙 parasail_profile_free(无副邮件配置文件) ( parasail_profile_t * 轮廓 );
#包括 “parasail.h”
#包括 “parasail/mattrics/blosum62.h”
#包括 “parasail/matrix_lookup.h”
整数 主要的 ( 整数 argc公司 , 烧焦 * * 自动变速箱 ) { 常数 烧焦 * s1 = “asdf” ; 常数 烧焦 * 第2页 = “asdf” ; 整数 s1长度 = ( 整数 ) 斯特伦 ( s1 ); 整数 s2长度 = ( 整数 ) 斯特伦 ( 第2页 ); parasail_结果_t * 结果 = 无效的 ; 常数 副邮件矩阵 * 矩阵 = 无效的 ; /*注意运算符“&”的地址*/
结果 = 副帆 ( s1 , s1长度 , 第2页 , s2长度 , 11 , 1 , & 副翼_伞62 ); parasail_result_free(无结果) ( 结果 ); 矩阵 = 副邮件矩阵查找 ( “pam100” ); 结果 = 副帆 ( s1 , s1长度 , 第2页 , s2Len公司 , 11 , 1 , 矩阵 ); parasail_result_free(无结果) ( 结果 ); }
#包括 “遮阳伞.h”
#包括 “parasail/mattrics/blosum62.h”
#包括 “parasail/matrix_lookup.h”
整数 主要的 ( 整数 argc公司 , 烧焦 * * 自动变速箱 ) { 常数 副邮件矩阵 * 矩阵 = 无效的 ; 副邮件矩阵 * 用户矩阵(_M) = 无效的 ; 矩阵 = 副邮件矩阵查找 ( “blosum62” ); 用户矩阵 = 副邮件矩阵副本 ( 矩阵 ); /*替换[2,4]位置的值*/
副邮件矩阵设置值 ( 用户矩阵 , 2 , 4 , 200 ); 无副邮件矩阵 ( 用户矩阵 ); 用户矩阵 = 副邮件矩阵创建 ( “ACGT” , 2 , -1 ) /*替换[1,1]位置的值,以获得更大的匹配*/
副邮件矩阵设置值 ( 用户矩阵 , 1 , 1 , 20 ); 无副邮件矩阵 ( 用户矩阵 ); }
#包括 “parasail.h”
#包括 “parasail/mattrics/blosum62.h”
整数 主要的 ( 整数 argc公司 , 烧焦 * * 自动变速箱 ) { 常数 副邮件矩阵 * 内部矩阵 = 无效的 ; 副邮件矩阵 * 用户矩阵 = 无效的 ; 常数 烧焦 * pssm_字母表 = “abcdef” ; 常数 烧焦 * pssm_查询 = “asdf” ; 整数 pssm查询长度 = 4 ; 常数 整数 pssm_值 [] = { 0 , 1 , 2 , 三 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 }; 常数 整数 pssm_行 = 4 ; 用户矩阵(_M) = 副邮件矩阵创建 ( pssm_字母表 , pssm_值 , pssm_行 ); 无翼伞 ( 用户矩阵 ); 内部矩阵 = 副邮件矩阵查找 ( “blosum62” ); 用户矩阵 = 副邮件矩阵转换成方形 ( 内部矩阵 , pssm_查询 , pssm查询长度 ); 无副邮件矩阵 ( 用户矩阵 ); }
# #任何以“#”开头的行都是注释。 # #需要一行字母。 第一列是 #字母表并假定与第一个字母表行相同。 # #最后一行和最后一列*必须是要表示的非字母字符 #字母表之外的任何输入序列字符。 # A T G C S W R Y K M B V H D N U公司* A 5-4-4-4-4 1 1-4-4 1-4-1-1-1-1-2-4-5 电话-4 5-4-4 1-4 1-1-4-1-1-2 5-5 政府-4-4 5-4 1-4 1-4 1-4-1-4-1-2-4-5 C-4-4-4 5 1-4-4 1-4 1-1-1-1-4-2-4-5 S-4-4 1 1-1-4-2-2-1-3-1-4-5 W 1 1-4-4-1-2-2-2-3-1-1-1-1-5 R 1-4 1-4-2-2-1-4-2-2-3-1-3-1-1-4-5 Y-4 1-4 1-2-2-4-1-2-1-3-3-1-1-5 K-4 1 1-4-2-2-2-1-4-1-3-1-1 1 1-5 M 1-4-4 1-2-2-4-1-3-1-1-3-1-3-1-4-5 B-4-1-1-1-3-3-1-1-3-1-2-2-2-2-1-5 V-1-4-1-1-1-3-3-1-2-1-2-1-4-5 H-1-1-4-1-3-1-3-1-1-3-1-2-1-2-1-1-1-1-5 D-1-1-1-4-3-1-1-3-1-3-2-2-1-1-1-1-5 编号-2-2-2-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-2-1-2-1-5 U-4 5-4-4 1-4 1-1-4-1-1-2 5-5 *-5-5-5-5-5-5-5-5-5-5-5-5-5-5-5-5-5-5-5-5-5-5-5-5-5-5
# #任何以“#”开头的行都是注释。 # #需要字母表的第一行。 #包含代表序列的第一列是可选的,但包含在下面的示例中。 # A G I L V M F W P C S T Y N Q H K R D E公司 Y-5-6 3-4 2 1 4-3 0-5 0-4 6 0-5-4-5 2-6-5 S-1-5 2-2 0-4 1-6 0 1 3-4-4-5-1 1-5-1 C-4-6-5-5-4-5-6-6-6-6-12-4-4-6-6-6-7-7-7-7 D-1-5-7-7-6-6-7-7-7-7-5-5-7-3-1-6-4-3-3-0-17-2 G 0 4 1-2-2-5-6-6-5-2 0 2-4 3-5-5-5 0 C-4-6-5-5-4-5-6-6-6-6-12-4-4-6-6-6-7-7-7-7 L-4 3-1 3-1-3-5-6-5-60-4-5 1 3-5 1 0-1-1 K-2 1 1-2-1 3-5-6-5-5 2 2 0 1 1 2-4-4 0 P-2 0-4 0-2-4-5-5 5-5-3-1 1 1-3 2-4 4 1 3 I-5-7 7 1 0-2 3-5-6-5 0-4-4-1-6 3-6-6 6-6
类型定义 结构 副邮件结果 { 单位16_t 得分1 ; 整数32_t 参考开始1 ; 整数32_t 参考结束1 ; 内部32(_t) 阅读开始1 ; 整数32_t 读取结束1 ; uint32_t中 * 雪茄 ; 内部32(_t) 香烟Len ; } 副邮件结果 ; 副邮件结果 * 副邮件_ssw ( 常数 烧焦 * 常数 限制 s1 , 常数 整数 s1Len公司 , 常数 烧焦 * 常数 限制 第2页 , 常数 整数 s2长度 , 常数 整数 打开 , 常数 整数 缺口 , 常数 副邮件矩阵 * 矩阵 ); 副邮件结果 * parasail_ssw_配置文件 ( 常数 parasail_profile_t * 常数 限制 轮廓 , 常数 烧焦 * 常数 限制 第2页 , 常数 整数 s2长度 , 常数 整数 打开 , 常数 整数 缺口 ); parasail_profile_t * parasail_ssw_输入 ( 常数 烧焦 * 常数 限制 s1 , 常数 整数 s1长度 , 常数 副邮件矩阵 * 矩阵 , 常数 整数8_t 记分_大小 ); 空隙 无副邮件结果 ( 副邮件结果 * 结果 ); 空隙 parasail_profile_free(无副邮件配置文件) ( parasail_profile_t * 轮廓 );
#包括 “parasail.h”
#包括 “parasail/mattrics/blosum62.h”
整数 主要的 ( 整数 argc公司 , 烧焦 * * 自动变速箱 ) { 常数 烧焦 s1 = “asdf” ; 常数 烧焦 第2页 = “asdf” ; 整数 s1长度 = ( 整数 ) 斯特伦 ( s1 ); 整数 s2长度 = ( 整数 ) 斯特伦 ( 第2页 ); parasail_结果_t * 结果 = 无效的 ; 常数 副邮件矩阵 * 矩阵 = 无效的 ; parasail_function_t * 功能 = 无效的 ; 功能 = parasail_lookup_function函数 ( 自动变速箱 [ 1 ]); 结果 = 功能 ( s1 , s1长度 , 第2页 , s2长度 , 11 , 1 , & 副翼_伞62 ); parasail_result_free(无结果) ( 结果 ); /*“parasail_”前缀是可选的*/
功能 = parasail_lookup_函数 ( “nw_striped_32” ); 结果 = 功能 ( s1 , s1长度 , 第2页 , s2长度 , 11 , 1 , & 半故障_损失62 ); parasail_result_free(无结果) ( 结果 ); }
parasail_结果_t * parasail_nw_banded ( 常数 烧焦 * 常数 限制 s1 , 常数 整数 s1长度 , 常数 烧焦 * 常数 限制 第2页 , 常数 整数 s2长度 , 常数 整数 打开 , 常数 整数 缺口 , 常数 整数 k个 , 常数 副邮件矩阵 * 矩阵 );
结果 = 副帆 ( 无效的 , 0 , 第2页 , s2长度 , 11 , 1 , 矩阵_pssm );
类型定义 结构 准静态 { 尺寸_t 我 ; 烧焦 * 秒 ; } 副轨道字符串 ; 类型定义 结构 副航次 { 准ail_string_t 名称 ; 副轨道字符串 评论 ; 副轨道字符串 序列 ; 副轨道字符串 质量 ; } 副故障序列 ; 类型定义 结构 副航次 { 副航次 * 序列号 ; 大小_t 我 ; 尺寸_t 字符 ; 大小_t 最短的 ; 尺寸_t 最长的 ; 浮动 意思是 ; 浮动 标准偏差 ; } 副尾序列 ; 副尾序列 * 副邮件序列来自文件 ( 常数 烧焦 * 文件名 ); 空隙 parasail_sequences_free ( 副尾序列 * 序列 );
空隙 parasail_traceback_通用 ( 常数 烧焦 * 序列分析 , 整数 莉娜 , 常数 烧焦 * 序列B , 整数 透镜 , 常数 烧焦 * 名称A , 常数 烧焦 * 名称B , 常数 副邮件矩阵 * 矩阵 , parasail_结果_t * 结果 , 烧焦 比赛 , /*用于匹配的字符*/
烧焦 销售时点情报系统 , /*用于正值不匹配的字符*/
烧焦 否定 , /*用于负值不匹配的字符*/
整数 宽度 , /*包裹前要显示的回溯宽度*/
整数 名称_宽度 , 整数 使用状态(_S) ); /*如果为0,则不显示统计信息;如果非零,则显示摘要统计信息*/
空隙 parasail_traceback_generic_extra(副轨道回退通用附加) ( 常数 烧焦 * 序列分析 , 整数 莉娜 , 常数 烧焦 * 序列B , 整数 lenb公司 , 常数 烧焦 * 名称A , 常数 烧焦 * 名称B , 常数 副邮件矩阵 * 矩阵 , parasail_结果_t * 结果 , 烧焦 比赛 , /*用于匹配的字符*/
烧焦 销售时点情报系统 , /*用于正值不匹配的字符*/
烧焦 否定 , /*用于负值不匹配的字符*/
整数 宽度 , /*包裹前要显示的回溯宽度*/
整数 名称_宽度 , 整数 使用状态(_S) , /*如果为0,则不显示统计信息;如果非零,则显示摘要统计信息*/
整数 整数_宽度 , /*用于引用和查询索引的宽度*/
文件 * 流动 ); /*打印到自定义文件流*/
目标:81 EVAKDADLVIEAIPE--IFDLKKVFSEIEQYCP 112 |*||***||*|**|* **|***|***|*****| 查询:170 EEAKNLGLVAEVFPQERFWDEVMKLAREVAELPP 203 长度:34 身份:11/34(32.4%) 相似度:32/34(94.1%) 差距:2/34(5.9%) 得分:37
类型定义 结构 副翼_雪茄_ { uint32_t中 * 序列 ; 整数 伦恩 ; 整数 开始查询(_Q) ; 整数 贝格_雷夫 ; } 副轨道_检波器_t ; 副轨道_检波器_t * parasail_result_get_cigar公司 ( 准故障结果 * 结果 , 常数 烧焦 * 序列分析 , 整数 莉娜 , 常数 烧焦 * 序列B , 整数 透镜 , 常数 副邮件矩阵 * 矩阵 ); 空隙 副轨_无间隙 ( 副轨道_检波器_t * 雪茄 ); uint32_t中 parasail_cigar编码 ( uint32_t中 长度 , 烧焦 op_字母 ); 副轨道_检波器_t * 副轨道_检波器_编码_字符串 ( 常数 烧焦 * 雪茄 ); 烧焦 parasail_cigar_decode_op ( uint32_t中 香烟_ int ); uint32_t中 parasail_cigar_decode_len ( uint32_t中 香烟_ int ); 烧焦 * parasail_cigar解码 ( 副轨道_检波器_t * 雪茄 );
. The
类型定义 结构 并行跟踪_ { 烧焦 * 查询 ; 烧焦 * comp公司 ; 烧焦 * 裁判 ; } parasail_traceback_t ; 外部的 parasail_traceback_t * parasail_result_get_traceback返回 ( parasail_结果_t * 结果 , 常数 烧焦 * 序列分析 , 整数 莉娜 , 常数 烧焦 * 序列号B , 整数 透镜 , 常数 副邮件矩阵 * 矩阵 , 烧焦 比赛 , 烧焦 销售时点情报系统 , 烧焦 否定 ); 外部 空隙 parasail_traceback_free ( parasail_traceback_t * 追溯 );
-
巴特尔纪念研究所(以下简称巴特尔)特此授予 允许任何人或实体合法获得本文件副本 软件和相关文档文件(以下简称“ 软件”)重新发布并使用源代码和二进制文件中的软件 表格,可以修改也可以不修改。 该个人或实体可以使用, 复制、修改、合并、发布、分发、再授权和/或销售 软件的副本,并可能允许其他人这样做,但须遵守 以下条件: -
重新分发源代码必须保留上述版权 请注意,此条件列表和以下免责声明。 -
二进制形式的重新分发必须复制上述版权 注意,此条件列表和以下免责声明 随附的文件和/或其他材料 分配。 -
除了此处使用的名称外,巴特尔纪念馆(Battelle Memorial) Institute或Battelle可以任何形式使用 巴特尔的明确书面同意。 -
以任何形式重新分发软件和出版物 根据使用软件执行的工作,应包括 以下引用作为参考:
每天,杰夫。 (2016). Parasail:全球SIMD C库, 半全局和局部成对序列比对。 BMC公司 生物信息学 , 17(1), 1-11. doi:10.1186/s12859-016-0930-z -
-
本软件由版权持有者和贡献者提供 “原样”和任何明示或暗示的保证,包括但不包括 仅限于适销性和适用性的默示保证 出于特定目的,特此声明。 在任何情况下都不得使用电池 或出资人对任何直接、间接、偶然、, 特殊、惩戒性或后果性损害(包括但不包括 仅限于采购替代货物或服务; 损失 使用、数据或利润; 或业务中断) 根据任何责任理论,无论是合同责任还是严格责任, 或以任何方式产生的侵权行为(包括疏忽或其他) 使用该软件,即使被告知可能 此类损坏。