rosalind題目答案(自用參考版)

rosalind是一個生信學(xué)習(xí)網(wǎng)站(網(wǎng)址為[http://rosalind.info/problems/list-view/]),上面有許多生物信息相關(guān)的題目,用python解決它。這些代碼是我個人學(xué)習(xí)時寫的,也有些是在網(wǎng)上看到的(比如生信技能樹,簡書等)。每道題可能有多種解法,我以#1,#2,#3表示。(注意一下代碼對齊問題)
rosalind程序問題解決

1. Counting DNA Nucleotides 堿基記數(shù)

``` python
#!/usr/bin/env python3
# counting  DNA nucleotides##1
cnts = {c:0 for c in 'ATCG'}
for line in open("dna nuclear.txt",'r'):
  for c in line.rstrip():
    cnts[c] += 1
print(cnts)
#2
with open('dna nuclear.txt', 'r') as f:
    data = f.read().strip('\n')
    #count() 方法用于統(tǒng)計字符串里某個字符出現(xiàn)的次數(shù)。
    #str.count(sub, start= 0,end=len(string))
    list = ([data.count(c) for c in 'ACGT'])
    for i in list: 
        print(i, end= " ")
#3 用字典的方法

dic={}  
with open('dna nuclear.txt', 'r') as f:
    data = f.read().strip('\n')
    for base in data:
        # get() 函數(shù)返回指定鍵的值,如果值不在字典中返回默認(rèn)值。
        # dict.get(key, default=None)
        dic[base]=1+ dic.get(base,0) 

   for key in sorted(dic.keys()):
        print(dic[key], end =" ")
```

2.Transcribing DNA into RNA 將DNA轉(zhuǎn)為RNA。

(即用"U"替換"T")

#1
with open('rosalind_rna.txt', 'r') as f:
    data = f.read().strip('\n')
print(data.replace("T", "U"))
#2
with open('rosalind_rna.txt','r') as f:
   for line in f:
      line = line.upper()
      RnaSeq = re.sub('T','U',line.rstrip())
   print(RnaSeq)

3.Complementing a Strand of DNA DNA互補鏈

#1
##利用大小寫的不同,非常巧妙?。。? with open('rosalind_revc.txt', 'r') as f:
    data = f.read().strip('\n')
    st = data.replace('A', 't').replace('T', 'a').replace('C', 'g').replace('G', 'c').upper()[::-1]
    print(st)
#2
trans = {'A':'T','T':'A','G':'C','C':'G'}
with open('rosalind_revc.txt','r') as f:
  for line in f:
    seq = ''
    line = line.upper()
    for aa in line.rstrip():
      seq += trans.get(aa)
     print(seq[::-1])
#3
def reverse_complement(seq):
  ntComplement = {'A':'T','T':'A','G':'C','C':'G'}
  RevSeqList = list(reversed(seq))
  RevComSeqList = [ntComplement[k] for k in RevSeqList]
  RevComSeq = ''.join(RevComSeqList)
  return RevComSeq

seq = ''
with open('rosalind_revc.txt','r') as f:
  for line in f:
    line = line.upper()
print (reverse_complement(line.rstrip()))

4. Rabbits and Recurrence Relations 兔子問題,斐波那契數(shù)列的一點改變

遞歸函數(shù)的使用

n=input("n is:\r") #公式為Fn = Fn-1 + k * Fn-2
k=input("k is:\r") #\n代表換行
fn =[1,1];
bool_list=[1,1,0];
for i in range(2,int(n)):
    if(bool_list[i]==0):
        fn.append(fn[i-1]+int(k)*fn[i-2])
        bool_list[i]=1
        bool_list.append(0)
        i+=1;
    else:
        bool_list.append(0)
        i+=1;
print(fn[int(n)-1])

5.Computing GC Content fasta文件中GC含量最大的序列

## 1 
import re
Seq = {}
seqGC = {}
with open('./test.fa','r') as f:
        for line in f:
                if re.match(">",line):
                        SeqName = line[1:]
                        Seq[SeqName] = ''
                        seqGC[SeqName] = 0
                else:
                        line = line.upper()
                        line = line.rstrip()
                        Seq[SeqName] += line
                        seqGC[SeqName] += line.count('G')
                        seqGC[SeqName] += line.count('C')
maxGC = 0
for key , value in Seq.items():
        if maxGC < float(seqGC[key]/ len(value)*100):
                maxGC = float(seqGC[key] / len(value)*100)
                tmp = key
print ('>'+tmp+Seq[tmp])
print (tmp)
print(float(maxGC))
## 2
from operator import itemgetter
from collections import OrderedDict
SeqTest = OrderedDict()
GcContent = OrderedDict()
with open('./test.fa','r') as f:
        for line in f:
                line = line.rstrip()
                if line.startswith('>'):
                        SeqName = line[1:]
                        SeqTest[SeqName] = ''
                        continue
                SeqTest[SeqName] += line.upper()

for key, value in SeqTest.items():
        totalLength = len(value)
        gcNum = value.count('G') + value.count('C')
        gcContent[key] = float(gcNum/totalLength)*100
sortedGC = sorted(gcContent.items(),key = itemgetter(1))
largeName = sortedGC[-1][0]
largeGCcontent = sortedGC[-1][1]
print ('most GC ratio rate is %s and it is %s ' %(largeName,largeGCContent))

6.Counting Point Mutations 計算點突變數(shù)目

## 1
fh = open('rosalind_hamm.txt','r')
lst = []
for line in fh:
        lst.append(line.rstrip())
hamming_dis = 0
for i in range(len(lst[0])):
        if lst[0][i] == lst[1][i]:
                continue
        hamming_dis += 1
print (hamming_dis)
## 2
fh = open('rosalind_hamm.txt','r')
seq = file.readlines()
seq1, seq2 = seq[0].strip(), seq[1].strip()
mutation = [i for i in range(len(seq1)) if seq1[i] != seq2[i]]
print (len(mutation))

7.Mendel's First Law 孟德爾第一定理

一個群體中有三種基因型的生物:k,顯性純合子;m,雜合子;n,隱性純合子。假設(shè)這對形狀由一對等位基因控制,且群體中隨機選取的任何兩個個體都能交配,求隨機選取兩個個體交配后,子代擁有顯性等位基因的概率。

## 1
k =22
m = 25
n = 16

num = int(k + m + n)
choice = num*(num-1)/2.0
p = 1 - (n*(n-1)/2 + 0.25*m*(m-1)/2 + m*n*0.5)/choice
print(p)
## 2
from scipy.misc import comb
num = input("Number of individuals(k,m,n): ")
[k,m,n] = map(int,num.split(','))
t = k + m + n
rr = comb(n,2)/comb(t,2)
hh = comb(m,2)/comb(t,2)
hr = comb(n,1)*comb(m,1)/comb(t,2)

p = 1 - (rr+hh*1/4+hr*1/2)
print(p)

8. Translating RNA into Protein 將RNA翻譯成蛋白質(zhì)

def translate_rna(sequence):
    codonTable = {
    'AUA':'I', 'AUC':'I', 'AUU':'I', 'AUG':'M',
    'ACA':'T', 'ACC':'T', 'ACG':'T', 'ACU':'T',
    'AAC':'N', 'AAU':'N', 'AAA':'K', 'AAG':'K',
    'AGC':'S', 'AGU':'S', 'AGA':'R', 'AGG':'R',
    'CUA':'L', 'CUC':'L', 'CUG':'L', 'CUU':'L',
    'CCA':'P', 'CCC':'P', 'CCG':'P', 'CCU':'P',
    'CAC':'H', 'CAU':'H', 'CAA':'Q', 'CAG':'Q',
    'CGA':'R', 'CGC':'R', 'CGG':'R', 'CGU':'R',
    'GUA':'V', 'GUC':'V', 'GUG':'V', 'GUU':'V',
    'GCA':'A', 'GCC':'A', 'GCG':'A', 'GCU':'A',
    'GAC':'D', 'GAU':'D', 'GAA':'E', 'GAG':'E',
    'GGA':'G', 'GGC':'G', 'GGG':'G', 'GGU':'G',
    'UCA':'S', 'UCC':'S', 'UCG':'S', 'UCU':'S',
    'UUC':'F', 'UUU':'F', 'UUA':'L', 'UUG':'L',
    'UAC':'Y', 'UAU':'Y', 'UAA':'', 'UAG':'',
    'UGC':'C', 'UGU':'C', 'UGA':'', 'UGG':'W',
    }
    proteinsequence = ''
    for n in range(0,len(sequence),3):
        if sequence[n:n+3] in codonTable.keys():
            proteinsequence += codonTable[sequence[n:n+3]]
    return proteinsequence

protein_fh = open('./protein.txt','w')
with open('./rna.txt','r') as f:
        for line in f:
                protein_fh.write(translate_rna(line.strip('\n')))
## 2
import re
from collections import OrderedDict

codonTable = OrderedDict()
codonTable={
'AUA':'I','AUC':'I','AUU':'I','AUG':'M',
'ACA':'T','ACC':'T','ACG':'T','ACU':'T',
'AAC':'N','AAU':'N','AAA':'K','AAG':'K',
'AGC':'S','AGU':'S','AGA':'R','AGG':'R',
'CUA':'L','CUC':'L','CUG':'L','CUU':'L',
'CCA':'P','CCC':'P','CCG':'P','CCU':'P',
'CAC':'H','CAU':'H','CAA':'Q','CAG':'Q',
'CGA':'R','CGC':'R','CGG':'R','CGU':'R',
'GUA':'V','GUC':'V','GUG':'V','GUU':'V',
'GCA':'A','GCC':'A','GCG':'A','GCU':'A',
'GAC':'D','GAU':'D','GAA':'E','GAG':'E',
'GGA':'G','GGC':'G','GGG':'G','GGU':'G',
'UCA':'S','UCC':'S','UCG':'S','UCU':'S',
'UUC':'F','UUU':'F','UUA':'L','UUG':'L',
'UAC':'Y','UAU':'Y','UAA':'','UAG':'',
'UGC':'C','UGU':'C','UGA':'','UGG':'W',
}

rnaseq = ''
with open('./rna.txt','r') as f:
        for line in f:
                line = line.rstrip()
                line += line.upper()

aminoAcids = []
i = 0
while i < len(rnaseq):
        condon = rnaseq[i:i+3]
        if codonTable[condon] != '':
                aminoAcids.append(codonTable[condon])
        i += 3

peptide = ''.join(aminoAcids)
print(peptide)
## 3
from Bio.Seq import Seq
from Bio.Alphabet import generic_dna,generic_rna

# translate
rna = Seq("AUGGCCAUUGUAAUGGGCCGCUGAAAGGGUGCCCGAUAG", generic_rna)
print(rna.translate())

9. Finding a Motif in DNA 尋找DNA motif

## 1 
seq = 'GATATATGCATATACTT'
motif = 'ATAT'
motif_len = len(motif)
position = []
for i in range(len(seq)-motif_len):
        if seq[i:i+motif_len] == motif:
                position.append(i+1)
print(position)
## 2
import re
seq = 'GATATATGCATATACTT'
print([i.start()+1 for i in re.finditer('(?=ATAT)',seq)])

10. Consensus and Profile 多個等長序列的一致性序列

比如序列如下:

>Rosalind_1
ATCCAGCT
>Rosalind_2
GGGCAACT
>Rosalind_3
ATGGATCT
>Rosalind_4
AAGCAACC
>Rosalind_5
TTGGAACT
>Rosalind_6
ATGCCATT
>Rosalind_7
ATGGCACT

各位點堿基個數(shù):

A   5 1 0 0 5 5 0 0
C   0 0 1 4 2 0 6 1
G   1 1 6 3 0 1 0 0
T   1 5 0 0 0 1 1 6
Consensus   A T G C A A C T

## 1
def seq_list(fasta):
        seq_list = []
        for line in fasta.readlines():
                if not line.startswith('>'):
                        seq = list(line.rstrip())
                        seq_list.append(seq)
        return seq_list
def statistic_base(seq_list):
        for base in 'ATGC':
                base_total = []
                for sit in range(len(seq_list[0])):
                        col = [x[sit] for x in seq_list]
                        num = col.count(base)
                        base_total.append(num)
                print('%s:%s'%(base,base_total))
fh =  open('./test.fa','r')
sequence_list = seq_list(fh)
statistic_base(sequence_list)
## 2
from collections import Counter
from collections import OrderedDict
seq = OrderedDict()
seqLength = 0
fh = open('./test.consensus.txt','wt')

with open('./test.fa','r') as f:
        for line in f:
                if line.startswith('>'):
                        seq_name = line.rstrip()
                        seq[seq_name] = ''
                        continue
                seq[seq_name] += line.upper().rstrip()
        seqLength = len(seq[seq_name])

a,t,g,c = [],[],[],[]
consensus = ''
for i in range(seqLength):
        sequence = ''
        for j in seq.keys():
                sequence += seq[j][i]
        a.append(sequence.count('A'))
        t.append(sequence.count('T'))
        g.append(sequence.count('G'))
        c.append(sequence.count('C'))
        counts = Counter(sequence)
        consensus += counts.most_common()[0][0]
fh.write(consensus+'\n')
fh.write('\n'.join(['A:\t'+'\t'.join(map(str,a)),'C:\t'+'\t'.join(map(str,c)),'G:\t'+'\t'.join(map(str,g)),'T:\t'+'\t'.join(map(str,t))])+'\n')
fh.close()

11. Mortal Fibonacci Rabbits

斐波那契序列是一個序列的數(shù)字定義的遞歸關(guān)系Fn = Fn-1+ Fn?2 ,我們設(shè)置的起始值F1 = F2 = 1。
假設(shè)每只兔子可以活m個月,n個月后有多少只兔子?

## 1
def fib(n,m):
        f= [0,1,1]
        for i in range(3,n+1):
                if i <= m:
                        total = f[i-1] + f[i-2]
                elif i == m+1:
                        total = f[i-1] + f[i-2] - 1
                else:
                        total = f[i-1] + f[i-2] - f[i-m-1]
                f.append(total)
        return(f[n])

inp = input('live month of rabbit(m),and afther n-th month;n<=100,m<=20;input(n,m): ')
[n,m]=map(int,inp.split(','))

print(fib(n,m))

12. Overlap Graphs Graph Theory

文件介紹好麻煩,自己看:http://rosalind.info/problems/grph/
總之該題有三個堿基的首尾相同就連接起來,
輸入文件:

>Rosalind_0498
AAATAAA
>Rosalind_2391
AAATTTT
>Rosalind_2323
TTTTCCC
>Rosalind_0442
AAATCCC
>Rosalind_5013
GGGTGGG

輸出結(jié)果:

Rosalind_0498 Rosalind_2391
Rosalind_0498 Rosalind_0442
Rosalind_2391 Rosalind_2323

seq = {}
with open('./overlap.fa','r') as f:
        for line in f:
                line = line.rstrip()
                if line.startswith('>'):
                        seqname = line[1:]
                        seq[seqname] = ''
                        continue
                seq[seqname] += line.upper()

for key , value in seq.items():
        for key2 ,value2 in seq.items():
                if key != key2 and value[-3:] == value2[:3]:
                        print(key+'\t'+key2)

13. Calculating Expected Offspring 計算后代的期望值

同樣懶得解釋原理,具體原理看:http://rosalind.info/problems/iev/
現(xiàn)在有6種基因型組合夫婦:

AA-AA
AA-Aa
AA-aa
Aa-Aa
Aa-aa
aa-aa

給定6個非負(fù)整數(shù),代表6種基因型組合的夫婦數(shù)量,求下一代顯性性狀的個數(shù),假設(shè)每對夫妻有2個孩子。

def expected(a,b,c,d,f,g):
        AA_AA = 1
        AA_Aa = 1
        AA_aa = 1
        Aa_Aa = 0.75
        Aa_aa = 0.5
        aa_aa = 0
        p = (AA_AA*a + AA_Aa*b + AA_aa*c + Aa_Aa*d + Aa_aa*f + aa_aa*g)*2
        return (p)

inp = input('input(a,b,c,d,f,g): ')
[a,b,c,d,f,g] = map(int,inp.split(','))
print(expected(a,b,c,d,f,g))

14. Finding a Shared Motif

#待填坑
##15\.Independent Alleles 
## 16\. Finding a Protein Motif
##17\.Inferring mRNA from Protein
## 18\.Open Reading Frames 
##19\.Enumerating Gene Orders   
PRTM    Calculating Protein Mass        
         
REVP    Locating Restriction Sites      
         
SPLC    RNA Splicing    
LEXF    Enumerating k-mers Lexicographically        
         
LGIS    Longest Increasing Subsequence      
         
LONG    Genome Assembly as Shortest Superstring     
         
PMCH    Perfect Matchings and RNA Secondary Structures  2053    
         
PPER    Partial Permutations    2886    
         
PROB    Introduction to Random Strings  2821    
         
SIGN    Enumerating Oriented Gene Orderings 2924    
         
SSEQ    Finding a Spliced Motif 3123    
         
TRAN    Transitions and Transversions   2988    
         
TREE    Completing a Tree   2561    
         
CAT Catalan Numbers and RNA Secondary Structures    866 
         
CORR    Error Correction in Reads   1411    
         
INOD    Counting Phylogenetic Ancestors 1901    
         
KMER    k-Mer Composition   2135    
         
KMP Speeding Up Motif Finding   1714    
         
LCSQ    Finding a Shared Spliced Motif  1468    
         
LEXV    Ordering Strings of Varying Length Lexicographically

LCSQ    Finding a Shared Spliced Motif  1468    
         
LEXV    Ordering Strings of Varying Length Lexicographically    2393    
         
MMCH    Maximum Matchings and RNA Secondary Structures  1044    
         
PDST    Creating a Distance Matrix  1543    
         
REAR    Reversal Distance   767 
         
RSTR    Matching Random Motifs  1174    
         
SSET    Counting Subsets    1808    
         
ASPC    Introduction to Alternative Splicing    1142    
         
EDIT    Edit Distance   1097    
         
EVAL    Expected Number of Restriction Sites    892 
         
MOTZ    Motzkin Numbers and RNA Secondary Structures    560 
         
NWCK    Distances in Trees  699 
         
SCSP    Interleaving Two Motifs 676 
         
SETO    Introduction to Set Operations  1440    
         
SORT    Sorting by Reversals    588 
         
SPEC    Inferring Protein from Spectrum 1120    
         
TRIE    Introduction to Pattern Matching    868 
         
CONV    Comparing Spectra with the Spectral Convolution 722 
         
CTBL    Creating a Character Table  404 
         
DBRU    Constructing a De Bruijn Graph  738 
         
EDTA    Edit Distance Alignment 716 
         
FULL    Inferring Peptide from Full Spectrum    508 
         
INDC    Independent Segregation of Chromosomes  582 
         
ITWV    Finding Disjoint Motifs in a Gene   274 
         
LREP    Finding the Longest Multiple Repeat 400 
         
NKEW    Newick Format with Edge Weights 436 
         
RNAS    Wobble Bonding and RNA Secondary Structures 395 
         
AFRQ    Counting Disease Carriers   494 
         
CSTR    Creating a Character Table from Genetic Strings 257 
         
CTEA    Counting Optimal Alignments
| UNR | [Counting Unrooted Binary Trees](http://rosalind.info/problems/cunr/) | [251](http://rosalind.info/problems/cunr/recent/) |  |   |   |   |
| GLOB | [Global Alignment with Scoring Matrix](http://rosalind.info/problems/glob/) | [510](http://rosalind.info/problems/glob/recent/) |  |   |   |   |
| PCOV | [Genome Assembly with Perfect Coverage](http://rosalind.info/problems/pcov/) | [528](http://rosalind.info/problems/pcov/recent/) |  |   |   |   |
| PRSM | [Matching a Spectrum to a Protein](http://rosalind.info/problems/prsm/) | [390](http://rosalind.info/problems/prsm/recent/) |  |   |   |   |
| QRT | [Quartets](http://rosalind.info/problems/qrt/) | [208](http://rosalind.info/problems/qrt/recent/) |  |   |   |   |
| SGRA | [Using the Spectrum Graph to Infer Peptides](http://rosalind.info/problems/sgra/) | [336](http://rosalind.info/problems/sgra/recent/) |  |   |   |   |
| SUFF | [Encoding Suffix Trees](http://rosalind.info/problems/suff/) | [289](http://rosalind.info/problems/suff/recent/) |  |   |   |   |
| CHBP | [Character-Based Phylogeny](http://rosalind.info/problems/chbp/) | [139](http://rosalind.info/problems/chbp/recent/) |  |   |   |   |
| CNTQ | [Counting Quartets](http://rosalind.info/problems/cntq/) | [147](http://rosalind.info/problems/cntq/recent/) |  |   |   |   |
| EUBT | [Enumerating Unrooted Binary Trees](http://rosalind.info/problems/eubt/) | [135](http://rosalind.info/problems/eubt/recent/) |  |   |   |   |
| GASM | [Genome Assembly Using Reads](http://rosalind.info/problems/gasm/) | [289](http://rosalind.info/problems/gasm/recent/) |  |   |   |   |
| GCON | [Global Alignment with Constant Gap Penalty](http://rosalind.info/problems/gcon/) | [331](http://rosalind.info/problems/gcon/recent/) |  |   |   |   |
| LING | [Linguistic Complexity of a Genome](http://rosalind.info/problems/ling/) | [174](http://rosalind.info/problems/ling/recent/) |  |   |   |   |
| LOCA | [Local Alignment with Scoring Matrix](http://rosalind.info/problems/loca/) | [344](http://rosalind.info/problems/loca/recent/) |  |   |   |   |
| MEND | [Inferring Genotype from a Pedigree](http://rosalind.info/problems/mend/) | [225](http://rosalind.info/problems/mend/recent/) |  |   |   |   |
| MGAP | [Maximizing the Gap Symbols of an Optimal Alignment](http://rosalind.info/problems/mgap/) | [182](http://rosalind.info/problems/mgap/recent/) |  |   |   |   |
| MREP | [Identifying Maximal Repeats](http://rosalind.info/problems/mrep/) | [155](http://rosalind.info/problems/mrep/recent/) |  |   |   |   |
| MULT | [Multiple Alignment](http://rosalind.info/problems/mult/) | [185](http://rosalind.info/problems/mult/recent/) |  |   |   |   |
| PDPL | [Creating a Restriction Map](http://rosalind.info/problems/pdpl/) | [203](http://rosalind.info/problems/pdpl/recent/) |  |   |   |   |
| ROOT | [Counting Rooted Binary Trees](http://rosalind.info/problems/root/) | [215](http://rosalind.info/problems/root/recent/) |  |   |   |   |
| SEXL | [Sex-Linked Inheritance](http://rosalind.info/problems/sexl/) | [378](http://rosalind.info/problems/sexl/recent/) |  |   |   |   |
| SPTD | [Phylogeny Comparison with Split Distance](http://rosalind.info/problems/sptd/) | [152](http://rosalind.info/problems/sptd/recent/) |  |   |   |   |
| WFMD | [The Wright-Fisher Model of Genetic Drift](http://rosalind.info/problems/wfmd/) | [297](http://rosalind.info/problems/wfmd/recent/) |  |   |   |   |
| ALPH | [Alignment-Based Phylogeny](http://rosalind.info/problems/alph/) | [100](http://rosalind.info/problems/alph/recent/) |  |   |   |   |
| ASMQ | [Assessing Assembly Quality with N50 and N75](http://rosalind.info/problems/asmq/) | [230](http://rosalind.info/problems/asmq/recent/) |  |   |   |   |
| CSET | [Fixing an Inconsistent Character Set](http://rosalind.info/problems/cset/) | [115](http://rosalind.info/problems/cset/recent/) |  |   |   |   |
| EBIN | [Wright-Fisher's Expected Behavior](http://rosalind.info/problems/ebin/) | [248](http://rosalind.info/problems/ebin/recent/) |  |   |   |   |
| FOUN | [The Founder Effect and Genetic Drift](http://rosalind.info/problems/foun/) | [233](http://rosalind.info/problems/foun/recent/) |  |   |   |   |
| GAFF | [Global Alignment with Scoring Matrix and Affine Gap Penalty](http://rosalind.info/problems/gaff/) | [277](http://rosalind.info/problems/gaff/recent/) |  |   |   |   |
| GREP | [Genome Assembly with Perfect Coverage and Repeats](http://rosalind.info/problems/grep/) | [176](http://rosalind.info/problems/grep/recent/) |  |   |   |   |
| OAP | [Overlap Alignment](http://rosalind.info/problems/oap/) | [155](http://rosalind.info/problems/oap/recent/) |  |   |   |   |
| QRTD | [Quartet Distance](http://rosalind.info/problems/qrtd/) | [73](http://rosalind.info/problems/qrtd/recent/) |  |   |   |   |
| SIMS | [Finding a Motif with Modifications](http://rosalind.info/problems/sims/) | [191](http://rosalind.info/problems/sims/recent/) |  |   |   |   |
| SMGB | [Semiglobal Alignment](http://rosalind.info/problems/smgb/) | [159](http://rosalind.info/problems/smgb/recent/) |  |   |   |   |
| KSIM | [Finding All Similar Motifs](http://rosalind.info/problems/ksim/) | [68](http://rosalind.info/problems/ksim/recent/) |  |   |   |   |
| LAFF | [Local Alignment with Affine Gap Penalty](http://rosalind.info/problems/laff/) | [162](http://rosalind.info/problems/laff/recent/) |  |   |   |   |
| OSYM | [Isolating Symbols in Alignments](http://rosalind.info/problems/osym/) | [114](http://rosalind.info/problems/osym/recent/) |  |   |   |   |
| RSUB | [Identifying Reversing Substitutions](http://rosalind.info/problems/rsub/) |
~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容