标签: bioinformatics

寻找DNA序列的互补序列

我必须将DNA序列的互补序列翻译成氨基酸

TTTCAATACTAGCATGACCAAAGTGGGAACCCCCTTACGTAGCATGACCCATATATATATATATA
TATATATATATATATGGGTCATGCTACGTAAGGGGGTTCCCACTTTGGTCATGCTAGTATTGAAA
+1 TyrIleTyrIleTyrGlySerCysTyrValArgGlyPheProLeuTrpSerCysStpTyrStp
+2 IleTyrIleTyrMetGlyHisAlaThrOc*GlyGlySerHisPheGlyHisAlaSerIleglu
+3 TyrIleTyrIleTrpValMetLeuArgLysGlyValProThrLeuValMetLeuValLeuLys
Run Code Online (Sandbox Code Playgroud)
  • 第一个序列是正常序列,
  • 第二个是互补序列,
  • 具有+1的那个是对应于我的互补序列的氨基酸序列
  • 具有+2的那个是对应于从第二个碱基开始的互补序列的氨基酸序列
  • 具有+3的氨基酸序列是对应于以第三碱基开始的互补序列的氨基酸序列

我已经尝试了下一个代码来获得我的结果,但所以我得到了一个补充的seq.没有分裂.

seq = "CCGGAAGAGCTTACTTAG"
basecomplement = {'A': 'T', 'C': 'G', 'G': 'C', 'T': 'A'}

def translate(seq):

    x = 0
    aaseq = []
    while True:
        try:
            aaseq.append(basecomplement[seq[x:x+1]])
            x += 1

        except (IndexError, KeyError):
            break
    return aaseq

for frame in range(1):
    #print(translate(seq[frame:]))

    rseqn= (''.join(item.split('|')[0] for item in translate(seq[frame:])))

    rseqn = list(rseqn)
    rseqn.reverse()

    print( rseqn)
Run Code Online (Sandbox Code Playgroud)

谁能帮助我得到我的结果?

python translation bioinformatics dna-sequence python-3.x

-1
推荐指数
2
解决办法
5945
查看次数

如何以特定方式剪切字符串,保留有用的内容?

我正在尝试为我的生物学研究制作一个程序.

我需要采取这个顺序:

NNNNNNNNNNCCNNAGTGNGNACAGACGACGGGCCCTGGCCCCTCGCACACCCTGGACCA
AGTCAATCGCACCCACTTCCCTTTCTTCTCGGATGTCAAGGGCGACCACCGGTTGGTGTT
GAGCGTCGTGGAGACCACCGTTCTGGGGCTCATCTTTGTCGTCTCACTGCTGGGCAACGT
GTGTGCTCTAGTGCTGGTGGCGCGCCGTCGGCGCCGTGGGGCGACAGCCAGCCTGGTGCT
CAACCTCTTCTGCGCGGATTTGCTCTTCACCAGCGCCATCCCTCTAGTGCTCGTCGTGCG
CTGGACTGAGGCCTGGCTGTTGGGGCCCGTCGTCTGCCACCTGCTCTTCTACGTGATGAC
AATGAGCGGCAGCGTCACGATCCTCACACTGGCCGCGGTCAGCCTGGAGCGCATGGTGTG
CATCGTGCGCCTCCGGCGCGGCTTGAGCGGCCCGGGGCGGCGGACTCAGGCGGCACTGCT
GGCTTTCATATGGGGTTACTCGGCGCTCGCCGCGCTGCCCCTCTGCATCTTGTTCCGCGT
GGTCCCGCAGCGCCTTCCCGGCGGGGACCAGGAAATTCCGATTTGCACATTGGATTGGCC
CAACCGCATAGGAGAAATCTCATGGGATGTGTTTTTTGTGACTTTGAACTTCCTGGTGCC
GGGACTGGTCATTGTGATCAGTTACTCCAAAATTTTACAGATCACGAAAGCATCGCGGAA
GAGGCTTACGCTGAGCTTGGCATACTCTGAGAGCCACCAGATCCGAGTGTCCCAACAAGA
CTACCGACTCTTCCGCACGCTCTTCCTGCTCATGGTTTCCTTCTTCATCATGTGGAGTCC
CATCATCATCACCATCCTCNCATCTTGATCCAAAACTTCCGGCAGGACCTGGNCATCTGG
NCATCCCTTTTCTTCTGGGNNGTNNNNNCACGTTGCNACTCTNCCTAAANCCCATACTGT
ANNANATGNCGCTNNNAGGAANGAATGGAGGAANANTTTTTGNNNNNNNNN
Run Code Online (Sandbox Code Playgroud)

...并删除开头的最后一个N和结尾的第一个N. 换句话说,让它看起来像这样:

ACAGACGACGGGCCCTGGCCCCTCGCACACCCTGGACCA
AGTCAATCGCACCCACTTCCCTTTCTTCTCGGATGTCAAGGGCGACCACCGGTTGGTGTT
GAGCGTCGTGGAGACCACCGTTCTGGGGCTCATCTTTGTCGTCTCACTGCTGGGCAACGT
GTGTGCTCTAGTGCTGGTGGCGCGCCGTCGGCGCCGTGGGGCGACAGCCAGCCTGGTGCT
CAACCTCTTCTGCGCGGATTTGCTCTTCACCAGCGCCATCCCTCTAGTGCTCGTCGTGCG
CTGGACTGAGGCCTGGCTGTTGGGGCCCGTCGTCTGCCACCTGCTCTTCTACGTGATGAC
AATGAGCGGCAGCGTCACGATCCTCACACTGGCCGCGGTCAGCCTGGAGCGCATGGTGTG
CATCGTGCGCCTCCGGCGCGGCTTGAGCGGCCCGGGGCGGCGGACTCAGGCGGCACTGCT
GGCTTTCATATGGGGTTACTCGGCGCTCGCCGCGCTGCCCCTCTGCATCTTGTTCCGCGT
GGTCCCGCAGCGCCTTCCCGGCGGGGACCAGGAAATTCCGATTTGCACATTGGATTGGCC
CAACCGCATAGGAGAAATCTCATGGGATGTGTTTTTTGTGACTTTGAACTTCCTGGTGCC
GGGACTGGTCATTGTGATCAGTTACTCCAAAATTTTACAGATCACGAAAGCATCGCGGAA
GAGGCTTACGCTGAGCTTGGCATACTCTGAGAGCCACCAGATCCGAGTGTCCCAACAAGA
CTACCGACTCTTCCGCACGCTCTTCCTGCTCATGGTTTCCTTCTTCATCATGTGGAGTCC
CATCATCATCACCATCCTC
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

python bioinformatics python-3.x

-1
推荐指数
1
解决办法
48
查看次数

如何在 Bash 中将文件拆分为每个块中有 1000 行的块?

我有一个 6200 行长的文件,如下所示:

  chrom chromStart chromEnd score           a          a.1
1  chr1     834359   867552     4 0.020979021 0.0000000000
2  chr1    1880283  1940830     9 0.075757576 0.0000000000
3  chr1    1960387  2064958    13 0.115093240 0.0006596306
4  chr1    2206040  2249092     5 0.019230769 0.0000000000
5  chr1    2325759  2408930    11 0.021296885 0.0080355001
Run Code Online (Sandbox Code Playgroud)

我需要将文件分成 1000 行长的文件。如何才能做到这一点?

bash bioinformatics

-1
推荐指数
1
解决办法
1647
查看次数

如何合并第一个单元格中具有相同值的CSV行?

这是文件:https : //drive.google.com/file/d/0B5v-nJeoVouHc25wTGdqaDV1WW8/view?usp=sharing

如您所见,第一列中有重复项,但是如果我要合并重复的行,则其他列中不会覆盖任何数据。有什么办法可以将第一列中具有重复值的行合并?

例如,将“ 1,A,A,”和“ 1,,T,T”变成“ 1,A,A,T,T”。

python csv bioinformatics libreoffice-calc jupyter-notebook

-1
推荐指数
1
解决办法
2674
查看次数

使用R编程计算数据帧中的平均值

我是R的新手,需要一些帮助.我有一个巨大的数据框架,其中包含不同的患者样本.每位患者都有24'铬.每个'chrom'有3个段.以下是患者'A2461'的示例.以下是我所拥有的一些数据的示例:

     ID chrom loc.start   loc.end num.mark seg.mean seg.sd seg.median seg.mad
1 A2461     1     61735  23342732    13103   0.0314 0.4757     0.0221  0.4811
2 A2461     1  23345569  54962669    17435  -0.0103 0.4807    -0.0292  0.4821
3 A2461     1  54963958  55075062       57   0.4841 0.4070     0.5201  0.3519
1 A2461     2     12784  17248573    13037  -0.0037 0.4643    -0.0053  0.4583
2 A2461     2  17248890  85480817    45819  -0.0331 0.4667    -0.0352  0.4635
3 A2461     2  85481399  89121495     1626   0.0153 0.4727     0.0000  0.4617
Run Code Online (Sandbox Code Playgroud)

我目前通过使用以下代码获得总平均值:

seg_mean <- df$seg.mean
mean(seg_mean)
Run Code Online (Sandbox Code Playgroud)

但是,我想计算每个染色体'seg.mean'的平均值,并输出一个澄清患者ID和chrom的输出.所以也许像......

ID    chrom    seg.mean
A2461 …
Run Code Online (Sandbox Code Playgroud)

r bioinformatics mean dataframe dplyr

-1
推荐指数
1
解决办法
782
查看次数

Python,正则表达式,括号内的字符串[]

在以下行中:(bla - 表示不重要)

> blabla|blabla|bla|blabla| blabla [Geobacter sp. M21]
> blabla|blabla|bla|blabla| blabla [Acetobacter pasteurianus IFO 3283-07]
> blabla|blabla|bla|blabla| blabla [Gardnerella vaginalis ATCC 14019]
> blabla|blabla|bla|blabla| blabla [Granulibacter bethesdensis CGDNIH1]
Run Code Online (Sandbox Code Playgroud)

我试图将括号[]中的所有信息作为:

Geobacter sp. M21
Acetobacter pasteurianus IFO 3283-07
Gardnerella vaginalis ATCC 14019
Granulibacter bethesdensis CGDNIH1
Run Code Online (Sandbox Code Playgroud)

我的代码在这里当然不起作用 - 在[]中有时候是3,有时是4个"alfanumeric words",还有像"."或" - "这样的字符:

import re
#code...
pattern = r'[ \w+ \w+ \w+ ]'
for i in lines_:
    m = re.search ( pattern, str(i) )
    print m.group()
Run Code Online (Sandbox Code Playgroud)

这样可以使用正则表达式获取这些信息吗?

python regex string bioinformatics

-2
推荐指数
1
解决办法
123
查看次数

有没有办法在字符串中替换一次字母?

我遇到了一个问题,它要么将所有 Gs 替换为 Cs,但不将 C 替换为 Gs,我该怎么做才能解决这个问题?我现在得到的输出是“GUGAGGGGAG”我正在寻找的输出是“CUCAGCGCAG”这是我到目前为止的代码:

a_string = "GAGTCGCGTC" 
remove_characters = ["G", "A", "T", "C"]
ch1 = "G"
ch2 = "A"
ch3 = "T"
ch4 = "C"
a_string = a_string.replace (ch1, "C")
a_string = a_string.replace (ch2, "U")
a_string = a_string.replace (ch3, "A")
a_string = a_string.replace (ch4, "G")
print (a_string)
Run Code Online (Sandbox Code Playgroud)
  • 我正在做 DNA 到 RNA 的翻译代码!所以A替换为U,G替换为C,T替换为A,C替换为G

python bioinformatics biopython python-3.x

-2
推荐指数
1
解决办法
129
查看次数

开发生物信息学APP,用前面的条形码识别DNA seq

我正在为python类的介绍工作,我在编写脚本来读取文件时遇到了很多麻烦,然后在文件的序列开头识别条形码.

这就是我要打开我的文件:

#!/usr/bin/python 

import sys  

fname  = sys.argv[1]

handle = open(fname , "r")
# read the file # 
for line in handle:
        print line.strip()

handle.close()
Run Code Online (Sandbox Code Playgroud)

它完美地打开我的文件并将内容打印到屏幕上.

我有的问题是添加到此以完成作业我收到错误消息,我不知道我做错了什么.

我将不胜感激任何帮助或建议.

作业和正确的预期结果详细说明:

创建一个名为〜/ assignments/assignment07/assignment07.py的可执行文件

python脚本应该采用2个命令行参数(按顺序):

(1)DNA条形码(2)含有DNA序列的文件的名称

您的脚本应该打印序列文件中与序列开头的给定条形码匹配的所有DNA序列,但丢弃条形码.不要打印条形码,只打印与条形码匹配的序列,并且不匹配不在序列前面的条形码.

#!/usr/bin/python 
import sys
barcode  = sys.argv[1]
filename = sys.argv[2]

bclen = len(bacode)



handle = open(fname, "r")

# read the file # 

for line in handle:

        print line.strip()


for line in filename:

        bc    = line[4:][:bclen]

        seq   = line[4:19][bclen:]



        if bc == barcode:

                seqslice = sequence[4:]

                #print "barcode …
Run Code Online (Sandbox Code Playgroud)

python barcode bioinformatics

-3
推荐指数
1
解决办法
363
查看次数