本文整理汇总了Python中Bio.Align.Generic.Alignment.get_alignment_length方法的典型用法代码示例。如果您正苦于以下问题:Python Alignment.get_alignment_length方法的具体用法?Python Alignment.get_alignment_length怎么用?Python Alignment.get_alignment_length使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Bio.Align.Generic.Alignment
的用法示例。
在下文中一共展示了Alignment.get_alignment_length方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: print
# 需要导入模块: from Bio.Align.Generic import Alignment [as 别名]
# 或者: from Bio.Align.Generic.Alignment import get_alignment_length [as 别名]
print("")
print(summary.pos_specific_score_matrix(chars_to_ignore=['-'],
axis_seq=consensus))
print("")
# Have a generic alphabet, without a declared gap char, so must tell
# provide the frequencies and chars to ignore explicitly.
print(summary.information_content(e_freq_table=expected,
chars_to_ignore=['-']))
print("")
print("Trying a protein sequence with gaps and stops")
alpha = Alphabet.HasStopCodon(Alphabet.Gapped(Alphabet.generic_protein, "-"), "*")
a = Alignment(alpha)
a.add_sequence("ID001", "MHQAIFIYQIGYP*LKSGYIQSIRSPEYDNW-")
a.add_sequence("ID002", "MH--IFIYQIGYAYLKSGYIQSIRSPEY-NW*")
a.add_sequence("ID003", "MHQAIFIYQIGYPYLKSGYIQSIRSPEYDNW*")
print(a)
print("=" * a.get_alignment_length())
s = SummaryInfo(a)
c = s.dumb_consensus(ambiguous="X")
print(c)
c = s.gap_consensus(ambiguous="X")
print(c)
print("")
print(s.pos_specific_score_matrix(chars_to_ignore=['-', '*'], axis_seq=c))
print(s.information_content(chars_to_ignore=['-', '*']))
print("Done")
示例2: Align
# 需要导入模块: from Bio.Align.Generic import Alignment [as 别名]
# 或者: from Bio.Align.Generic.Alignment import get_alignment_length [as 别名]
class Align(object):
"""docstring for Align"""
def __init__(self, input):
self.input = input
self.alignment = None
self.trimmed_alignment = None
self.perfect_trimmed_alignment = None
def _clean(self, outtemp):
# cleanup temp file
os.remove(outtemp)
# cleanup input file
os.remove(self.input)
def _find_ends(self, forward=True):
"""determine the first (or last) position where all reads in an alignment
start/stop matching"""
if forward:
theRange = xrange(self.alignment.get_alignment_length())
else:
theRange = reversed(xrange(self.alignment.get_alignment_length()))
for col in theRange:
if '-' in self.alignment.get_column(col):
pass
else:
break
return col
def _base_checker(self, bases, sequence, loc):
"""ensure that any trimming that occurs does not start beyong the
end of the sequence being trimmed"""
# deal with the case where we just want to measure out from the
# middle of a particular sequence
if len(loc) == 1:
loc = (loc, loc)
if not bases > len(sequence.seq[:loc[0]]) and \
not bases > len(sequence.seq[loc[1]:]):
return True
def _record_formatter(self, temp):
"""return a string formatted as a biopython sequence record"""
temp_record = SeqRecord(temp)
temp_record.id = sequence.id
temp_record.name = sequence.name
temp_record.description = sequence.description
return temp_record
def _alignment_summary(self, alignment):
"""return summary data for an alignment object using the AlignInfo
class from BioPython"""
summary = AlignInfo.SummaryInfo(alignment)
consensus = summary.dumb_consensus()
return summary, consensus
def _read(self, format):
"""read an alignment from the CLI - largely for testing purposes"""
self.alignment = AlignIO.read(open(self.input,'rU'), format)
def get_probe_location(self):
'''Pull the probe sequence from an alignment object and determine its position
within the read'''
# probe at bottom => reverse order
for record in self.alignment[::-1]:
if record.id == 'probe':
start = re.search('^-*', str(record.seq))
end = re.search('-*$', str(record.seq))
# should be first record
break
# ooh, this seems so very backwards
self.ploc = (start.end(), end.start(),)
def run_alignment(self, clean = True, consensus = True):
"""Align, as originally written gets bogged down. Add communicate method
and move away from pipes for holding information (this has always been
problematic for me with multiprocessing). Move to tempfile-based
output."""
# create results file
fd, outtemp = tempfile.mkstemp(suffix='.align')
os.close(fd)
# run MUSCLE on the temp file
cline = MuscleCommandline(input=self.input, out=outtemp)
stdout, stderr = subprocess.Popen(str(cline),
stderr=subprocess.PIPE,
stdout=subprocess.PIPE,
shell=True).communicate(None)
self.alignment = AlignIO.read(open(outtemp,'rU'), "fasta", alphabet = Gapped(IUPAC.unambiguous_dna, "-"))
# build a dumb consensus
if consensus:
self.alignment_summary, self.alignment_consensus = \
self._alignment_summary(self.alignment)
# cleanup temp files
if clean:
self._clean(outtemp)
def running_average(self, window_size, threshold):
# iterate across the columns of the alignment and determine presence
# or absence of base-identity in the column
differences = []
for column in xrange(self.alignment.get_alignment_length()):
column_values = self.alignment.get_column(column)
#.........这里部分代码省略.........
示例3: Alignment
# 需要导入模块: from Bio.Align.Generic import Alignment [as 别名]
# 或者: from Bio.Align.Generic.Alignment import get_alignment_length [as 别名]
# standard library
import os
# biopython
from Bio import Alphabet
from Bio import Seq
from Bio.Alphabet import IUPAC
from Bio import Clustalw
from Bio.Align import AlignInfo
from Bio import AlignIO
from Bio.SubsMat import FreqTable
from Bio.Align.Generic import Alignment
#Very simple tests on an empty alignment
alignment = Alignment(Alphabet.generic_alphabet)
assert alignment.get_alignment_length() == 0
assert len(alignment) == 0
del alignment
#Basic tests on simple three string alignment
alignment = Alignment(Alphabet.generic_alphabet)
letters = "AbcDefGhiJklMnoPqrStuVwxYz"
alignment.add_sequence("mixed", letters)
alignment.add_sequence("lower", letters.lower())
alignment.add_sequence("upper", letters.upper())
assert alignment.get_alignment_length() == 26
assert len(alignment) == 3
assert alignment.get_seq_by_num(0).tostring() == letters
assert alignment.get_seq_by_num(1).tostring() == letters.lower()
assert alignment.get_seq_by_num(2).tostring() == letters.upper()
assert alignment[0].description == "mixed"
示例4: str
# 需要导入模块: from Bio.Align.Generic import Alignment [as 别名]
# 或者: from Bio.Align.Generic.Alignment import get_alignment_length [as 别名]
seq1='MHQAIFIYQIGYPLKSGYIQSIRSPEYDNW'
seq2='MH--IFIYQIGYALKSGYIQSIRSPEY-NW'
align=Alignment(Bio.Alphabet.Gapped(IUPAC.protein)) #instance of Alignment class
align.add_sequence('asp',seq1)
align.add_sequence('unk',seq2)
print align
#Alignment methods
#get_all_seqs: return all sequences in the alignment as a list of SeqRecord
for s in align.get_all_seqs(): #in align: (the same)
print '->',s.seq
#get_seq_by_num(n): return only the selected sequence by index
print str(align.get_seq_by_num(1)) #Seq object
print align[0] #SeqRecord object
print str(align[0].seq)
#get_alignment_length(): get length of alignment
print align.get_alignment_length()
#get_column(n): return a string with all the letters in the n column
print align.get_column(0)
print align.get_column(2)
#AlignInfo module: to extract info from alignment objects
from Bio.Align import AlignInfo
#print_info_content function
#SummaryInfo,PSSM classes
summary=AlignInfo.SummaryInfo(align)
print summary.information_content()
print summary.dumb_consensus()
print summary.gap_consensus()
print summary.get_column(2) #get column by index
print summary.alignment #complete description