Сравнение целых геномов

В этом примере показано, как сравнить целые геномы для организмов, который позволяет вам сравнивать организмы в совсем другом разрешении относительно одного генных сравнений. Вместо того, чтобы только фокусироваться на различиях между гомологичными генами можно получить сведения о крупномасштабных функциях геномной эволюции.

Этот пример использует две деформации хламидии, Хламидии трахоматис и Chlamydophila pneumoniae. Это тесно связанные бактерии, которые вызывают отличающийся, хотя оба очень распространенные, болезни в людях. Целые геномы доступны в базе данных GenBank® для обоих организмов.

Получение геномов

Можно загрузить эти геномы с помощью getgenbank функция. Во-первых, загрузите геном Хламидии трахоматис. Заметьте, что геном является круговым и чуть более чем один миллион BP в длине. Эти последовательности являются довольно большими, так может требовать времени к загрузке.

seqtrachomatis = getgenbank('NC_000117');

Затем загрузите Chlamydophila pneumoniae. Этот геном является также круговым и немного более длинным в 1.2 Mbp.

seqpneumoniae = getgenbank('NC_002179');

Для вашего удобства ранее загруженные последовательности включены в MAT-файл. Обратите внимание на то, что данные в общедоступных репозиториях часто курируются и обновляются. Следовательно, результаты этого примера могут немного отличаться, когда вы используете актуальные наборы данных.

load('chlamydia.mat','seqtrachomatis','seqpneumoniae')

Очень простой подход для сравнения этих двух геномов должен выполнить попарное выравнивание между всеми генами в геномах. Учитывая, что это бактериальные геномы, простой подход должен был бы сравнить весь ORFs в этих двух геномах. Однако данные GenBank включают больше информации о генах в последовательностях. Это хранится в поле CDS структуры данных. У хламидии трахоматис есть 895 областей кодирования, в то время как Chlamydophila pneumoniae имеет 1112.

M = numel(seqtrachomatis.CDS)
N = numel(seqpneumoniae.CDS)
M =

   895


N =

        1112

Большинство записей CDS содержит перевод в последовательности аминокислот. Первая запись CDS в данных о Хламидии трахоматис является гипотетическим белком длины 591 остаток.

seqtrachomatis.CDS(1)
ans = 

  struct with fields:

       location: 'join(1041920..1042519,1..1176)'
           gene: []
        product: 'hypothetical protein'
    codon_start: '1'
        indices: [1041920 1042519 1 1176]
     protein_id: 'NP_219502.1'
        db_xref: 'GeneID:884145'
           note: []
    translation: 'MSIRGVGGNGNSRIPSHNGDGSNRRSQNTKGNNKVEDRVCSLYSSRSNENRESPYAVVDVSSMIESTPTSGETTRASRGVFSRFQRGLVRVADKVRRAVQCAWSSVSTRRSSATRAAESGSSSRTARGASSGYREYSPSAARGLRLMFTDFWRTRVLRQTSPMAGVFGNLDVNEARLMAAYTSECADHLEANKLAGPDGVAAAREIAKRWEQRVRDLQDKGAARKLLNDPLGRRTPNYQSKNPGEYTVGNSMFYDGPQVANLQNVDTGFWLDMSNLSDVVLSREIQTGLRARATLEESMPMLENLEERFRRLQETCDAARTEIEESGWTRESASRMEGDEAQGPSRAQQAFQSFVNECNSIEFSFGSFGEHVRVLCARVSRGLAAAGEAIRRCFSCCKGSTHRYAPRDDLSPEGASLAETLARFADDMGIERGADGTYDIPLVDDWRRGVPSIEGEGSDSIYEIMMPIYEVMDMDLETRRSFAVQQGHYQDPRASDYDLPRASDYDLPRSPYPTPPLPPRYQLQNMDVEAGFREAVYASFVAGMYNYVVTQPQERIPNSQQVEGILRDMLTNGSQTFRDLMRRWNREVDRE'
           text: [19x58 char]

Четвертая запись CDS для gatA гена, который имеет glutamyl-тРНК продукта amidotransferase подблок A. Длина последовательности продукта является 491 остатком.

seqtrachomatis.CDS(4)
ans = 

  struct with fields:

       location: '2108..3583'
           gene: 'gatA'
        product: [2x47 char]
    codon_start: '1'
        indices: [2108 3583]
     protein_id: 'NP_219505.1'
        db_xref: 'GeneID:884087'
           note: [7x58 char]
    translation: 'MYRKSALELRDAVVNRELSVTAITEYFYHRIESHDEQIGAFLSLCKERALLRASRIDDKLAKGDPIGLLAGIPIGVKDNIHITGVKTTCASKMLENFVAPFDSTVVRRIEMEDGILLGKLNMDEFAMGSTTRYSAFHPTNNPWDLERVPGGSSGGSAAAVSARFCPIALGSDTGGSIRQPAAFCGVVGFKPSYGAVSRYGLVAFGSSLDQIGPLTTVVEDVALAMDAFAGRDPKDSTTRDFFKGTFSQALSLEVPKLIGVPRGFLDGLQEDCKENFFEALAVMEREGSRIIDVDLSVLKHAVPVYYIVASAEAATNLARFDGVRYGHRCAQADNMHEMYARSRKEGFGKEVTRRILLGNYVLSAERQNIFYKKGMAVRARLIDAFQAAFERCDVIAMPVCATPAIRDQDVLDPVSLYLQDVYTVAVNLAYLPAISVPSGLSKEGLPLGVQFIGERGSDQQICQVGYSFQEHSQIKQLYPKAVNGLFDGGIE'
           text: [26x58 char]

Несколько из CDS Chlamydophila pneumoniae имеют пустые переводы. Заполните их можно следующим образом. Во-первых, найдите все пустые переводы, затем отобразите первый пустой перевод.

missingPn = find(cellfun(@isempty,{seqpneumoniae.CDS.translation}));
seqpneumoniae.CDS(missingPn(1))
ans = 

  struct with fields:

       location: 'complement(73364..73477)'
           gene: []
        product: 'hypothetical protein'
    codon_start: '1'
        indices: [73477 73364]
     protein_id: 'NP_444613.1'
        db_xref: 'GeneID:963699'
           note: 'hypothetical protein; identified by Glimmer2'
    translation: []
           text: [10x52 char]

Функциональный featureparse функции извлечений, такие как CDS, от структуры последовательности. Можно затем использовать cellfun применять nt2aa к последовательностям с недостающими переводами.

allCDS = featureparse(seqpneumoniae,'Feature','CDS','Sequence',true);
missingSeqs = cellfun(@nt2aa,{allCDS(missingPn).Sequence},'uniform',false);
[seqpneumoniae.CDS(missingPn).translation] = deal(missingSeqs{:});
seqpneumoniae.CDS(missingPn(1))
ans = 

  struct with fields:

       location: 'complement(73364..73477)'
           gene: []
        product: 'hypothetical protein'
    codon_start: '1'
        indices: [73477 73364]
     protein_id: 'NP_444613.1'
        db_xref: 'GeneID:963699'
           note: 'hypothetical protein; identified by Glimmer2'
    translation: 'MLTDQRKHIQMLHKHNSIEIFLSNMVVEVKLFFKTLK*'
           text: [10x52 char]

Выполнение генных сравнений

Чтобы сравнить gatA ген у Хламидии трахоматис со всеми генами CDS в Chlamydophila pneumoniae, поместите for цикл вокруг nwalign функция. Вы могли альтернативно использовать локальное выравнивание (swalign).

tic
gatAScores = zeros(1,N);
for inner = 1:N
    gatAScores(inner) = nwalign(seqtrachomatis.CDS(4).translation,...
        seqpneumoniae.CDS(inner).translation);
end
toc % |tic| and |toc| are used to report how long the calculation takes.
Elapsed time is 1.888283 seconds.

Гистограмма баллов показывает большое количество отрицательных баллов и одного очень высокого положительного счета.

hist(gatAScores,100)
title(sprintf(['Alignment Scores for Chlamydia trachomatis %s\n',...
    'with all CDS in Chlamydophila pneumoniae'],seqtrachomatis.CDS(4).gene))

Как ожидалось высокое соответствие выигрыша с gatA геном в Chlamydophila pneumoniae.

[gatABest, gatABestIdx] = max(gatAScores);
seqpneumoniae.CDS(gatABestIdx)
ans = 

  struct with fields:

       location: 'complement(838828..840306)'
           gene: 'gatA'
        product: [2x47 char]
    codon_start: '1'
        indices: [840306 838828]
     protein_id: 'NP_445311.1'
        db_xref: 'GeneID:963139'
           note: [7x58 char]
    translation: 'MYRYSALELAKAVTLGELTATGVTQHFFHRIEEAEGQVGAFISLCKEQALEQAELIDKKRSRGEPLGKLAGVPVGIKDNIHVTGLKTTCASRVLENYQPPFDATVVERIKKEDGIILGKLNMDEFAMGSTTLYSAFHPTHNPWDLSRVPGGSSGGSAAAVSARFCPVALGSDTGGSIRQPAAFCGVVGFKPSYGAVSRYGLVAFASSLDQIGPLANTVEDVALMMDVFSGRDPKDATSREFFRDSFMSKLSTEVPKVIGVPRTFLEGLRDDIRENFFSSLAIFEGEGTHLVDVELDILSHAVSIYYILASAEAATNLARFDGVRYGYRSPQAHTISQLYDLSRGEGFGKEVMRRILLGNYVLSAERQNVYYKKATAVRAKIVKAFRTAFEKCEILAMPVCSSPAFEIGEILDPVTLYLQDIYTVAMNLAYLPAIAVPSGFSKEGLPLGLQIIGQQGQDQQVCQVGYSFQEHAQIKQLFSKRYAKSVVLGGQS'
           text: [26x58 char]

Попарное выравнивание одного гена от Хламидии трахоматис со всеми генами от Chlamydophila pneumoniae занимает чуть менее чем минуту на Intel® Pentium 4, машина на 2,0 ГГц рабочий Windows® XP. Чтобы сделать это вычисление для всех 895 CDS у Хламидии трахоматис заняло бы приблизительно 12 часов на той же машине. Не прокомментируйте следующий код, если вы хотите выполнить целое вычисление.

scores = zeros(M,N);
parfor outer = 1:M
   theScore = zeros(1,outer);
   theSeq = seqtrachomatis.CDS(outer).translation;
   for inner = 1:N
       theScore(inner) = ...
           nwalign(theSeq,...
           seqpneumoniae.CDS(inner).translation);
   end
   scores(outer,:) = theScore;
end

Отметьте команду parfor используется во внешнем контуре. Если ваша машина будет сконфигурирована, чтобы запустить несколько лабораторий затем, то внешний контур будет выполняться параллельно. Для полного понимания этого построения смотрите doc parfor.

Исследование значения баллов

Распределения музыки к нескольким генам показывают шаблон. CDS (3) из Хламидии трахоматис является gatC геном. Это имеет относительно короткий продукт, подблок aspartyl/glutamyl-tRNA amidotransferase C, только с 100 остатками.

gatCScores = zeros(1,N);
for inner = 1:N
    gatCScores(inner) = nwalign(seqtrachomatis.CDS(3).translation,...
        seqpneumoniae.CDS(inner).translation);
end
figure
hist(gatCScores,100)
title(sprintf(['Alignment Scores for Chlamydia trachomatis %s\n',...
    'with all CDS in Chlamydophila pneumoniae'],seqtrachomatis.CDS(3).gene))
xlabel('Score');ylabel('Number of genes');

Лучший счет снова соответствует тому же гену в Chlamydophila pneumoniae.

[gatCBest, gatCBestIdx] = max(gatCScores);
seqpneumoniae.CDS(gatCBestIdx).product
ans =

  2x47 char array

    'aspartyl/glutamyl-tRNA amidotransferase subunit'
    'C                                              '

CDS (339) из Хламидии трахоматис является uvrA геном. Это имеет очень длинный продукт, excinuclease подблок ABC A, длины 1786.

uvrAScores = zeros(1,N);
for inner = 1:N
    uvrAScores(inner) = nwalign(seqtrachomatis.CDS(339).translation,...
        seqpneumoniae.CDS(inner).translation);
end
figure
hist(uvrAScores,100)
title(sprintf(['Alignment Scores for Chlamydia trachomatis %s\n',...
    'with all CDS in Chlamydophila pneumoniae'],seqtrachomatis.CDS(339).gene))
xlabel('Score');ylabel('Number of genes');

[uvrABest, uvrABestIdx] = max(uvrAScores);
seqpneumoniae.CDS(uvrABestIdx)
ans = 

  struct with fields:

       location: '716887..722367'
           gene: []
        product: 'excinuclease ABC subunit A'
    codon_start: '1'
        indices: [716887 722367]
     protein_id: 'NP_445220.1'
        db_xref: 'GeneID:963214'
           note: [6x58 char]
    translation: 'MKSLPVYVSGIKVRNLKNVSIHFNSEEIVLLTGVSGSGKSSIAFDTLYAAGRKRYISTLPTFFATTITTLPNPKVEEIHGLSPTIAIKQNHFSHYSHATVGSTTELFSHLALLFTLEGQARDPKTKEVLDLYSKEKVLSTIMELSEGVQISILAPLLRKDIAAIHEYAQQGFTKVRCNGTIHPIYSFLTSGIPEDCSVDIVIDTLIKSENNIARLKVSLFTALEFGEGHCSVLSDEELMTFSTKQQIDDVTYTPLTQQLFSPHALESRCSLCQGSGIFISIDNPLLIDENLSIKENCCSFAGNCSSYLYHTIYQALADALNFNLETPWKDLSPEIQNIFLRGKNNLVLPVRLFDQTLGKKNLTYKVWRGVLNDIGDKVRYTTKPSRYLSKGMSAHSCSLCKGTGLGDYASVATWEGKTFTEFQQMSLNNWHVFFSKVKSPSLSIQEILQGLKQRLSFLIDLGLGYLTPNRALATLSGGEQERTAIAKHLGGELFGITYILDEPSIGLHPQDTEKLIGVIKKLRDQGNTVILVEHEERMISLADRIIDIGPGAGIFGGEVLFNGKPEDFLMNSSSLTAKYLRQELTIPIPESREAPTSWLLLTEATIHNLKNLSIRLPLARLIGVTGVSGSGKSSLINNTLVPAIESFLKQENPKNLHFEWGCIGRLIHITRDLPGRSQRSIPLTYIKAFDDIRELFASQPRSLRQGLTKAHFSFNQPQGACIQCQGLGTMTISDDDTPIPCSECQGKRYHSEVLEILYEGKNIADILDMTAYEAEKFFISHPKIHEKIHALCSLRLDYLPLGRPLSTLSGGEIQRLKLAHELLFASPKQTLYVLDEPTTGLHTHDIQALIEVLLSLTYLGHTVLVIEHNMHVVKVCDYVLELGPEGGDLGGYLLASCTPKDLIQLNTPTAKALAPYIEGSLDIPVVKSEPPSSPKSCDILIKDAYQNNLKHIDLALPRNSLIAIAGPGASGKHSLVFDILYASGNIAYAELFPPYIRQGLLKETPLPSVGEVKGLSPVISVRKCSSSNRSYHTIASALGLSNGLEKLFAILGEPFSPLTEEKLSKTTPQTIIDSLLKSYKDDYVTITSPIPLGSDLEIFLQEKQKEGFIKLYSEGNLYDLDERLPLNLIEPAIVIQHTKVSPKNSSSLLSAISVAFSLSSEIWIYISQKKQRKLSYSLGWKDKKGRLYPEITHQLLSSDHPEGRCLTCGGRGEILKISLEEHKEKIAHYTPLEFFSLFFPKSYMKPVQKLLKDENASQPLKLLTTKEFLNFCRGSSEFPGMNALLMEQLDTESDSPLIKPLLALTSCPACKGSGLNDYANYVRINNTSLLDIYQEDATFLESFLNTIGTDDTRSIIQDLMNRLTFISKVGLSYITLGQRQDTLSDGENYRLHLAKKISINLTNIVYLFEEPLSGLHPQDLPTIVQLLKELVANNNTVIATDRSCSLIPHADHAIFLGPGSGPQGGFLMDSDTEVCPSVDLHANVPQTEVCPKAPLSISKANHTRGSDRTLKVNLSIHHIQNLKVSAPLHALVAIGGVSGSGKTSLLLEGFKKQAELLIAKGTTTFSDLVVIDSHPIASSQRSDISTYFDIAPSLRAFYASLTQAKALNISSTMFSTNTKQGQCSDCQGLGYQWIDRAFYALEKRPCPTCSGFRIQPLAQEVLYEGKHFGELLHTPIETVALRFPFIKKIQKPLKALLDIGLGYLPIGQKLSSLSVSEKTALKTAYFLYQTPETPTLFLIDELFSSLDPIKKQHLPEKLRSLINSGHSVIYIDHDVKLLKSADYLIEIGPGSGKQGGKLLFSGSPKDIYASKDSLLKKYICNEELDS'
           text: [46x58 char]

Распределение баллов затронуто длиной последовательностей с очень длинными последовательностями, потенциально имеющими намного выше или более низкими баллами, чем более короткие последовательности. Можно нормировать для этого различными способами. Один путь состоит в том, чтобы разделиться на длину последовательностей.

lnormgatABest = gatABest./length(seqtrachomatis.CDS(4).product)
lnormgatCBest = gatCBest./length(seqtrachomatis.CDS(3).product)
lnormuvrABest = uvrABest./length(seqtrachomatis.CDS(339).product)
lnormgatABest =

   16.8794


lnormgatCBest =

    2.2695


lnormuvrABest =

   78.9615

Альтернативный метод нормализации должен использовать сам счет выравнивания, который является счетом от выравнивания последовательности с собой.

gatASelf = nwalign(seqtrachomatis.CDS(4).translation,...
    seqtrachomatis.CDS(4).translation);
gatCSelf = nwalign(seqtrachomatis.CDS(3).translation,...
    seqtrachomatis.CDS(3).translation);
uvrASelf = nwalign(seqtrachomatis.CDS(339).translation,...
    seqtrachomatis.CDS(339).translation);
normgatABest = gatABest./gatASelf
normgatCBest = gatCBest./gatCSelf
normuvrABest = uvrABest./uvrASelf
normgatABest =

    0.7380


normgatCBest =

    0.5212


normuvrABest =

    0.5253

Используя разреженные матрицы, чтобы уменьшать использование памяти

All-all вычисление выравнивания не только занимает много времени, оно также генерирует большую матрицу баллов. Если вы ищете подобные гены через разновидности, то баллы, которые интересны, являются положительными баллами, которые указывают на хорошее выравнивание. Однако большинство этих баллов отрицательно, и фактические значения не особенно полезны для этого типа исследования. Разреженные матрицы позволяют вам хранить интересные значения более эффективным способом.

Разреженная матрица, spScores, в MAT-файле chlamydia.mat содержит положительные значения от всех против всего попарного вычисления выравнивания, нормированного на счет самосовмещения.

load('chlamydia.mat','spScores')

С матрицей баллов можно посмотреть на распределение множества генов Chlamydophila pneumoniae, выровненных с Хламидией трахоматис и обратным из этого, гены Хламидии трахоматис, выровненные с генами Chlamydophila pneumoniae

figure
subplot(2,1,1)
hist(max(spScores),100)
title('Highest Alignment Scores for Chlamydophila pneumoniae Genes')
xlabel('Score');ylabel('Number of genes');
subplot(2,1,2)
hist(max(spScores,[],2),100)
title('Highest Alignment Scores for Chlamydia trachomatis Genes')
xlabel('Score');ylabel('Number of genes');

Помните, что существует 1 112 CDS в Chlamydophila pneumoniae и только 895 у Хламидии трахоматис. Высокое количество нулевых баллов в главной гистограмме указывает, что многие из дополнительного CDS в Chlamydophila pneumoniae не имеют хороших соответствий у Хламидии трахоматис.

Другой способ визуализировать данные состоит в том, чтобы посмотреть на положения точек в матрице баллов, которые положительны. Разреженный функциональный spy простой способ быстро просмотреть точечные диаграммы матриц. Это показывает некоторую интересную структуру в положениях высоких соответствий выигрыша.

figure
spy(spScores > 0)
title(sprintf('Dot Plot of High-Scoring Alignments.\nNormalized Threshold = 0'))

Повысьте порог немного выше, чтобы видеть ясные диагональные линии в графике.

spy(spScores >.1)
title(sprintf('Dot Plot of High-Scoring Alignments.\nNormalized Threshold = 0.1'))

Помните, что это круговые геномы, и кажется, что начальные точки в GenBank произвольны. Переставьте матрицу баллов так, чтобы лучшее соответствие первого CDS в Chlamydophila pneumoniae было в первой строке, которая будет видеть ясный диагональный график. Это показывает synteny между этими двумя организмами.

[bestScore bestMatch] = max(spScores(:,1));
spy(spScores([bestMatch:end 1:bestMatch-1],:)>.1);
title('Synteny Plot of Chlamydophila pneumoniae and Chlamydia trachomatis')

Поиск гомологичных генов

Гены в различных геномах, которые связаны друг с другом, как говорят, гомологичны. Подобие может быть видообразованием (ортологические гены) или репликацией (paralogous гены). Наличие матрицы выигрыша позволяет вам искать оба типа отношений.

Самый очевидный способ найти ортологи состоит в том, чтобы искать самый высокий выигрыш, соединяющийся для каждого гена. Если счет будет значительным затем, то эти лучшие взаимные пары, очень вероятно, будут ортологическими.

[bestScores, bestIndices] = max(spScores);

Переменная bestIndices содержит индекс лучших взаимных пар для генов в Chlamydophila pneumoniae. Сортировка лучших баллов и составляет таблицу, чтобы сравнить описание лучших взаимных пар и обнаружить очень высокое подобие между самыми высокими выигрывающими лучшими взаимными парами.

[orderedScores, permScores] = sort(full(bestScores),'descend');
matches = [num2cell(orderedScores)',num2cell(bestIndices(permScores))',...
    num2cell((permScores))',...
    {seqtrachomatis.CDS(bestIndices(permScores)).product;...
    seqpneumoniae.CDS((permScores)).product; }'];

for count = 1:7
    fprintf(['Score %f\nChlamydia trachomatis Gene    : %s\n',...
        'Chlamydophila pneumoniae Gene : %s\n\n'],...
    matches{count,1}, matches{count,4}, matches{count,5})
end
Score 0.982993
Chlamydia trachomatis Gene    : 50S ribosomal protein L36
Chlamydophila pneumoniae Gene : 50S ribosomal protein L36

Score 0.981818
Chlamydia trachomatis Gene    : 30S ribosomal protein S15
Chlamydophila pneumoniae Gene : 30S ribosomal protein S15

Score 0.975422
Chlamydia trachomatis Gene    : integration host factor alpha-subunit
Chlamydophila pneumoniae Gene : integration host factor beta-subunit

Score 0.971647
Chlamydia trachomatis Gene    : 50S ribosomal protein L16
Chlamydophila pneumoniae Gene : 50S ribosomal protein L16

Score 0.970105
Chlamydia trachomatis Gene    : 30S ribosomal protein S10
Chlamydophila pneumoniae Gene : 30S ribosomal protein S10

Score 0.969554
Chlamydia trachomatis Gene    : rod shape-determining protein MreB
Chlamydophila pneumoniae Gene : rod shape-determining protein MreB

Score 0.953654
Chlamydia trachomatis Gene    : hypothetical protein
Chlamydophila pneumoniae Gene : hypothetical protein

Можно использовать Редактора переменных, чтобы посмотреть на данные в формате электронной таблицы.

open('matches')

Сравните описания, чтобы видеть, что у большинства лучших взаимных пар есть идентичные описания.

exactMatches = strcmpi(matches(:,4),matches(:,5));
sum(exactMatches)
ans =

   808

Возможно, более интересный лучшие взаимные пары, где описания не идентичны. Некоторые - просто различия в том, как тот же ген описан, но другие показывают очень отличающиеся описания.

mismatches = matches(~exactMatches,:);
for count = 1:7
    fprintf(['Score %f\nChlamydia trachomatis Gene    : %s\n',...
        'Chlamydophila pneumoniae Gene : %s\n\n'],...
        mismatches{count,1}, mismatches{count,4}, mismatches{count,5})
end
Score 0.975422
Chlamydia trachomatis Gene    : integration host factor alpha-subunit
Chlamydophila pneumoniae Gene : integration host factor beta-subunit

Score 0.929565
Chlamydia trachomatis Gene    : low calcium response D
Chlamydophila pneumoniae Gene : type III secretion inner membrane protein SctV

Score 0.905000
Chlamydia trachomatis Gene    : NrdR family transcriptional regulator
Chlamydophila pneumoniae Gene : transcriptional regulator NrdR

Score 0.903226
Chlamydia trachomatis Gene    : Yop proteins translocation protein S
Chlamydophila pneumoniae Gene : type III secretion inner membrane protein SctS

Score 0.896212
Chlamydia trachomatis Gene    : ATP-dependent protease ATP-binding subunit ClpX
Chlamydophila pneumoniae Gene : ATP-dependent protease ATP-binding protein ClpX

Score 0.890705
Chlamydia trachomatis Gene    : ribonuclease E
Chlamydophila pneumoniae Gene : ribonuclease G

Score 0.884234
Chlamydia trachomatis Gene    : ClpC protease ATPase
Chlamydophila pneumoniae Gene : ATP-dependent Clp protease ATP-binding protein

Просмотрите данные для несоответствий.

open('mismatches')

Если у вас есть выигрыш, матрицируют, это открывает много возможностей для дальнейшего расследования. Например, вы могли искать CDS, где существует несколько высоких выигрывающих взаимных CDS. Смотрите Кристьанини и Хана [1] для дальнейших идей.

Ссылки

[1] Cristianini, N. и Хан, M.W., "Введение в вычислительную геномику: подход тематических исследований", издательство Кембриджского университета, 2007.

Смотрите также

| |