未知
lizards-are-awesome的Python项目详细描述
#蜥蜴很厉害
基于Docker的工作流,用于执行PLink/FastStructure分析 从excel文件推断的dartseq snp数据。
##概述
此软件旨在减少准备dartseq snp所需的人工劳动 一行格式的数据,用于plink和faststructure分析。LAA是专门为 由dartseq以1行格式生成的snp数据集。因此,输入 数据将是dartseq提供的以下元数据:"0"= 参考等位基因纯合子,"1"=SNP等位基因纯合子,"2"= 杂合子,"-"=双零/零等位基因纯合子(缺失 在基因组表达中具有snp的片段)。LAA第一个皈依者 这些数据输入到PED和地图文件中,以便进行PLINK分析。
除了上面提到的 外部包,是用python脚本完成的。主要业务 由脚本执行的是:
< Buff行情>- 复制输入数据。
- 对两者中的某些字符执行替换 一组数据,以创建plink兼容字符(即"-"到"0")。
- 独立索引两组数据。
- 组合两组数据。
- 对组合索引进行排序。
- 转换组合数据。
- 输出到plink兼容的ped和map格式。 < > >
- 基于云的预建图像分发,
- 将来的版本将允许本地Docker容器,并且
- 易于复制虚拟映像创建。
- 巨蟒
- 码头工人
- Visual Studio Python编译器
- msysgit
而在这些步骤之前,则是使用各种软件手动执行的 软件包,现在将自动执行。
除了转换操作外,还有其他函数 要执行plink和faststructre的分析运行,请传递数据文件 在两个程序之间自动切换。
除了转换操作外,laa还自动启动 程序在生成的ped和map文件上plink,以及 然后将生成的bed、bim和fam文件传递给并分析 结构紧凑。用户最多可以选择k(个 人口)由FastStructure分析。输出文件包括 每个个体的平均值,定义平均概率 属于k1到kx的任何一个种群。
##设计决策
###为什么是Docker?
plink是为基于linux的操作系统编写的。在Linux系统上也是如此 所有操作都可以直接执行,不需要任何类型的 虚拟化层。但是,为了支持研究人员使用基于windows的 操作系统决定利用Docker虚拟化。
Docker提供了一个轻量级的虚拟化层,使Linux软件能够 在windows上运行相对容易。它还有一个额外的好处是 一种基于云的向用户传播软件"图像"的机制。优势 Docker超过其他系统,如VirtualBox或VMWare,是:
< Buff行情>###为什么是蟒蛇?
python是一种功能强大且富有表现力的脚本语言。它有很多 多样的软件包,并得到开发人员的良好支持(例如, FastStructure是用Python编写的)。
##依赖关系
在任何平台上安装时,都有许多必需的依赖项:
< Buff行情>如果您碰巧安装在Windows上,则有几个额外要求:
< Buff行情>##重要
我们发现Docker在Windows上运行时有问题,导致数据错误 转变。虽然您可以在windows系统上安装laa,但是 结果可能会受损。
要在windows上安装,我们建议使用运行ubuntu的虚拟机 安装,例如vmware all s下面详细说明的安装步骤必须 通过虚拟机执行,包括安装Docker。
##安装
首先,将操作系统的所有依赖项安装为 上面列出。
完成后,打开系统终端(请参阅系统终端部分 下面,在用法下。
在开放系统终端上,使用以下命令安装laa python接口:
"巴什" pip install蜥蜴非常棒接下来,从系统终端下载并准备laadocker映像。这个 图像包含plink,fasttrastructure和转换脚本,都是构建的 进入轻量级alpine linux映像:
"巴什" LAA初始化##用法
###端子
当前使用是直接从操作系统终端完成的。在Linux 像操作系统(包括mac os x)一样,使用系统终端模拟器。在 Windows操作系统使用Docker快速启动终端。
###输入格式
LAA接受XLSX Excel格式和CSV。不幸的是,xlsx非常慢 使用opensource实用程序进行分析。因此,我们建议转换您的excel 在与LAA一起使用之前将数据保存到CSV(只需使用 Microsoft Office或OpenSource电子表格工具,如libre 办公室)
数据表应仅包含包含dartseq snp数据的列 (即0、1、2和-),必须移除所有其他柱。 第一行应分别包含填充的名称 个人属于(如物种),第二行应包含 每个人的ID。以下所有行都包含snp数据。
一个简短的虚构的例子:
<;table class="table table bordered table hover table condensed">; <;tbody>;<;tr>;<;td>;pminima<;/td>; <;td>;pminima<;td>; <;td>;pminor<;td>; <;td>;pminima<;td>; <;td>;pminor<;td>; <;td>;pminima<;td>; 和; <;tr>;<;td>;蜥蜴1<;/td>; <;td>;蜥蜴2<;td>; <;td>;蜥蜴15<;td>; <;td>;蜥蜴39<;td>; <;td>;蜥蜴40<;td>; <;td>;蜥蜴44<;td>; 和; <;tr>;<;td>;0<;/td>; <;td>;1<;td>; <;td>;1<;td>; <;td>;2<;td>; <;td>;1<;td>; <;td>;1<;td>; 和; <;tr>;<;td>;0<;/td>; <;td>;0<;td>; <;td>;0<;td>; <;td>;1<;td>; <;td>;0<;td>; <;td>;0<;td>; 和; <;tr>;<;td>;1<;/td>; <;td>;-<;td>; <;td>;1<;td>; <;td>;0<;td>; <;td>;1<;td>; <;td>;1<;td>; 和; <;tr>;<;td>;0<;/td>; <;td>;0<;td>; <;td>;1<;td>; <;td>;0<;td>; <;td>;-<;td>; <;td>;0<;td>; 和; <;tr>;<;td>;2<;/td>; <;td>;2<;td>; <;td>;1<;td>; <;td>;1<;td>; <;td>;1<;td>; <;td>;2<;td>; 和; <;tr>;<;td>;2<;/td>; <;td>;2<;td>; <;td>;1<;td>; <;td>;2<;td>; <;td>;1<;td>; <;td>;0<;td>; 和; <;tr>;<;td>;1<;/td>; <;td>;1<;td>; <;td>;2<;td>; <;td>;1<;td>; <;td>;2<;td>; <;td>;1<;td>; 和; <;tr>;<;td>;1<;/td>; <;td>;1<;td>; <;td>;1<;td>; <;td>;2<;td>; <;td>;0<;td>; <;td>;1<;td>; 和; <;tr>;<;td>;0<;/td>; <;td>;0<;td>; <;td>;0<;td>; <;td>;0<;td>; <;td>;0<;td>; <;td>;0<;td>; 和; <;tr>;<;td>;-<;/td>; <;td>;1<;td>; <;td>;2<;td>; <;td>;1<;td>; <;td>;1<;td>; <;td>;1<;td>; 和; <;/tbody>;<;/table>;
并且,以csv格式:
###位置
所有的laa命令都必须在csv输入文件所在的目录下运行 在。在示例中,假设我们有一个输入文件,input.csv, 位于/c/workspace/data:
"巴什" CD/C/工作区/数据###快速运行
执行整个过程,包括转换、plink、faststructre和 分析k值时,只需运行:
"巴什" laa all input.csv--最大值=5其中,–maxk=5可替换为最大k值的适当值 使用.
这将在当前工作目录中生成一系列文件 转换、plink和fastrestructure的输出。
###转换
转换输入数据将形成重组、换位、输出 到PED文件,并生成适当的映射文件:
"巴什" LAA转换input.csv output.ped这将生成两个文件:output.ped,和output.map。这些文件是 适用于PLINK。
###叮当声
要使用plink处理转换后的输入文件,请运行:
"巴什" Laa Plink输出.ped###快速结构
要使用FastStructure处理plink输出,请运行:
"巴什" LAA快速输出###K选择
多次运行FastStructure,然后选择适当的 k值,运行:
"巴什" laa choosek输出--maxk=5其中,–maxk=5可替换为最大k值的适当值 使用.
##获取帮助
命令行始终提供帮助。要获得可用命令的打印输出, 运行:
"巴什" laa-h您还可以使用以下命令获得特定命令的帮助:
"巴什" laa转换-h其中convert可以替换为相应的命令帮助。