INNER CODE UNIT · Python
calculate_sequences_missing_data_percentage
nickjcroucher/gubbins · python/gubbins/PreProcessFasta.py:34
def calculate_sequences_missing_data_percentage(self):
sequences_to_missing_data = {}
with open(self.input_filename) as input_handle:
alignments = AlignIO.parse(input_handle, "fasta")
for alignment in alignments:
for record in alignment:
number_of_gaps = 0
number_of_gaps += record.seq.count('n')
number_of_gaps += record.seq.count('N')
number_of_gaps += record.seq.count('-')
sequence_length = len(record.seq)
if sequence_length == 0:
sequences_to_missing_data[record.id] = 100
if self.verbose:
print("Sample " + str(record.id) + " has no sequence ")
else:
per_missing_data = number_of_gaps*100/sequence_length