Skip to content

Commit

Permalink
Create GC calculator with argparse file input feature
Browse files Browse the repository at this point in the history
  • Loading branch information
darwinsorchid committed Aug 30, 2024
1 parent fab239f commit ee9d58f
Show file tree
Hide file tree
Showing 12 changed files with 2,950 additions and 138 deletions.
33 changes: 21 additions & 12 deletions file_input_argparse.py → GC_argparse_file.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# ===================================================== DEPENDENCIES ==============================================================
import argparse
import sys
from Bio import SeqIO
from Bio import Align
from Bio.SeqUtils import gc_fraction
Expand All @@ -8,7 +9,7 @@

# ===================================================== ARGPARSE SETUP =============================================================
# Create parser instance
parser = argparse.ArgumentParser(description = 'Calculate GC content of DNA/RNA sequences from files.')
parser = argparse.ArgumentParser(description = 'Calculate GC content of DNA/RNA sequences from files of different formats.')

# ----------------------------- Single sequence file formats as optional arguments ------------------------------
# FASTA nucleic acid files
Expand All @@ -28,30 +29,34 @@
# ClustalW files
parser.add_argument('-aln', type = argparse.FileType('r', encoding = 'UTF-8'), help = 'Provide .aln file')


# Parse command-line arguments that were passed to the script and store them as attributes to args object
args = parser.parse_args()

if args.fna is not None:
record_list =[SeqIO.read(file, "fasta") for file in args.fna]
sequence_list = [record.seq for record in record_list]
accession_num_list = [record.id.split('|')[3] for record in record_list]
# Check if no files were provided
if not any([args.fna, args.fasta, args.gb, args.fa, args.aln]):
print("Provide a file to continue")
sys.exit(1) # Exit the script with a status of 1 (indicating an error)

elif args.fna is not None:
record_list =[SeqIO.read(file, "fasta") for file in args.fna] # Make list of SeqRecord objects from file
sequence_list = [record.seq for record in record_list] # Make list of sequences as Seq objects
accession_num_list = [record.id.split('|')[3] for record in record_list] # Make list of accession numbers of sequences

elif args.fasta is not None:
record_list =[SeqIO.read(file, "fasta") for file in args.fasta]
sequence_list = [record.seq for record in record_list]
accession_num_list = [record.id for record in record_list]
record_list =[SeqIO.read(file, "fasta") for file in args.fasta]
sequence_list = [record.seq for record in record_list]
accession_num_list = [record.id for record in record_list]

elif args.gb is not None:
record_list =[SeqIO.read(file, "genbank") for file in args.gb]
record_list =[SeqIO.read(file, "genbank") for file in args.gb]
sequence_list = [record.seq for record in record_list]
accession_num_list = [record.id for record in record_list]

elif args.fa is not None:
alignment = Align.read(args.fa, 'fasta')
record_list = alignment.sequences
sequence_list = [record.seq for record in record_list]
accession_num_list = [record.id for record in record_list]
accession_num_list = [record.id for record in record_list] # Species name instead of accession number for aligned FASTA files

elif args.aln is not None:
alignment = Align.read(args.aln, 'clustal')
Expand All @@ -68,8 +73,9 @@ def calc_gc(sequence_list):
gc_list.append(round(gc_fraction(i), 2))
return gc_list


def create_GC_barplot(accession_num_list, gc_list):
'''Function that creates barplot of the GC value calculated (not with SWAN) of multiple sequences.
'''Function that creates barplot of the GC value calculated of multiple sequences without sliding window analysis.
'''
fig, ax = plt.subplots()

Expand Down Expand Up @@ -98,5 +104,8 @@ def create_GC_barplot(accession_num_list, gc_list):
plt.show()


# Calculate GC content of sequences from file
gc_content_list = calc_gc(sequence_list)

# Create barplot of GC content
create_GC_barplot(accession_num_list, gc_content_list)
7 changes: 3 additions & 4 deletions gc_calc.py → GC_user_input.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
from matplotlib import pyplot as plt
plt.style.use('ggplot')


# ===================================================== FUNCTIONS =================================================================
def calculate_gc(sequence):
''' Simple function that calculates GC content of a single sequence and rounds the floating point number to the third decimal place.
Expand All @@ -29,7 +28,7 @@ def multiple_gc(seq_choice):
def calculate_window_gc(sequence, window, step):
'''Function that calculates the GC content of a single sequence with the sliding window method. The window and step size are passed in
as positional arguments and the user defines their values accordingly. Returns a tuple of a list of the windows the sequence has been
split to and a list with the respective gc values of every window analyzed.
split to and a list with the respective GC values of every window analyzed.
[Sliding window analysis (SWAN) is a commonly used method for studying the properties of molecular sequences:
data are plotted as moving averages of a particular criterion, such as the number of nucleotide changes,
Expand All @@ -48,7 +47,7 @@ def calculate_window_gc(sequence, window, step):


def create_window_plot(sequence):
'''Function that takes plots the SWAN calculated content of a single sequence passed in by the user.
'''Function that plots the SWAN calculated content of a single sequence passed in by the user.
'''
x_axis, y_axis = calculate_window_gc(sequence, window_size, step_size)
plt.plot(x_axis, y_axis, color = "k", linestyle = "--", marker = "o", label = f"{sequence}")
Expand Down Expand Up @@ -93,7 +92,7 @@ def create_GC_barplot(x, y):
fig.tight_layout()
plt.show()


# ====================================================== LOGIC =====================================================================
print("Welcome to GC calculator!")
seq_choice = int(input("Please enter the number of the sequences you want to analyze today. "))
Expand Down
139 changes: 139 additions & 0 deletions Tests/NC_005816.fna
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
>gi|45478711|ref|NC_005816.1| Yersinia pestis biovar Microtus str. 91001 plasmid pPCP1, complete sequence
TGTAACGAACGGTGCAATAGTGATCCACACCCAACGCCTGAAATCAGATCCAGGGGGTAATCTGCTCTCC
TGATTCAGGAGAGTTTATGGTCACTTTTGAGACAGTTATGGAAATTAAAATCCTGCACAAGCAGGGAATG
AGTAGCCGGGCGATTGCCAGAGAACTGGGGATCTCCCGCAATACCGTTAAACGTTATTTGCAGGCAAAAT
CTGAGCCGCCAAAATATACGCCGCGACCTGCTGTTGCTTCACTCCTGGATGAATACCGGGATTATATTCG
TCAACGCATCGCCGATGCTCATCCTTACAAAATCCCGGCAACGGTAATCGCTCGCGAGATCAGAGACCAG
GGATATCGTGGCGGAATGACCATTCTCAGGGCATTCATTCGTTCTCTCTCGGTTCCTCAGGAGCAGGAGC
CTGCCGTTCGGTTCGAAACTGAACCCGGACGACAGATGCAGGTTGACTGGGGCACTATGCGTAATGGTCG
CTCACCGCTTCACGTGTTCGTTGCTGTTCTCGGATACAGCCGAATGCTGTACATCGAATTCACTGACAAT
ATGCGTTATGACACGCTGGAGACCTGCCATCGTAATGCGTTCCGCTTCTTTGGTGGTGTGCCGCGCGAAG
TGTTGTATGACAATATGAAAACTGTGGTTCTGCAACGTGACGCATATCAGACCGGTCAGCACCGGTTCCA
TCCTTCGCTGTGGCAGTTCGGCAAGGAGATGGGCTTCTCTCCCCGACTGTGTCGCCCCTTCAGGGCACAG
ACTAAAGGTAAGGTGGAACGGATGGTGCAGTACACCCGTAACAGTTTTTACATCCCACTAATGACTCGCC
TGCGCCCGATGGGGATCACTGTCGATGTTGAAACAGCCAACCGCCACGGTCTGCGCTGGCTGCACGATGT
CGCTAACCAACGAAAGCATGAAACAATCCAGGCCCGTCCCTGCGATCGCTGGCTCGAAGAGCAGCAGTCC
ATGCTGGCACTGCCTCCGGAGAAAAAAGAGTATGACGTGCATCTTGATGAAAATCTGGTGAACTTCGACA
AACACCCCCTGCATCATCCACTCTCCATCTACGACTCATTCTGCAGAGGAGTGGCGTGATGATGGAACTG
CAACATCAACGACTGATGGCGCTCGCCGGGCAGTTGCAACTGGAAAGCCTTATAAGCGCAGCGCCTGCGC
TGTCACAACAGGCAGTAGACCAGGAATGGAGTTATATGGACTTCCTGGAGCATCTGCTTCATGAAGAAAA
ACTGGCACGTCATCAACGTAAACAGGCGATGTATACCCGAATGGCAGCCTTCCCGGCGGTGAAAACGTTC
GAAGAGTATGACTTCACATTCGCCACCGGAGCACCGCAGAAGCAACTCCAGTCGTTACGCTCACTCAGCT
TCATAGAACGTAATGAAAATATCGTATTACTGGGGCCATCAGGTGTGGGGAAAACCCATCTGGCAATAGC
GATGGGCTATGAAGCAGTCCGTGCAGGTATCAAAGTTCGCTTCACAACAGCAGCAGATCTGTTACTTCAG
TTATCTACGGCACAACGTCAGGGCCGTTATAAAACGACGCTTCAGCGTGGAGTAATGGCCCCCCGCCTGC
TCATCATTGATGAAATAGGCTATCTGCCGTTCAGTCAGGAAGAAGCAAAGCTGTTCTTCCAGGTCATCGC
TAAACGTTACGAAAAGAGCGCAATGATCCTGACATCCAATCTGCCGTTCGGGCAGTGGGATCAAACGTTC
GCCGGTGATGCAGCACTGACCTCAGCGATGCTGGACCGTATCTTACACCACTCACATGTCGTTCAAATCA
AAGGAGAAAGCTATCGACTCAGACAGAAACGAAAGGCCGGGGTTATAGCAGAAGCTAATCCTGAGTAAAA
CGGTGGATCAATATTGGGCCGTTGGTGGAGATATAAGTGGATCACTTTTCATCCGTCGTTGACACCCTGA
TGAATTCACGTGTTCACGCCTGAATAACAAGAATGCCGGAGATACGCAGTCATATTTTTTACACAATTCT
CTAATCCCGACAAGGTCGTAGGTCGTTATAGGAAAATTCTTAGCACCATTCCGGAACAATCAGAACAGCA
GGCCATGAACGACTGACAACATTACGAATATAAAAAACGCACCCGGGCCAGACATTCCCCCTACTGATTA
AACCAGCCGGACTTGTCCACGGAACGGTCTTTTTAAACCGACACACAGTCTGAGTACAGATACATGTCAC
GATGATGCAGGATTAGCGGAAGAGTGTGAGCACGTTTCCGGGAACTGTGGTGAACCATAGCTCAATATTC
GAGTGAGGGCATACCGGAAACGCGCTCAGATTCGTTGTAACGCGATTTTCCGTACCGGGCAATTTTTTCA
GTTGTTTTTTCGTTTCATGTCGTCAGAAACGTTCTGAGCGCGTTTCCGGCATCTGATGCTACGCAAACCA
TCCCCATGGTCAGTTGACAGCCGGAAACACGCGGGTGTCGTTTTAGCGTATCGACGGGACGGCGTCGAGA
AGCACAAAAAACAGATGTTGTACTCAGTCAGTTGTTTTACAGACAGCACTGCGGCAGATTGAAAAAGTAC
CGTACTTTCAGGAATGTCCAGAAACCATGTGTCAGACTTCGTTCTCCCCCTTCCGGGTGAATTTTTTTGT
CATCCGTTCAGGAATCTCTTTATAACGATTACTCCATTTCAGGATTTTTTATGTGGCGTTTACTACAGGC
AGGATATTCAAAGGCAAAAAAATCCCCCGGAACAGGCGGAACCCGGACAGGGGGAGAACGAATCGCTAAA
TAATTTTCGTAGTTGTATTTCCCATCGTTGCTACTGCAACGGGATGAATTTGCCGCAGTTTATCCTGTAA
AACAATCCTGATTTACTCACACTCCACATATCACTGACGGAGCACAACGGAATAGTGAACAAACAACAAC
AAACTGCGCTGAATATGGCGCGATTTATCAGAAGCCAGAGCCTGATACTGCTTGAAAAACTGGATGCTCT
GGATGCCGACGAGCAGGCGGCCATGTGTGAACGACTGCACGAACTCGCGGAAGAACTCCAGAACAGCATC
CAGGCTCGCTTTGAAGCCGAAAGTGAAACAGGAACATAACGAAGCTCCCGGAGACGGTCACAGCTTGTCT
GTGAACGGATGCCGGGAGCAGACAAGCCCGTCAGGGCGCGTCAGCGGGTTTTAGCGGGTGTCGGGGCGCA
GCCATGACCCAGTCACGTAGCGATAGCGGAGTGTATACTGGCTTAGTCATGCGGCATCAGTGCGGATTGT
ATGAAAAGTGCACCATGTACGGTGTGAAATGCCGCACAGATGCGTAAGGAGAACATGCAGATGCCGATGC
TCTTCCGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGCGGCGAGCGGTGTCTGCTCACT
CAAAAGCGGTGATACTGTTATCCACACAATCAGGGGATAACGCCGGAAAGAACATGTGAGCAAAAAACGA
AGACCCCAGAAAAGGCCGCGCCGGAGGCGCTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAA
ATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTTAAAGATACCAGGCGTTTCCCCCCGGAAGC
TCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTCTCCGCCTTTCTCCCTTCGGGAA
GCGTGGCGCTTTCTCATAGCTCACGCTGTTGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGG
CTGTGTGCACGAACCCCCCGTTCAGCCCGACCACTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAAC
CCGGTAAGACACGACTTTACGCCACTGGCAGCAGCCATTGGTAACTGAAAAGTGGATTTAGATACGCAGA
ACTCTTGAAGTTGAAGCCTTATCGCGGCTACACTGAAAGGACAGCATTTGGTATCTGTGCTCCACTTAAG
CCAGCTACCACAGGTTAGAAAGCCTGAGAAACTTCTAACCTTCGAAAGAACCCACGCCTGAGAACGTGGG
TTTTTTCGTTTACAGGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCT
ACTGAATTGCGCTCCCGATCAGTTCAGCAGAAGATTATGATGGGGTTCTATGGGTATTGCTGCGGTAACA
CCCATGTTACTTGAGGTTGTATGTAGTCTGTGTAGAATTATACACATAAGGCTTAAACTGCTCTTTTTTT
TCAATATGCAATTGGAAGTTCATTGACTACATAAATAGATTATTCCAAATAATTTATTTATGTAAGAACA
GGATGGGAGGGGGAATGATCTCAAAGTTATTTTGCTTGGCTCTCATATTTTTATCATCAAGTGGCCTTGC
AGAAAAAAACACATATACAGCAAAAGACATCTTGCAAAACCTAGAATTAAATACCTTTGGCAATTCATTG
TCTCATGGCATCTATGGGAAACAGACAACCTTCAAGCAAACCGAGTTTACAAATATTAAAAGCAACACCA
AAAAACACATTGCACTTATCAATAAAGACAACTCATGGATGATATCATTAAAAATACTAGGAATTAAGAG
AGATGAGTATACTGTCTGTTTTGAAGATTTCTCTCTAATAAGACCGCCAACATATGTAGCCATACATCCT
CTACTTATAAAAAAAGTAAAATCTGGAAACTTTATAGTAGTGAAAGAAATAAAGAAATCTATCCCTGGTT
GCACTGTATATTATCATTAATAGCAAGCCCCTCATTATTATGAGGGGCTCATGGTTATTTTAACAATCCA
CTATCGATATCTTTTTGCACCAGAGCGCCCTCTCGTTTACGTCTGTCAGACATTCCATCAACAATATTAT
TAAAAGCATTTACAAGGCCATTCCAGTCTTTTGCGATAACTTTATTCCATACTGTGGGAGCAGTTCTGGA
TAACTTAAACCCTTTTTGATATCCAATAGACACCAGTGCTGTACGGGTTCTCAACGGTAAATCGCTGAAC
CGAAGACCGATATTAGCGTCATTGAAAAGACCTTCAATCTTATGTGAGAATTTATCAATATAAATATTAG
ATAAGAGATGAGCTTCATTATCAGAAAGCGTCAGAGGTGCTGTTCTCACTTTATCATAAGCCTCCTTCCC
TCGAAGCATATAATACCCATCAAGTCTATCTGCAATATACTGAGGGACACCGTCATTCAATAAATCCTGT
TTGCTTCGCTGACCAAGGTCAACCCCGGAACCGAATGTAACACCGGTACTGTTAAAATAATCGCTACTAG
GATTAGACGGAAAATGACTTGTCGGATTAAACCCTTCAAAACCATTACTGGAGAAAATATCGTGGTCAAC
AATATTTACCGAACGACGTAAAAATTCCTTCAGTTGACTAATATTGTCAAAGTTAATGACAGTGTTGTCC
GCTAGGACGATGCGATTTCGGTTATTATTCAGAATGTCTTCGTTCTCTTTCTTATCGAGATGTTCAATAG
ATTCGGCAATCGTTCCCTCAAGAACCATGACACGGTAGACTTTCACACCGTCTTTTTCCTGACCTGTTTC
AACAGTTATTTTCTGTTCGTAAGACACGGTCCCTTCAGTTTTTGAAATTTTACTTTCCTGGCGGATCTTA
TTTGAATATTCACTGTCTTTCTCCATCTCCGTATCAATCGGAAACCCCATAATGTACATCAGTTTAAAAT
TACTCCGGCCAGGCAGATCCACATAATGTGGTAATGCAATTGTAATCGAATTAGCTTCAAAATTTGGTCT
GTAACTGCTTAATGTACTTCCGGAAAAGAGAAAAGCCGGAACACCACCTGAACCATTCACTACCATTGTA
TCTGACATAAAAATTCCTCTTTAACACATAAAAAAAACAATAAGTTAAAAAAATACTGTACATAAAAGCA
CTGTTTTTATGTACAGTAATAAAATTACGCCGCTTTATTTTCTCTGTCAATAATATGAAATTTCATTTTT
GTGATCTGAATCACTCTTATAAAAATCAGGAAGGGAAGATTCGCAGCAGAAAAACAGCACCGGGTAACAT
CAGAAAAAAACAGAAAGGAGATAACGTGAGCAAAACAAAATCTGGTCGCCACCGACTGAGCAAAACAGAC
AAACGCCTGCTGGCTGCACTTGTCGTTGCCGGATACGAAGAACGGACAGCCCGTGACCTCATCCAGAAAC
ACGTTTACACACTGACACAGGCCGACCTGCGCCATCTGGTCAGTGAAATCAGTAACGGTGTGGGACAGTC
ACAGGCCTACGATGCGATTTACCAGGCGAGACGCATTCGTCTCGCCCGTAAATACCTGAGCGGAAAAAAA
CCGGAAGGGGTGGAACCCCGGGAAGGGCAGGAACGGGAAGATTTACCATAACTCCCGTTATCAGTACCAT
CGGCTCAACGCTCGTTGTCGGATCTGAAAAATTCGCTCAAAAGATCATATTTCCCTGGATATTTTCCACC
GTTTCTTATGTGAGAAAAGTCACATAATTCTGTCAGACGACGAGAAAACGGATATCGATTATTGTTTAAT
ATTTTTACATTATTAAAAATGAAATTAGATAATCAGATACAAATAATATGTTTTCGTTCATGCAGAGAGA
TTAAGGGTGTCTAATGAAGAAAAGTTCTATTGTGGCAACCATTATAACTATTCTGTCCGGGAGTGCTAAT
GCAGCATCATCTCAGTTAATACCAAATATATCCCCTGACAGCTTTACAGTTGCAGCCTCCACCGGGATGC
TGAGTGGAAAGTCTCATGAAATGCTTTATGACGCAGAAACAGGAAGAAAGATCAGCCAGTTAGACTGGAA
GATCAAAAATGTCGCTATCCTGAAAGGTGATATATCCTGGGATCCATACTCATTTCTGACCCTGAATGCC
AGGGGGTGGACGTCTCTGGCTTCCGGGTCAGGTAATATGGATGACTACGACTGGATGAATGAAAATCAAT
CTGAGTGGACAGATCACTCATCTCATCCTGCTACAAATGTTAATCATGCCAATGAATATGACCTCAATGT
GAAAGGCTGGTTACTCCAGGATGAGAATTATAAAGCAGGTATAACAGCAGGATATCAGGAAACACGTTTC
AGTTGGACAGCTACAGGTGGTTCATATAGTTATAATAATGGAGCTTATACCGGAAACTTCCCGAAAGGAG
TGCGGGTAATAGGTTATAACCAGCGCTTTTCTATGCCATATATTGGACTTGCAGGCCAGTATCGCATTAA
TGATTTTGAGTTAAATGCATTATTTAAATTCAGCGACTGGGTTCGGGCACATGATAATGATGAGCACTAT
ATGAGAGATCTTACTTTCCGTGAGAAGACATCCGGCTCACGTTATTATGGTACCGTAATTAACGCTGGAT
ATTATGTCACACCTAATGCCAAAGTCTTTGCGGAATTTACATACAGTAAATATGATGAGGGCAAAGGAGG
TACTCAGATCATTGATAAGAATAGTGGAGATTCTGTCTCTATTGGCGGAGATGCTGCCGGTATTTCCAAT
AAAAATTATACTGTGACGGCGGGTCTGCAATATCGCTTCTGAAAAATACAGATCATATCTCTCTTTTCAT
CCTCCCCTAGCGGGGAGGATGTCTGTGGAAAGGAGGTTGGTGTTTGACCAACCTTCAGATGTGTGAAAAA
TCACCTTTTTCACCATAATGACGGGGCGCTCATTCTGTTGTTTTGCCTTGACATTCTCCACGTCTTTCAG
GGCATGGAGAAGGTCAAATTAGACATGGAACGCTACTCTCCTTCCTGTAGGAAGCTCAACATCCAAGCTT
AATTTGCCTCCCATTGCTTCAACGTAACGCTTTAACGTCGCCAGCTTTAAATCATTTCCGCGCTGCTCCA
GCTTTGTTACTGCTGGCTGGCTTATACCCATCGCCTCAGCAACTTGTTTTTGTGATAACTGGAGTTCTTC
ACGCATCATCTGCAAGCCGACCTCAAGAATCATCTCATCTGCCATTTCTTTAATTCGTGTCTGGCTTTCA
GGTGAACGACTGGCAATCACCTCATCTAATGTTCTCATTACTTGCTCTCCAGTGTGTTCAGATGTGCTGT
AAATTCATCCTCAGCTATACGCACCAGTTTTTCATAAAACCGCTTATCATTACTTTTATCTCCTGCACAA
AGAACGATAGCCCGACGAATCGGATCGAACGCATAAAAGGCTCTTATCGGACGGCCAGAAAACTGAACGC
GAAGCTCTTTCATATTTTTGTACCGAGAACCTTTCACGGTATCGGCATATGGCCTGGGTAACTCAGGTCC
GTAAACCTGTAGCTTTTTCAAATCAGCCAAAACCTTTTCCTGAAGAGCGTCTTCTTGCTCATTTAGCCAG
TCGTCAAATCGCTGGCTAAAAAGTACCATCCACATGCTCAACCCTATAACCTGTAGCTTACCCCACTAAC
AATATAACCTACGAGTTATATTTTCAAGAAAAGCTGGCTATTTAACATAACGGCAATTTGTACGCACCAC
TGAAATGCGTTCAGCGCGATCACGGCAACAGACAGGCAAAAATAGCAACAAACCTCCCGAAAAACCGCCG
CGATCGCGCCTGATAAATTTTAACCTTATGCATATCTATGCAGCCAGGCGAATCACGAACGAATTGCCTG
CCTGATGTAACTGAAACGGGTGTTTTTTCCTGATTTGGTGGGCGTGGAAGACGGAACATGAACGGGAAAA
CAGAATTCATGCCAGATGAGCGCGATCTGGCAATTAAGGCAAAACACAGCAACAAAGACACGCCAGAATC
GCGCCCGGATATGTTTTAACGCGATTTTCAGACTCAGACAAATTCAGCAGAATGCTACTCCATTCACCGG
GCTGATGGTGAATACATGCGTATCCAGGATGAGTACATTTCTGGCTCTGCCACAGCTCTGTCTGTTGGCA
GCTTTCGCCTGTCCGGAAACCTGCTTAAAACGCTCCCGAAAGGCCTCTGAACCAGAAAGCAACAAAACAC
AGGCCATTAAGTAAATCGCGTTAAAACACGTCTGATGGATTGCTGCAAAAAAAAGTCCCTAATGGAGCAG
GGACTGTTAAACCCAGTGAATAGCGTCTAAATTAAAGTAAGAATACGACCAGGTACTCTTCAGAAAAGAG
ATTAATCCACCGCACAGAATAATCAACAGTAAAAACAAACAACCCTGATTTTTTATTTTTCTTTTTTTCG
ATAAAAACAAAATTAAAGAAATAATTAATCAGAACATTCCTTAACTTCAGGGCATTGCCTGTGTTCCATT
TTGTGATTAGTCTGAAACTTCCGAAGGTGGATAACACCCGGTATTTTTTTGCTCACATAAAGCCCCTCCT
TCAGGCAGAGGGGCTTTTTCTTTGCCACCACATAAAAAAGGCCCTCACAGGAGGTGTTCTGTGAGGGCGT
ATGATAAGGACTGAATCGATGGTTAATATGTCTAGTCCTGACTTTTGCATCTCCGAATATAAAACCCTGT
TTAACGGCATGCAAAACCAAAAAATAAAAATGTGACATCGCAATGCCAGATAATATTGACGCATGAGGGA
ATGCGTACCCCGACCCCTG
Loading

0 comments on commit ee9d58f

Please sign in to comment.