Beispiel #1
0
def check_selfcomp(seq: str, threshold=4) -> bool:
    if type(seq) != str or type(threshold) != int:
        raise TypeError
    r_seq = seq[::-1]
    d = {}
    for i in range(threshold, len(seq) + 1):
        s = []
        for base in range(len(seq) - 1):
            r_oligo = r_seq[base:base + i]
            if len(r_oligo) != i:
                break
            r_c_seq = Seq.complement(r_oligo)
            if r_c_seq in seq:
                s.append(r_c_seq)
                d[i] = s
    if not d:
        return False
    max_key = max(d.keys())
    if max_key >= 5 or len(d[max_key]) >= 5:
        return True
    return False
Beispiel #2
0
 def test_complement_of_dna(self):
     seq = "ATGAAACTG"
     self.assertEqual("TACTTTGAC", Seq.complement(seq))
Beispiel #3
0
 def test_complement_of_rna(self):
     seq = "AUGAAACUG"
     self.assertEqual("UACUUUGAC", Seq.complement(seq))
Beispiel #4
0
# Import the sequence from the Biopython library
from Bio.Seq import *

def complement(seq):
    comp_seq=""
    mapping =  {'A':'T', "C":"G", "G":"C", "T":"A"}
    for nucleotide in gene:
        comp_seq += mapping[nucleotide]
    return comp_seq;

def reverse(seq):
    rev_seq = seq[::-1]
    return rev_seq

if __name__ == '__main__':
    gene = "TCAGACTGGTGCCGTGGTGCTCTCGCCCGATGTGACGTCGACCGCCAGCGGCGCGATGACGCCGAGGATTTCCGTGATCGTTTCGGAGGGCACGCCGGCTGCGGTCAGCGCGTCGGCCAAGTGTCCGGCGACCAGGCTGAAGTGGTGCATGGTAATTCCGCGCCCCTGATGGACTTGCTTCATCGGCGCACCGGTATAGGGCTCGGGCCCGCCAAGCGCGGCCGCGAAAAACTCCACCTGCTTGCCCTTGAGGCGGCTCATGTTCGTACCGCTGAAGAAGGCCGATAGTTGGTCATCGGCAAGCACACGAACATAGAAGTCCTCGACGACGACTTCGATGGCCTCATGCCCGCCGATCTTGTCGTAGATGCTGATCGGCTCACGTTTGCGCAAGCGTGACAGTAGTCCCATTTTTATA"
    res = reverse(complement(gene))
    print(res)
    # Define a sequence as a DNA Seq object
    seq = Seq("CCTCAGCGAGGACAGCAAGGGACTAGCC")

    # The complement() method can act just like your complement() function.
    complement = seq.complement()
    # Similarly, we can use the reverse_complement() method.
    reverse_complement = seq.reverse_complement()
    # We can even use the transcribe() method to switch alphabets to RNA
    RNA = seq.transcribe()
    print(RNA)
Beispiel #5
0
def strand_match(b, strand):
    if strand == '+':
        return b
    else:
        return Seq.complement(b)