"""
Package transform provides functions for transforming sequences.

"""
# python wrapper for package github.com/bebop/poly/transform within overall package poly
# This is what you import to use the package.
# File is generated by gopy. Do not edit.
# gopy pkg -vm=python3 github.com/bebop/poly

# the following is required to enable dlopen to open the _go.so file
import os,sys,inspect,collections
try:
	import collections.abc as _collections_abc
except ImportError:
	_collections_abc = collections

cwd = os.getcwd()
currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
os.chdir(currentdir)
from . import _poly
from . import go

os.chdir(cwd)

# to use this code in your end-user python file, import it as follows:
# from poly import transform
# and then refer to everything using transform. prefix
# packages imported by this package listed below:




# ---- Types ---


#---- Enums from Go (collections of consts with same type) ---


#---- Constants from Go: Python can only ask that you please don't change these! ---


# ---- Global Variables: can only use functions to access ---


# ---- Interfaces ---


# ---- Structs ---


# ---- Slices ---


# ---- Maps ---


# ---- Constructors ---


# ---- Functions ---
def ComplementBaseRNA(basePair):
	"""ComplementBaseRNA(str basePair) str
	
	ComplementBaseRNA accepts a RNA base pair and returns its complement base
	pair. See Complement.
	
	This function expects byte characters in the range a-z and A-Z and
	will return a space ' ' (U+0020) for characters that are not matched
	to any known base. This is subject to change.
	"""
	return _poly.transform_ComplementBaseRNA(basePair)
def ComplementRNA(sequence):
	"""ComplementRNA(str sequence) str
	
	ComplementRNA returns the complement of sequence. In [RNA] each nucleotide
	(A, U, C or G) is has a deterministic pair. A is paired with U and
	C is paired with G. The complement of a sequence is formed by exchanging
	these letters for their pair:
	
		'A' becomes 'U'
		'U' becomes 'A'
		'C' becomes 'G'
		'G' becomes 'C'
	
	This function expects byte characters in the range a-z and A-Z and
	will not check for non-byte characters, i.e. utf-8 encoding.
	
	[RNA]: https://en.wikipedia.org/wiki/RNA
	"""
	return _poly.transform_ComplementRNA(sequence)
def Reverse(sequence):
	"""Reverse(str sequence) str
	
	Reverse returns the reverse of sequence. It performs a basic
	string reversal by working on the bytes.
	
	This function expects byte characters in the range a-z and A-Z and
	will not check for non-byte character, i.e. utf-8 encoding.
	"""
	return _poly.transform_Reverse(sequence)
def ReverseComplement(sequence):
	"""ReverseComplement(str sequence) str
	
	ReverseComplement returns the reversed complement of sequence.
	It is the equivalent of calling
	
		revComplement := Reverse(Complement(sequence))
	
	This function expects byte characters in the range a-z and A-Z and
	will not check for non-byte characters, i.e. utf-8 encoding.
	"""
	return _poly.transform_ReverseComplement(sequence)
def ReverseComplementRNA(sequence):
	"""ReverseComplementRNA(str sequence) str
	
	ReverseComplementRNA returns the reversed complement of sequence.
	It is the equivalent of calling
	
		revComplement := Reverse(ComplementRNA(sequence))
	
	This function expects byte characters in the range a-z and A-Z and
	will not check for non-byte characters, i.e. utf-8 encoding.
	"""
	return _poly.transform_ReverseComplementRNA(sequence)
def Complement(sequence):
	"""Complement(str sequence) str
	
	Complement returns the complement of sequence. In [DNA] each nucleotide
	(A, T, C or G) is has a deterministic pair. A is paired with T and
	C is paired with G. The complement of a sequence is formed by exchanging
	these letters for their pair:
	
		'A' becomes 'T'
		'T' becomes 'A'
		'C' becomes 'G'
		'G' becomes 'C'
	
	This function expects byte characters in the range a-z and A-Z and
	will not check for non-byte characters, i.e. utf-8 encoding.
	
	[DNA]: https://en.wikipedia.org/wiki/DNA
	"""
	return _poly.transform_Complement(sequence)
def ComplementBase(basePair):
	"""ComplementBase(str basePair) str
	
	ComplementBase accepts a base pair and returns its complement base pair. See Complement.
	
	This function expects byte characters in the range a-z and A-Z and
	will return a space ' ' (U+0020) for characters that are not matched
	to any known base. This is subject to change.
	"""
	return _poly.transform_ComplementBase(basePair)


