我是python的新手,在过去的一周里我一直在努力解决这个问题,有人能帮我解决这个问题,这对完成我的项目很有帮助。在

我试着根据给定序列的用户输入进行单一突变及其2,3组合:

输入顺序:>PEACCEL

用户突变输入文件:

E2R

C4W

E6G型#!/usr/bin/python

import getopt

import sys

import itertools as it

from itertools import groupby

def main(argv):

try:

opts,operands = getopt.getopt(sys.argv[1:],'i:m:o:'["INPUT_FILE:=","MUTATIONFILE:=","OUTPUT_FILE:=","help"])

if len(opts) == 0:

print "Please use the correct arguments, for usage type --help "

else:

for option,value in opts:

if option == "-i" or option == "--INPUT_FILE:":

seq=inputFile(value)

if option == "-m" or option == "--MUTATION_FILE:":

conA=MutationFile(value)

if option == "-o" or option == "--OUTPUT_FILE:":

out=outputName(value)

return seq,conA

except getopt.GetoptError,err:

print str(err)

print "Please use the correct arguments, for usage type --help"

def inputFile(value):

try:

fh = open(value,'r')

except IOError:

print "The file %s does not exist \n" % value

else:

ToSeperate= (x[1] for x in groupby(fh, lambda line: line[0] == ">"))

for header in ToSeperate:

header = header.next()[1:].strip()

Sequence = "".join(s.strip() for s in ToSeperate.next())

return Sequence

def MutationFile(value):

try:

fh=open(value,'r')

content=fh.read()

Rmcontent=str(content.rstrip())

except IOError:

print "The file %s does not exist \n" % MutFile

else:

con=list(Rmcontent)

return con

def Mutation(SEQUENCES,conA):

R=len(conA)

if R>1:

out=[]

SecondNum=1

ThirdChar=2

for index in range(len(conA)):

MR=conA[index]

if index==SecondNum:

SN=MR

SecondNum=SecondNum+4

if index==ThirdChar:

TC=MR

ThirdChar=ThirdChar+4

SecNum=int(SN.rstrip())

MutateResidue=str(TC.rstrip())

for index in range(len(SEQUENCES)):

if index==SecNum-1:

NonMutate=SEQUENCES[index]

AfterMutate=NonMutate.replace(NonMutate,MutateResidue)

new=SEQUENCES[ :index]+AfterMutate+SEQUENCES[index+1: ]

MutatedInformation= ['>',NonMutate,index+1,MutateResidue,'\n',new]

values2 = ''.join(str(i)for i in MutatedInformation)

if __name__ == "__main__":

seq,conA=main(sys.argv[1:])

Mutation(seq,conA)

这是我程序的一部分,我把(2,4,6)的R,W,G替换为E,C,E,然后将这些替换的字母存储到名为R的变量中,这个变量包含三行这:在

^{pr2}$

现在,我想把这三个单一突变组合成2和3。

这就像一个系有两个突变,一个系有三个突变。在

示例和预期输出如下:2C

PrAwCEL

PrACCgL

PEAwCgL

3C

PrAwCgL

算法

他是我代码的一部分,所以我将解释我的算法

1.我读了突变文件,其中(E)是氨基酸字母,它是(2)输入序列PEACCEL的位置,第三个字母(R)是E2将成为R

2.因此,首先我从用户突变文件中提取位置和第三个变量,并将它们存储到变量SecNum和MutateResidue(thirdchar)。在

3.然后,我用循环按索引读取一个序列(PEACCEL),然后无论哪个索引与SecNUm(E2,4,6)相匹配,我将这些序列替换为突变文件(2R,4W,6G)中第三个字符的突变残基

4.最后,我用这条线将变异残基索引与其他残基连接起来:(new=SEQUENCES[:index]+AfterMutate+SEQUENCES[index+1:]

提前谢谢

字母组合如何用python实现_如何将特定字母组合成两个或两个以上?相关推荐

  1. 如何用python赚钱_利用python能怎么挣钱

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 6年python,期间写了各种奇葩爬虫,挣各种奇葩的钱,写这篇文章总结下几种爬虫 ...

  2. 如何用python抢课_名额不够,技术来凑,利用Python实现教务系统强制性抢课

    这个不是一个点击脚本,而是属于扩容性质的脚本.名额不够咱们利用技术来解决! 最近一学期一次的抢课大戏又来了,几家欢乐几家愁.O(∩_∩)O哈哈~(l我每次一选就过了hah,我还是有欧的时候滴).看着他 ...

  3. 教你如何用python表白_情人节来了,教你个用 Python 表白的技巧

    作者:@明哥 公众号:Python编程时光 2020年,这个看起来如此浪漫的年份,你还是一个人吗?难不成我还能是一条狗? 18年的时候,写过一篇介绍如何使用 Python 来表白的文章. 虽然创意和使 ...

  4. qt如何用python结合_在Qt(C++)中与Python混合编程

    一.PythonQt库 在Qt(C++)中与Python混合编程,可以使用PythonQt库. 网站首页:http://pythonqt.sourceforge.net 下载页面:https://so ...

  5. 如何用python处理图片_推荐:10个Python图像处理工具

    概述了一些常用的Python库,它们提供了一种简单直观的图像转换方法. 介绍 在我们今天的世界中有很多的数据,而图像是这些数据中的重要组成部分.但是,要使用这些图像,需要对它们进行处理.因此,图像处理 ...

  6. 如何用python处理图片_如何用python获取图像

    方法一:利用PIL中的Image函数,这个函数读取出来不是array格式 这时候需要用 np.asarray(im) 或者 np.array()函数:区别:np.array() 是深拷贝,np.asa ...

  7. 如何用python赚钱_一篇文章教你使用Python自动赚取支付宝积分,网友:发家致富?...

    打开搜狗搜索APP,查看更多精彩资讯 本文介绍如何利用Python+uiautomator2 每日自动赚取支付宝积分. 支付宝的积分有啥用?诱惑诱惑你:可以兑换视频网站的VIP会员. 可以兑换各种优惠 ...

  8. 如何用python赚钱_怎么才能在网上赚钱(网上挣钱方法大全分享)

    想赚钱,有很多方法,想赚快钱,刑法里多得是,想赚长期稳定的钱,必须要找一个符合自己的技能的渠道. 你会涨粉,公众号有十万粉丝,一个月三万块没什么问题,不过你还需要稍微会写点东西, 你会做淘宝,一个月流 ...

  9. 深入理解python面向对象_转:Python3 面向对象,较为深入的两个理解

    一, 1. 类的声明和创建 对于 Python 函数来说,声明与定义类没什么区别,因为他们是同时进行的,定义(类体)紧跟在声明(含 class 关键字的头行[header line])和可选(但总是推 ...

最新文章

  1. Keras ImageDataGenerator用于数据扩充/增强的原理及方法
  2. 1.4 Matplotlib:绘图
  3. SVN 常用命令笔记
  4. 在Docker中配置ASP.NETCore的HTTPS模式
  5. 韩文博 php,No releases available for package pear.php.net/HTTP_Upload
  6. pytorchyolov4训练_使用pytorch-yolov5 訓練自己的數據集-2020.6.15
  7. vue——去除白色边框
  8. Git由浅入深之分支管理
  9. linux java ssl_linux系统下安装ssl证书(tomcat)
  10. Python--turtle绘图模块讲解
  11. RFID(Radio Frequency Identification)技术,又称无线射频识别
  12. 初级、中级和高级开发人员之间有什么区别?
  13. uni-app 更改头部导航条背景,改成背景图
  14. .html怎么查看源代码,html的网页源代码怎么查看
  15. fastdfs磁盘满,如何清除文件?
  16. 郭天祥的10天学会51单片机_第十三节
  17. 前端JavaScript的学习笔记
  18. Docker-windows使用教程
  19. duet设置_Duet Display使用感受
  20. 牛客寒假算法基础集训营5 J 炫酷数学

热门文章

  1. 维修管理系统 v3.82 官方
  2. 使用msf入侵多层级网络架构
  3. JavaScript学习(类,实例)
  4. Android 的显示原理
  5. Android图表库--MPChart(Piechart)
  6. 【论文阅读】Bi-Directional Cascade Network for Perceptual Edge Detection(2019)
  7. PostgreSQL 11 新特性之哈希分区
  8. 没了乔布斯,苹果还甜吗?
  9. Quartz-CronTrigger参数解释
  10. Apache服务器下载安装启动(Windows环境)