Этот пример показывает метод, который может использоваться, чтобы исследовать значимость выравниваний последовательности. Количество тождеств или срабатываний в выравнивании не является четким показателем значительного выравнивания. Сочетание последовательности из трассы будет иметь одинаковые проценты срабатываний и тождеств при выравнивании относительно исходной последовательности. Счет от выравнивания является лучшим показателем значимости выравнивания. Этот пример использует те же гены и белки, связанные с болезнью Tay-Sachs, проанализированные в Aligning Pairs of Sequences.
В этом примере вы будете работать непосредственно с данными о белке, так что используйте getgenpept
вместо getgenbank
для загрузки данных с сайта NCBI. Сначала прочитайте информацию о белке человека в MATLAB ®.
humanProtein = getgenpept('NP_000511');
Результаты поиска BLASTX, выполненного с этой последовательностью, показали, что белок Drosophila, число присоединения GenPept AAM29423, имеет некоторое сходство с последовательностью HEXA человека. Использование getgenpept
чтобы загрузить эту последовательность.
flyProtein = getgenpept('AAM29423');
Для вашего удобства ранее загруженные последовательности включаются в MAT-файл. Обратите внимание, что данные в общедоступных хранилищах часто кураторятся и обновляются; поэтому результаты этого примера могут несколько отличаться при использовании современных наборов данных.
load('flyandhumanproteins.mat','humanProtein','flyProtein') seqdisp(humanProtein) seqdisp(flyProtein)
ans = 10x70 char array '>gi|189181666|gb|NP_000511.2| beta-hexosaminidase subunit alpha pre...' ' 1 MTSSRLWFSL LLAAAFAGRA TALWPWPQNF QTSDQRYVLY PNNFQFQYDV SSAAQPGCSV' ' 61 LDEAFQRYRD LLFGSGSWPR PYLTGKRHTL EKNVLVVSVV TPGCNQLPTL ESVENYTLTI' '121 NDDQCLLLSE TVWGALRGLE TFSQLVWKSA EGTFFINKTE IEDFPRFPHR GLLLDTSRHY' '181 LPLSSILDTL DVMAYNKLNV FHWHLVDDPS FPYESFTFPE LMRKGSYNPV THIYTAQDVK' '241 EVIEYARLRG IRVLAEFDTP GHTLSWGPGI PGLLTPCYSG SEPSGTFGPV NPSLNNTYEF' '301 MSTFFLEVSS VFPDFYLHLG GDEVDFTCWK SNPEIQDFMR KKGFGEDFKQ LESFYIQTLL' '361 DIVSSYGKGY VVWQEVFDNK VKIQPDTIIQ VWREDIPVNY MKELELVTKA GFRALLSAPW' '421 YLNRISYGPD WKDFYIVEPL AFEGTPEQKA LVIGGEACMW GEYVDNTNLV PRLWPRAGAV' '481 AERLWSNKLT SDLTFAYERL SHFRCELLRR GVQAQPLNVG FCEQEFEQT ' ans = 12x70 char array '>gi|21064387|gb|AAM29423.1| RE17456p [Drosophila melanogaster]. ' ' 1 MSLAVSLRRA LLVLLTGAIF ILTVLYWNQG VTKAQAYNEA LERPHSHHDA SGFPIPVEKS' ' 61 WTYKCENDRC MRVGHHGKSA KRVSFISCSM TCGDVNIWPH PTQKFLLSSQ THSFSVEDVQ' '121 LHVDTAHREV RKQLQLAFDW FLKDLRLIQR LDYGGSSSEP TVSESSSKSR HHADLEPAAT' '181 LFGATFGVKK AGDLTSVQVK ISVLKSGDLN FSLDNDETYQ LSTQTEGHRL QVEIIANSYF' '241 GARHGLSTLQ QLIWFDDEDH LLHTYANSKV KDAPKFRYRG LMLDTSRHFF SVESIKRTIV' '301 GMGLAKMNRF HWHLTDAQSF PYISRYYPEL AVHGAYSESE TYSEQDVREV AEFAKIYGVQ' '361 VIPEIDAPAH AGNGWDWGPK RGMGELAMCI NQQPWSFYCG EPPCGQLNPK NNYTYLILQR' '421 IYEELLQHTG PTDFFHLGGD EVNLDCWAQY FNDTDLRGLW CDFMLQAMAR LKLANNGVAP' '481 KHVAVWSSAL TNTKRLPNSQ FTVQVWGGST WQENYDLLDN GYNVIFSHVD AWYLDCGFGS' '541 WRATGDAACA QYRTWQNVYK HRPWERMRLD KKRKKQVLGG EVCMWTEQVD ENQLDNRLWP' '601 RTAALAERLW TDPSDDHDMD IVPPDVFRRI SLFRNRLVEL GIRAEALFPK YCAQNPGECI'
Первое, что нужно сделать - использовать seqdotplot
чтобы увидеть, есть ли какие-либо области, которые четко выровнены. Это не показывает явных выравниваний, но есть некоторые области интереса.
seqdotplot(humanProtein,flyProtein,3,2) title('Dot Plot of Two HexA-like Proteins'); ylabel('Human Protein');xlabel('Drosophila Protein');
Заметьте, что на точечном графике есть несколько диагональных отрезков. Это не особенно убедительно свидетельствует о значительном глобальном выравнивании, но можно попробовать глобальное выравнивание с помощью функции nwalign
. Матрица оценки BLOSUM50 используется по умолчанию.
[sc50,globAlig50] = nwalign(humanProtein,flyProtein)
fprintf('Score = %g \n',sc50)
sc50 = 49.6667 globAlig50 = 3x670 char array 'MT-S-S--R----LW----F--SLL-----LA-A-AF--A-GR------ATAL-WP----W--P-QN---FQT-----SDQR--Y---------V-LYPN---NF----Q---FQY-DVS---SAAQPGC-SVLDEAFQRY-RD--L---L-F-GSGSWPR-PYLTGK-R-HT-LE-KNVLV-VSV-V-TPG--CN-Q-----LPT--LE-SVEN---YTL-TIND-D--QCLLLSETVWGALRGLETFSQLVWKSAEGTFF--INKTEIEDFPRFPHRGLLLDTSRHYLPLSSILDTLDVMAYNKLNVFHWHLVDDPSFPYESFTFPELMRKGSYNPVTHIYTAQDVKEVIEYARLRGIRVLAEFDTPGH--T-LSWGP--GIPGLLTPCYSGSEP-S---G--TFGPVNPSLNNTYEFMSTFFLE-VSSVFP-DFYLHLGGDEVDFTCWKSNPEIQDFMRKKGFGEDFKQLESFYIQTLLDIVSSYGKGYVVWQEVFDNKVKIQPDT-I-IQVWREDI-PVNY--MKE-LELV-TKAGFRAL-LS-APWY-LNRISYGP--DWKDFYIVEPLA-FEGTPEQKALVIGGEACMWGEYVDNTNLVPRLWPRAGAVAERLWSNKLTS-DLTF----AYERLSHFRCELLRRGVQAQPLNVGFCEQE-FEQT' '|: : | | | | ::| :: | |: | | |::: | | :| ::: | :| : | ::|: :| | |: ||: ::|: : |: ||: : :| | | : ||:| | ::| | |: || :| :: | | : | | : |: |::| | | | :: | ::::: :|| :|| |::||:| : | :: :::::| |:| :|||:||||||:: : || |: |: |:| |||||:| |||| | :||| :|:|: :: |: |||:|| |:|:: |::|: |:|:|:| : :||| |: | |: | : ::| | | | :||: | || ::: :: | :: : | ||: |||||||:: || : : | :| |: || :|:: : : | : | :||: :: | :: |:: : :||| : || : : ::: ::: | : : | : : : |:: | :| :: ::| |:|||:||| | ||:::| |||||::|:|||||:: : |: : :::|:| || :|:: |::|: | :| |: | ' 'MSLAVSLRRALLVLLTGAIFILTVLYWNQGVTKAQAYNEALERPHSHHDASGFPIPVEKSWTYKCENDRCMRVGHHGKSAKRVSFISCSMTCGDVNIWPHPTQKFLLSSQTHSFSVEDVQLHVDTAHREVRKQLQLAFDWFLKDLRLIQRLDYGGSSSEPTVSESSSKSRHHADLEPAATLFGATFGVKKAGDLTSVQVKISVLKSGDLNFSLDNDETYQLSTQTEGHRLQVEIIANSYFGARHGLSTLQQLIWFDDEDHLLHTYANSKVKDAPKFRYRGLMLDTSRHFFSVESIKRTIVGMGLAKMNRFHWHLTDAQSFPYISRYYPELAVHGAYSE-SETYSEQDVREVAEFAKIYGVQVIPEIDAPAHAGNGWDWGPKRGM-GELAMCIN-QQPWSFYCGEPPCGQLNPKNNYTYLILQRIYEELLQHTGPTDFF-HLGGDEVNLDCWAQYFNDTD-LR--GLWCDF-MLQA-MARLKLANNGVAPKHVAVWSSALTNTKRL-PNSQFTVQVWGGSTWQENYDLLDNGYNVIFSHVDAWYLDCGFGSWRATGDAACAQYRTWQNVYKHRPWERMRLDKKRKKQVLGGEVCMWTEQVDENQLDNRLWPRTAALAERLWTDPSDDHDMDIVPPDVFRRISLFRNRLVELGIRAEALFPKYCAQNPGECI' Score = 49.6667
Подобие последовательности довольно низкое, поэтому BLOSUM30 может быть более подходящей оценочной матрицей.
[sc30,globAlig30] = nwalign(humanProtein,flyProtein,'scoringmatrix','blosum30') fprintf('Score = %g \n',sc30)
sc30 = 82 globAlig30 = 3x670 char array 'MT-S-S--R-----L-W--F--S-LL----L--AAAF--A-GR------ATAL-WP----W--P-QN-F--QT-----SDQR--Y---------V-LY--PN-NF----Q---F-----QY--DVS-SAAQPGCS-VLDEAFQ--RY-RDLLF-GSGSWP-RPYLTGK-R-HT-LEK-NVLV-VSV-VTP-G-CN--QLP-T-LESVE-NYTLTINDD--QC-L-L----L-SETV---W-GALRGLETFSQLVWKSAEGTFF-I-NKTEIEDFPRFPHRGLLLDTSRHYLPLSSILDTLDVMAYNKLNVFHWHLVDDPSFPYESFTFPELMRKGSYNPVTHIYTAQDVKEVIEYARLRGIRVLAEFDTPGH--T-LSWGPGIP-GLLTPCYSGSEP-S---G--TFGPVNPSLNNTYEFMSTFFLE-VSSVFP-DFYLHLGGDEVDFTCWKSNPEIQDFMRKKGFGEDFKQLESFYIQTLLDIVSSYGKGYVVWQEVFDNKVKIQPDT--IIQVWREDI-PVNY--MKE-LELV-T--KAGFRALLSAPWY-L-NRI-SYGPDWKDFYIVEPLAFEGT-PEQKALVIGGEACMWGEYVDNTNLVPRLWPRAGAVAERLWSNK-LTSDL-TF---AYERLSHFRCELLRRGVQAQPLNVGFCEQ-EFEQT' '|: : | | | : | : |: : |:|: | | |::: | | : :| :: |::| : | :: |: :| | | |: |:: :::: : ::| :: |: : | : ||:| | ::| | |: ||: ::|: ::: | : | :: |:: : |:| : |::| ||: |: : : | |:: : || ||:|: ||:| ::| :: : ::::::| |:| :|||:||||||:: ::|| |: |:::|:| |||||:|::|||| | :|||: |:|:: :::|::|||:||:|:|:::|::|: |:|:|:| : :||| | |: | : :| | | : |::||: | || :: :: | : : | ||: |||||||:: || : : : | : :|:::||: |:: ::: |:: : | ::|| ::: | :| |:: ::||| :: : || :: : :: : :|:: :: : |: : : : : |:::| | : : :::|: |:|||:||| | || : | |||||::|:|||||::: |: :: :: |:| || |: |::|: | :|:| : | :' 'MSLAVSLRRALLVLLTGAIFILTVLYWNQGVTKAQAYNEALERPHSHHDASGFPIPVEKSWTYKCENDRCMRVGHHGKSAKRVSFISCSMTCGDVNIWPHPTQKFLLSSQTHSFSVEDVQLHVDTAHREVRKQLQLAFDWFLKDLRLIQRLDYGGSSSEPTVSESSSKSRHHADLEPAATLFGATFGVKKAGDLTSVQVKISVLKSGDLNFSLD-NDETYQLSTQTEGHRLQVEIIANSYFGARHGLSTLQQLIWFDDEDHLLHTYANSKVKDAPKFRYRGLMLDTSRHFFSVESIKRTIVGMGLAKMNRFHWHLTDAQSFPYISRYYPELAVHGAYSE-SETYSEQDVREVAEFAKIYGVQVIPEIDAPAHAGNGWDWGPKRGMGELAMC-INQQPWSFYCGEPPCGQLNPKNNYTYLILQRIYEELLQHTGPTDFF-HLGGDEVNLDCW-A-QYFND-TDLRGLWCDFM-LQA-MARLKLANNGVAPKHVAVWSSALTN-TKRLPNSQFTVQVWGGSTWQENYDLLDNGYNVIFSHVDAWYLDCGFGSWRATGDAACAQYRTWQNVYKHRPWERMRLDKKRKKQVLGGEVCMWTEQVDENQLDNRLWPRTAALAERLWTDPSDDHDMDIVPPDVFRRISLFRNRLVELGIRAEALFPKYCAQNPGECI' Score = 82
Это дает выравнивание, которое имеет некоторые области довольно сильного сходства, но является ли это выравнивание статистически значимым? Один из способов выяснить, является ли этот счет значительным - использовать методы Монте-Карло. Учитывая, что последовательность мухи была найдена с помощью поиска BLAST, существуют некоторые доказательства того, что существует сходство между этими двумя последовательностями. Разумно ожидать, что счет для такого выравнивания будет выше, чем счета, полученная при выравнивании случайных последовательностей аминокислот к белку.
Чтобы оценить, является ли счет значительной, первым шагом является создание некоторых случайных последовательностей, которые аналогичны последовательностям белка мухи. Один из способов сделать это - взять случайные сочетания последовательности летучих аппаратов. Это можно сделать с помощью randperm
функция. Затем вычислите глобальное выравнивание этих случайных последовательностей с белком человека и посмотрите на статистическую значимость счетов.
Инициализируйте состояние генераторов случайных чисел по умолчанию, чтобы убедиться, что сгенерированные рисунки и результаты совпадают с таковыми в HTML этого примера.
rng(0,'twister') n = 50; globalscores = zeros(n,1); flyLen = length(flyProtein.Sequence); for i = 1:n perm = randperm(flyLen); permutedSequence = flyProtein.Sequence(perm); globalscores(i) = nwalign(humanProtein,permutedSequence,'scoringmatrix','blosum30'); end
Теперь постройте график счетов как штриховой график. Обратите внимание, что поскольку вы используете случайным образом сгенерированные последовательности.
figure buckets = ceil(n/5); hist(globalscores,buckets) hold on; stem(sc30,1,'k') title('Determining Alignment Significance using Monte Carlo Techniques'); xlabel('Score'); ylabel('Number of Sequences');
Счета выравниваний к случайным последовательностям могут быть аппроксимированы распределением экстремальных значений типа 1. Используйте evfit
функция из Statistics and Machine Learning Toolbox™, чтобы оценить параметры этого распределения.
parmhat = evfit(globalscores)
parmhat = -31.7597 6.6440
Наложите график функции плотности вероятностей предполагаемого распределения.
x = min(globalscores):max([globalscores;sc30]); y = evpdf(x,parmhat(1),parmhat(2)); [v, c] = hist(globalscores,buckets); binWidth = c(2) - c(1); scaleFactor = n*binWidth; plot(x,scaleFactor*y,'r'); hold off;
Из этого графика можно увидеть, что глобальное выравнивание (globAlig30) явно статистически значимо.
На веб-сайте FLYBASE вы можете найти все гены дрозофилы бета-N-ацетилгексосаминидазы. Ген, на который вы смотрели до сих пор, упоминается как CG8824. Теперь вы хотите взглянуть на другой подобный ген, например Hexo1.
flyHexo1 = getgenpept('AAL28566');
Последовательность fly Hexo1 аминокислот также предусмотрена в MAT-файле flyandhumanproteins.mat
.
load('flyandhumanproteins.mat','flyHexo1') seqdisp(humanProtein)
ans = 10x70 char array '>gi|189181666|gb|NP_000511.2| beta-hexosaminidase subunit alpha pre...' ' 1 MTSSRLWFSL LLAAAFAGRA TALWPWPQNF QTSDQRYVLY PNNFQFQYDV SSAAQPGCSV' ' 61 LDEAFQRYRD LLFGSGSWPR PYLTGKRHTL EKNVLVVSVV TPGCNQLPTL ESVENYTLTI' '121 NDDQCLLLSE TVWGALRGLE TFSQLVWKSA EGTFFINKTE IEDFPRFPHR GLLLDTSRHY' '181 LPLSSILDTL DVMAYNKLNV FHWHLVDDPS FPYESFTFPE LMRKGSYNPV THIYTAQDVK' '241 EVIEYARLRG IRVLAEFDTP GHTLSWGPGI PGLLTPCYSG SEPSGTFGPV NPSLNNTYEF' '301 MSTFFLEVSS VFPDFYLHLG GDEVDFTCWK SNPEIQDFMR KKGFGEDFKQ LESFYIQTLL' '361 DIVSSYGKGY VVWQEVFDNK VKIQPDTIIQ VWREDIPVNY MKELELVTKA GFRALLSAPW' '421 YLNRISYGPD WKDFYIVEPL AFEGTPEQKA LVIGGEACMW GEYVDNTNLV PRLWPRAGAV' '481 AERLWSNKLT SDLTFAYERL SHFRCELLRR GVQAQPLNVG FCEQEFEQT '
Повторите процесс генерации глобального выравнивания и затем используя случайные сочетания аминокислот, чтобы оценить значимость глобального выравнивания.
[Hexo1score,Hexo1Alignment] = nwalign(humanProtein,flyHexo1,'scoringmatrix','blosum30') fprintf('Score = %g \n',Hexo1score) Hexo1globalscores = zeros(n,1); flyLen = length(flyHexo1.Sequence); for i = 1:n perm = randperm(flyLen); permutedSequence = flyHexo1.Sequence(perm); Hexo1globalscores(i) = nwalign(humanProtein,permutedSequence,'scoringmatrix','blosum30'); end
Hexo1score = -72.2000 Hexo1Alignment = 3x534 char array 'MTSSRL-WFSLLLAAAFA-GRATALWPWPQNFQTSDQRYVLYPNNFQFQYDVSSAAQPGCSVLDEAFQRYRDLLFGSGSWPRPYLTGKRHTLEKNVLVVSVVTPGC-NQLPTLESVENYTLTINDDQCLLLSETVWGALRGLETFSQLVWKSAEGTFFINKTEIEDFPRFPHRGLLLDTSRHYLPLSSILDTLDVMAYNKLNVFHWHLVDDPSFPYESFTFPELMRKGSYNPVTHIYTAQDVKEVIEYARLRGIRVLAEFDTPGHTLSWGPGIPGLLTPCYSGSEPSGTFGPVNPSLNNTYEFMSTFFLEVSSVFPDFYLHLGGD-EV-DFTCWKSNPEIQDFMRKKGFGEDFKQLESFYIQTLLDIVSSYGKGYVVWQEVFDNKVKIQPDTIIQVWREDIPVNYMKELELVTKAGFRALLSAPWYLNRISYGPDWKDFYIVEPLAFEGTPEQKALVIGGEACMWGEYVDNTNLVPRLWPRAGAVAERLWSNKLTSDLTFAYERLSHFRCELLRRGVQAQPLNVGFCEQEFEQT' '|: :| | :::: : ::: :| ::: : :|| | | : : : ||::::: | | :: |:: | : : | :: | :| || : | :| |: | :| : : : : :| |::|| ::: :::: : :: || | :: ::|: | |:| | : : :| :: : : : : :| : ::::: :|: | || ::: : |::: :: |::|: : : | :| : | | |: | | :|:|:: : :| | |:|::::::| :: : : ||: : ::|| :||: | | : | | | | : :| : | : |:| |: :: :|: ::| | :| : : |: ::| | :: : :| :: | | | | :: | |: :| : :: |: || :| : | :: : : |: | : :| : :: | | |: || |:| :: : :: :' 'MALVKLNTFHWHITDSHSFPLEVKKRPELHKLGAYSQRQV-Y--T-R-R-DVAEVVEYG-RV--RGI-RVMP-EF-D-A-PAHVGEGWQH---KN-M-----T-ACFNAQP-WKS---F-C-V-EPPCGQLDPTV-NEM--YDVL-EDIY----GTMF-DQF-NPDI--F-HMG--GD---E-VS-TSCWNS-S--Q--P--IQQW-M-KKQGWGLETADF---MRLWGHFQ-TEAL-GR-VDKVANGTHT-PI-IL--W-TSG--LTEEPFIDEYLNPERYIIQ-IWTTG-VDPKVKKILE-RG-YKIIVSN-YDALYLDCGGAGWVTDGNNWCS-PYI-GW-QKV-Y--D-NSLKS--IAGDYEH-HVLGAEGAIWSEQID-EHTL--DN--RFW----P--RA-S-AL-AE---R--L---W-SNPAE-G--WR--Q-AES-RLL-LHRQR-LVDNG---L-G--AE-A-MQPQ-W-CL-Q-NE-H-ECPI--D---A--------CS---RGSGRLGLIVLLLLTTLS-A' Score = -72.2
Постройте графики счетов, вычислите параметры распределения и наложите PDF на столбчатую диаграмму.
figure buckets = ceil(n/5); hist(Hexo1globalscores,buckets) title('Determining Alignment Significance using Monte Carlo Techniques'); xlabel('Score'); ylabel('Number of Sequences'); hold on; stem(Hexo1score,1,'c') parmhat = evfit(Hexo1globalscores) x = min(Hexo1globalscores):max([Hexo1globalscores;Hexo1score]); y = evpdf(x,parmhat(1),parmhat(2)); [v, c] = hist(Hexo1globalscores,buckets); binWidth = c(2) - c(1); scaleFactor = n*binWidth; plot(x,scaleFactor*y,'r'); hold off;
parmhat = -70.6926 7.0619
В этом случае кажется, что выравнивание не является статистически значимым. Более высокие выравнивания оценки могут быть легко сгенерированы из случайного сочетания аминокислот в последовательности. Можно вычислить приблизительное p-значение из предполагаемого экстремального значения CDF: Однако для получения достоверной оценки параметров крайнего значения pdf, из которых можно вычислить достаточно точное p-значение, необходимо намного больше 50 случайных сочетание.
p = 1 - evcdf(Hexo1score,parmhat(1),parmhat(2))
p = 0.4458
Одна вещь, которая нужно заметить, что длины двух последовательностей очень различаются. Длина HEXA1 человека составляет 529 остатков, а длина белка Hexo1 мухи составляет всего 383 остатка. Когда вы пытаетесь выровнять эти две последовательности глобально, это различие в длине означает, что в последовательность должно быть введено большое количество погрешностей. Это означает, что значимость счетов будет сильно зависеть от GAPOPEN
и EXTENDGP
параметры. (См. справку для nwalign
для получения дополнительной информации Вместо использования глобального выравнивания в этом случае лучшим подходом может быть просмотр локального выравнивания между этими двумя последовательностями.
Теперь вы повторите процесс оценки значимости выравнивания на этот раз с помощью локального выравнивания и немного другого метода генерации случайных последовательностей. Вместо простой перестановки букв в последовательности, альтернативой является получение последовательности из полиномиального распределения, которое оценивается из последовательности белка мухи. Вы можете сделать это с помощью aacount
и randseq
функции; первый оценивает аминокислотные частоты последовательности запроса, а последующий случайным образом создает новые последовательности на основе этого распределения.
[lscore,locAlig] = swalign(humanProtein,flyHexo1,'scoringmatrix','blosum30') fprintf('Score = %g \n',lscore) localscores = zeros(n,1); aas = aacount(flyHexo1); for i = 1:n randProtein = randseq(flyLen,'FROMSTRUCTURE',aas); localscores(i) = swalign(humanProtein,randProtein,'scoringmatrix','blosum30'); end
lscore = 152 locAlig = 3x361 char array 'MAYNKLNVFHWHLVDDPSFPYESFTFPELMRKGSYNPVTHIYTAQDVKEVIEYARLRGIRVLAEFDTPGHT-LSWG-PGIPGLL-TPCYSGSEPSGTFGPVNPSLNNTYEFMSTFFLEVSSVF-PDFYLHLGGDEVDFTCWKSNPEIQDFMRKKGFG-E--DFKQLES-FYIQTL--LD-IVSSYGKGYVVWQE-VFDNK-V-K-IQPD-TIIQVWREDI-P-VNYMKELEL-VTKAGFRALLSAPWYLNRISYGPDWKDFYI-VEP-L--AFEG-TPEQKALVIGGEACMWGEYVDNTNLVPRLWPRAGAVAERLWSNKLTSDLTFAYER-LSHFRCELLRRGVQAQPLNVGFCEQ-EFE' '||: |||:||||::|::|||:| |||:: |:|:: ::|| :||:||:||:|:|||||: |||:|:|: :| ::::::: :: ::: : : : |:::|::| :|:::: :: : : | ||:: |:|||||: :||:|:::|| :|:|:|:| | ||::| : | :::| :| :::: ::|:: : : : : : : |: |||:| : | |: : | : :: ::: ||: : : :::: | :| : || :: : :::: : : : |:|:|: :|:| :| :| |:||||:|:|||||||: :: | :| | | | |: |: |: : :| | | |' 'MALVKLNTFHWHITDSHSFPLEVKKRPELHKLGAYSQR-QVYTRRDVAEVVEYGRVRGIRVMPEFDAPAHVGEGWQHKNMTACFNAQPWKSFCVEPPCGQLDPTVNEMYDVLEDIYGTMFDQFNPDIF-HMGGDEVSTSCWNSSQPIQQWMKKQGWGLETADFMRLWGHFQTEALGRVDKVANGTHTPIILWTSGLTEEPFIDEYLNPERYIIQIWTTGVDPKVKKILERGYKIIVSNYDALYLDCGGAGWVTDGNNWCSPYIGWQKVYDNSLKSIAGDYEHHVLGAEGAIWSEQIDEHTLDNRFWPRASALAERLWSNP-AEGWRQAESRLLLH-RQRLVDNGLGAEAMQPQWCLQNEHE' Score = 152
Постройте графики счетов, вычислите параметры распределения и наложите PDF на столбчатую диаграмму.
figure hist(localscores,buckets) title('Determining Alignment Significance using Monte Carlo Techniques'); xlabel('Score'); ylabel('Number of Sequences'); hold on; stem(lscore,1,'r') parmhat = evfit(localscores) x = min(localscores):max([localscores;lscore]); y = evpdf(x,parmhat(1),parmhat(2)); [v, c] = hist(localscores,buckets); binWidth = c(2) - c(1); scaleFactor = n*binWidth; plot(x,scaleFactor*y,'r'); hold off;
parmhat = 40.8331 3.9312
Вы, возможно, хотели бы экспериментировать, чтобы увидеть, существуют ли значительные различия в распределении счетов, сгенерированных с randperm
и randseq
.
При локальном выравнивании кажется, что выравнивание статистически значимо. Фактически, просмотр локального выравнивания показывает очень хорошее выравнивание для всей длины Hexo1 последовательности.
close all;