コード例 #1
0
def main(argv):
    line = files.read_line(argv[0])

    if palindrome_anagram(line):
        print('YES')
    else:
        print('NO')
コード例 #2
0
def main(argv):
    line = files.read_line(argv[0])
    perm = [int(val) for val in line[1:-1].split(' ')]
    perms = sorts.greedy_reversal_sort(perm)[1]

    print '\n'.join('(%s)' % (' '.join('+%s' % p if p > 0 else '%s' % p
                                       for p in perm)) for perm in perms)
コード例 #3
0
def main(argv):
    line = files.read_line(argv[0])
    handle = ExPASy.get_sprot_raw(line)
    record = SwissProt.read(handle)

    go = filter(lambda x: x[0] == 'GO' and 'P:' in x[2],
                record.cross_references)

    print '\n'.join(g[2].split(':')[1] for g in go)
コード例 #4
0
def main(argv):
    line = files.read_line(argv[0])
    edges = [
        tuple(int(node) for node in edge.split(', '))
        for edge in line[1:-1].split('), (')
    ]
    genome = genetics.graph_to_genome(edges)

    print ''.join('(%s)' % (' '.join('+%s' % p if p > 0 else '%s' % p
                                     for p in g)) for g in genome)
コード例 #5
0
ファイル: decrypt.py プロジェクト: cowboysmall/crypto
def main(argv):
    cypher_text = files.read_line(argv[0])
    decrypted   = encdec.padding_oracle_decrypt(cypher_text, 'http://crypto-class.appspot.com/po', 'er')

    print
    print 'Padding Oracle Demo'
    print
    print 'Found: ', decrypted
    print
    print '  Hex: ', decrypted.encode('hex')
    print
コード例 #6
0
def main(argv):
    text = files.read_line(argv[0])
    st = tree.SuffixTree(text)

    print st.longest_repeat()

    sa = arrays.suffix_array(text + '$')
    ha = arrays.lcp_array(sa)
    index = max(ha, key=lambda x: x[1])

    print text[sa[index[0]][0]:sa[index[0]][0] + index[1]]
コード例 #7
0
def main(argv):
    S = files.read_line(argv[0])
    L = len(S)
    D = [int(c) for c in S]

    O = D[0]
    T = D[0]

    for i in range(1, L):
        T  = (T * 10) + ((i + 1) * D[i])
        T %= 1000000007
        O += T
        O %= 1000000007

    print(O)
コード例 #8
0
def main(argv):
    S = files.read_line(argv[0])
    L = len(S)
    D = [int(c) for c in S]

    O = D[0]
    T = D[0]

    for i in range(1, L):
        T  = (T * 10) + ((i + 1) * D[i])
        T %= 1000000007
        O += T
        O %= 1000000007

    print(O)
コード例 #9
0
def main(argv):
    line     = files.read_line(argv[0])
    length   = len(line)
    orfs     = []

    sequence = Seq(line, IUPAC.unambiguous_dna)
    string   = str(sequence)
    for pos in re.finditer('ATG', string):
        start = pos.start()
        end   = length - ((length - start) % 3)
        orfs.append(translate(string[start:end], to_stop = True))

    sequence = sequence.reverse_complement()
    string   = str(sequence)
    for pos in re.finditer('ATG', string):
        start = pos.start()
        end   = length - ((length - start) % 3)
        orfs.append(translate(string[start:end], to_stop = True))

    print max(orfs, key = len)
コード例 #10
0
def main(argv):
    dna  = files.read_line(argv[0])
    N    = len(dna)


    sa   = arrays.suffix_array(dna)
    lcp  = arrays.lcp_array(sa)
    sub1 = sum(len(sa[i][1][:-1]) - lcp[i][1] for i in xrange(1, N + 1))


    st   = tree.SuffixTree(dna)
    sub2 = sum(len(s) - 1 if s[-1] == '$' else len(s) for s in st.traverse())


    m    = sum([min(4 ** i, N - i + 1) for i in xrange(N)])


    print
    print 'suffix tree  - lc: %0.4g' % (sub1 / float(m))
    print
    print 'suffix array - lc: %0.4g' % (sub2 / float(m))
    print
コード例 #11
0
def main(argv):
    mass    = table.mass(argv[0])
    protein = files.read_line(argv[1])

    print '%0.3f' % genetics.protein_mass(protein, mass)
コード例 #12
0
def main(argv):
    if is_pangram(files.read_line(argv[0])):
        print('pangram')
    else:
        print('not pangram')
コード例 #13
0
def main(argv):
    print genetics.dna_to_rna(files.read_line(argv[0]))
コード例 #14
0
def main(argv):
    text = files.read_line(argv[0])
    sa   = arrays.suffix_array(text)

    print ', '.join(str(v[0]) for v in sa)
コード例 #15
0
def main(argv):
    int_mass = table.integer_mass(argv[0])
    peptide = files.read_line(argv[1])
    masses = [int_mass[p] for p in peptide]

    print ' '.join(str(mass) for mass in genetics.cyclo_spectrum(masses))
コード例 #16
0
def main(argv):
    codon = table.codon(argv[0])
    rna = files.read_line(argv[1])

    print genetics.encode_protein(rna, codon)
コード例 #17
0
def main(argv):
    text = files.read_line(argv[0])

    print(encrypt(text))
コード例 #18
0
def main(argv):
    line = files.read_line(argv[0])
    tree = genotype_probs(Tree(line, format=1))

    print '%0.3g %0.3g %0.3g' % (tree.AA, tree.Aa, tree.aa)
コード例 #19
0
def main(argv):
    print(find(files.read_line(argv[0])))
コード例 #20
0
def main(argv):
    tree = files.read_line(argv[0])

    print '\n'.join(phylogeny.create_table_from_tree(tree))
コード例 #21
0
def main(argv):
    text = files.read_line(argv[0])

    print strings.inverse_burrows_wheeler_transform(text)
コード例 #22
0
def main(argv):
    print genetics.dna_complement(files.read_line(argv[0]))
コード例 #23
0
def main(argv):
    print genetics.pattern_to_number(files.read_line(argv[0]))
コード例 #24
0
def main(argv):
    line = files.read_line(argv[0])
    chromosome = [int(val) for val in line[1:-1].split(' ')]

    print '(%s)' % ' '.join(
        str(c) for c in genetics.chromosome_to_cycle(chromosome))
コード例 #25
0
def main(argv):
    T = files.read_line(argv[0])

    print(time_conversion(T))
コード例 #26
0
def main(argv):
    line  = files.read_line(argv[0])
    cycle = [int(val) for val in line[1:-1].split(' ')]

    print '(%s)' % ' '.join('+%s' % c if c > 0 else '%s' % c for c in genetics.cycle_to_chromosome(cycle))
コード例 #27
0
def main(argv):
    rev_codon = table.reverse_codon(argv[0])
    string = files.read_line(argv[1])

    print genetics.count_rnas_from_protein(string, rev_codon)
コード例 #28
0
def main(argv):
    line = files.read_line(argv[0])
    seq  = Seq(line)

    print seq.count('A'), seq.count('C'), seq.count('G'), seq.count('T') 
コード例 #29
0
def main(argv):
    line = files.read_line(argv[0])
    genome = [[int(val) for val in chromosome.split(' ')]
              for chromosome in line[1:-1].split(')(')]

    print ', '.join(str(c) for c in genetics.colored_edges_from_genome(genome))
コード例 #30
0
ファイル: pangrams.py プロジェクト: cowboysmall/hackerrank
def main(argv):
    if is_pangram(files.read_line(argv[0])):
        print('pangram')
    else:
        print('not pangram')
コード例 #31
0
def main(argv):
    genome = files.read_line(argv[0])
    skew = genetics.reverse_skew_table(genome)

    print ' '.join(str(i) for i in skew[min(skew)])
コード例 #32
0
def main(argv):
    text = files.read_line(argv[0])
    st = tree.SuffixTree(text)

    print '\n'.join(st.traverse())
コード例 #33
0
ファイル: encryption.py プロジェクト: cowboysmall/hackerrank
def main(argv):
    text = files.read_line(argv[0])

    print(encrypt(text))
コード例 #34
0
def main(argv):
    line  = files.read_line(argv[0])
    perm  = [int(val) for val in line[1:-1].split(' ')]

    print sorts.count_signed_breaks(perm)
コード例 #35
0
def main(argv):
    T = files.read_line(argv[0])

    print(time_conversion(T))
コード例 #36
0
def main(argv):
    print(find(files.read_line(argv[0])))