我应该使用什么服务进行亚马逊AWS中的基因组和测序相关分析

时间:2017-02-04 00:37:44

标签: amazon-web-services unix amazon-s3 amazon-ec2

我是AWS计算的新手。

我有几个太字节测序数据。 从他们那里,我想处理标准计算,如将读数映射到基因组等。

首先,我将数据上传到亚马逊云。 通过在集群上提交多个作业来执行计算, 这样它就可以并行执行。我正在考虑这样做 ala LSF(bsub)或PBS(qsub)。 此外,还有其他想要执行的团队成员 AWS云上的类似分析。

我不知道该怎么做。我应该使用哪些服务?

  • 我应该去EC2(有多少个实例等)?
  • 我应该使用S3还是EFS作为数据存储?
  • 将数据发送到云的最佳方式是什么? (类似UNIX的SCP或aws)?
  • 如何将作业提交到多个群集?

1 个答案:

答案 0 :(得分:1)

可以在AWS上运行LSF并well-documented。基本上,您使用EFS后端建立一个vanilla EC2集群,并使用LFS来使用您的数据并生成输出。这是否绝对是最好的架构是值得商榷的:AWS提供了一个完整的工具箱,可以完成LSF所做的工作,彼此更深入地集成,并且每个美元可能具有更好的性能。但是,它需要重新思考一个不是围绕LSF构建的解决方案,因此ECS + EFS的边际成本可能是值得的。

将数据放入群集应该是直截了当的,并且合理地抵抗rsync的失败。尽可能打包您身边的数据流,一次将最小的可行单元发送到集群:这将使作业尽可能快地进行,并有助于使传输对生产者更具弹性 - 中断。

如果您使用LSF作为职位选手,那么您向其提交职位的方式是standard LSF file。单个EC2可以充当“网关”,接收作业文件并等待数据流可用。或者,您可以建立AWS ELB(负载均衡器)作为前端网关,将该管理工作分配给负载均衡器中的所有计算机。或者您可以使用SQS将作业定义保留在stasis中直到流到达,这将保护作业定义免于丢失任何特定的EC2实例。

另一方面,您可以使用Amazon Kinesis之类的东西来管理传入的数据流并在其上运行并行作业。这消除了对LFS的需求,将其替换为AWS工具箱:Kinesis(Firehose + Streams)+ EMR(Elastic Map Reduce)。但这可能并不可取:您必须熟悉这些工具,并且可能只能节省几千个。

总之,运行EC2 + EFS + ELB的LFS工作正常。但是,我至少可以想到使用亚马逊原生工具做类似事情的其他两种方法。每个都有自己的优点和缺点,需要考虑。由于您有预算而且您想要最少的系统管理,我建议您咨询专业设计师,以便为最符合您需求的系统创建蓝图。然后你可以建立和管理它,或让专业人士去做。