未知

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行情>
  1. 复制输入数据。
  2. 对两者中的某些字符执行替换 一组数据,以创建plink兼容字符(即"-"到"0")。
  3. 独立索引两组数据。
  4. 组合两组数据。
  5. 对组合索引进行排序。
  6. 转换组合数据。
  7. 输出到plink兼容的pedmap格式。
  8. < > >

    而在这些步骤之前,则是使用各种软件手动执行的 软件包,现在将自动执行。

    除了转换操作外,还有其他函数 要执行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行情>
    • 基于云的预建图像分发,
    • 将来的版本将允许本地Docker容器,并且
    • 易于复制虚拟映像创建。

    ###为什么是蟒蛇?

    python是一种功能强大且富有表现力的脚本语言。它有很多 多样的软件包,并得到开发人员的良好支持(例如, FastStructure是用Python编写的)。

    ##依赖关系

    在任何平台上安装时,都有许多必需的依赖项:

    < Buff行情>
    • 巨蟒
    • 码头工人

    如果您碰巧安装在Windows上,则有几个额外要求:

    < Buff行情>
    • Visual Studio Python编译器
    • msysgit

    ##重要

    我们发现Docker在Windows上运行时有问题,导致数据错误 转变。虽然您可以在windows系统上安装laa,但是 结果可能会受损。

    要在windows上安装,我们建议使用运行ubuntu的虚拟机 安装,例如vmware all s下面详细说明的安装步骤必须 通过虚拟机执行,包括安装Docker。

    ##安装

    首先,将操作系统的所有依赖项安装为 上面列出。

    完成后,打开系统终端(请参阅系统终端部分 下面,在用法下。

    在开放系统终端上,使用以下命令安装laa python接口:

    "巴什" pip install蜥蜴非常棒

    接下来,从系统终端下载并准备laadocker映像。这个 图像包含plinkfasttrastructure和转换脚本,都是构建的 进入轻量级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格式:

    TT> CSV pminima,pminima,pminor,pminima,pminor,pminima 蜥蜴1,蜥蜴2,蜥蜴15,蜥蜴39,蜥蜴40,蜥蜴44 01,1,1,2.1,1 0、0、0、1、0、0 1,-,1,0,1,10,0,1,0,-,0 2,2,1,1,1,2 2,2,1,2,1 0 1,1,1,1,2-1 1,1,1,2,01,1 0、0、0、0、0、0 -,1,2,1,1,1

    ###位置

    所有的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可以替换为相应的命令帮助。

    欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


热门话题
java窗口。位置和窗口。公开问题   java如何从存储在ArrayList<Node>中的动态生成的文本字段中获取文本?   java如何立即关闭InputStream?   如何重新启动Java程序以激活环境变量   java搜索字符串是否相差一个字符   java CFB模式输出与CTR输出相同;我做错什么了吗?   java如何在javaFX中将实例化对象添加到Stage   java如何在jtextarea上打印来自不同类的文本消息   java以编程方式确定IOException的原因?   限制Java NIO通道(文件或socket)中的可用内容   javajaxb与JDOM:是否可以使用JAXB更新xml文件   批处理文件到java测试   JavaFX:stage的作用是什么。可设置大小(false)是否会导致额外的页边距?   java有没有办法告诉IntelliJ按需堆叠参数?   java Seam会话范围的组件在下一个请求中消失   java Google Web Toolkit对开发复杂的java脚本有用吗?   安卓 studio java ArrayList正在检索最高值   java为什么递归地用随机数填充LinkedList时会出现StackOverflowException?