![]() |
Python¥Ð¥¤¥ª/¥Ä¡¼¥ë/SnapGene¤Ë¿©¤ï¤¹http://pepper.is.sci.toho-u.ac.jp/pepper/index.php?Python%A5%D0%A5%A4%A5%AA%2F%A5%C4%A1%BC%A5%EB%2FSnapGene%A4%CB%BF%A9%A4%EF%A4%B9 |
![]() |
Python¥Ð¥¤¥ª?¡¡Python¥Ð¥¤¥ª/¥Ä¡¼¥ë?
1769¡¡¡¡¡¡2019-08-22 (ÌÚ) 09:03:40
¥ê¥¯¥¨¥¹¥È¤¬¤¢¤Ã¤¿¤³¤È¡§¡¡³°Éô¤ÇÆÀ¤¿¥Ç¡¼¥¿¤òSnapGene¤Çɽ¼¨¤¹¤ë
SnapGene¤Ç¤ÏGenBank·Á¼°¤Î¥¢¥Î¥Æ¡¼¥·¥ç¥ó¤ò´Þ¤à¥Ç¡¼¥¿¤òɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£ ɽ¼¨¤·¤¿¤¤¾ðÊó¤òGenBank·Á¼°¤Î¥Õ¥¡¥¤¥ë¤ËÄɲ乤뤳¤È¤Ë¤è¤Ã¤Æ¡¢SnapGene¤Ëɽ¼¨ »Ø¤»¤ë¤³¤È¤ò¹Í¤¨¤ë¡£
¶ñÂÎŪ¤Ë¤Ï¤¿¤È¤¨¤Ð¡¢ÊѰ۾ðÊó¡ÊSNIP, In/Del¤Ê¤É¡Ë¤Î¾ðÊó¤òÄɲä·¡¢³ºÅö¤¹¤ë¾ì½ê¤Ë ɽ¼¨¤¹¤ë¡£
¤Þ¤¿¡¢Ê̤Ρʲáµî¤Î¡ËSnapGene¥Ç¡¼¥¿¡Ê¡áxxx.dna¥Õ¥¡¥¤¥ë¡Ë¤ËÄɵ¤µ¤ì¤Æ¤¤¤ëPrimer¾ðÊó¤ò°Ü¤¹¡£¤³¤ì¤ÏSnapGene¤ÎPrimer¤ÎExport/Inport¤Îµ¡Ç½¤ò»È¤¨¤Ð¤Ç¤¤ë¤Î¤À¤¬¡¢ £±¥Õ¥¡¥¤¥ë¤º¤Ä°Ü¤¹¤Î¤ÏÌÌÅݤʤΤǡ¢¤¦¤Þ¤¯°Ü¤»¤Ê¤¤¤«¡£
GenBank¥Õ¥¡¥¤¥ë¤Î¥Õ¥£¡¼¥Á¥ã¡¼¤È¤·¤Æ¡¢
misc_feature¤Ï¡¢¤¤¤ï¤Ð¡Ö¤½¤Î¾¤Î¥Õ¥£¡¼¥Á¥ã¡¼¡×¤Ç¤¢¤ë¤«¤é¡¢SnapGene¤Ç¤ÏÄɲäΠ¥Õ¥£¡¼¥Á¥ã¡¼¤È¤·¤ÆÉ½¼¨¤µ¤ì¤ë¤¬¡¢³ÊÃʤνèÍý¤Ï̵¤¤¤è¤¦¤À¡£GenBank¤Ç¤Î½ñ¤Êý¤Ï¡¢
misc_feature 311 /label="DEL" /note=" T->*"
¤Î¤è¤¦¤Ê´¶¤¸¤Ç¡¢311¤ÏÇÛÎó¾å¤Î°ÌÃÖ¾ðÊó¡¢label¤Ï¥é¥Ù¥ëɽ¼¨¡¢note¤ÏÄɵ¾ðÊó¤È¤·¤Æ ¥Þ¥¦¥¹¥ª¥ó¤Çɽ¼¨¤µ¤ì¤ë¡£¤³¤ì¤é¤Î¾ðÊó¤òGenBank¥Õ¥¡¥¤¥ë¤ËŬµ¹½ñ¹þ¤á¤Ð¤è¤¤¡£
¤Ê¤ª¡¢Ä̾ï¤ÏGenBank¥Õ¥¡¥¤¥ë¾å¤Î¤µ¤Þ¤¶¤Þ¤Ê¥Õ¥£¡¼¥Á¥ã¡¼¾ðÊó¤Ï°ÌÃ֤νç¤Ë¥½¡¼¥È¤µ¤ì ¤Æ¤¤¤ë¤¬¡¢SnapGene¤Ïɬ¤º¤·¤â¥½¡¼¥È¤òÍ׵ᤷ¤Æ¤¤¤Ê¤¤¡£¤¿¤È¤¨¤Ðmisc_feature¤À¤± ½¸¤á¤Æ¥Õ¥£¡¼¥Á¥ã¡¼¤Î½ª¤ï¤ê¤ËÄɲ䷤Ƥ⡢Àµ¤·¤¯É½¼¨¤µ¤ì¤ë¡£¤Ê¤ª¡¢°ÌÃ֤ǥ½¡¼¥È¤¹¤ë ¤³¤È¤âbiopython¤Ç¤ÏÍÆ°×¤Ë¹Ô¤¨¤ë¡£
¤Þ¤¿¡¢primer_bind¤âƱÍͤˡ¢
primer_bind 2732..2801 /label="ups thrB70 5'-PS4" /note="ups thrB70 5'-PS4 AATGACGTTACAGCTGCCGGTGTCTTTGCTGATCTGCTACGTACCCTCTCATGGAAGTT AGGAGTCTGACATTCCGGGGATCCGTCGACC"
¤Î¤è¤¦¤Ë¥Õ¥£¡¼¥Á¥ã¡¼¤È¤·¤Æ½ñ¤Â¤»¤ÐSnapGene¤ÎÇÛÎóɽ¼¨¤Î²èÌ̤Ëɽ¼¨¤µ¤ì¤ë¡£ ¤¿¤À¤·¡¢¤â¤·°Ü¤·¤¿Àè¤ÎÇÛÎó¤Î°ÌÃÖ¤¬°Û¤Ê¤Ã¤Æ¤¤¤ì¤Ð¡¢primer¤òޤêÉÕ¤±¤ë°ÌÃÖ¤âÊѤ¨¤ë ɬÍפ¬¤¢¤ë¡£¡ÊÂçIJ¶Ý¤ÎÎã¤Ç¤Ï´Ä¾õ¤Ê¤Î¤ÇÁ´ÂΤθþ¤¤¬µÕ¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢°ÌÃÖ¤¬¤³¤È¤´¤È¤¯ ÊѤäƤ·¤Þ¤Ã¤¿¥±¡¼¥¹¤¬¤¢¤ë¡£¡Ë¤³¤Î¾ì¹ç¤Ï¡¢Àµ¤·¤¤Å½¤êÉÕ¤±°ÌÃÖ¤òµá¤á¤¿¾å¤Ç¡¢ ¾åµ¤Îprimer_bind¤Î¥ì¥³¡¼¥É¤ò½ñ¤¯É¬Íפ¬¤¢¤ë¡£
¤È¤³¤í¤Ç¡¢primer_bind¤¬½ñ¤¹þ¤á¤ë¤Î¤Ï¤è¤¤¤Î¤À¤¬¡¢¤³¤³¤Ë1¤ÄÌäÂ꤬¤¢¤ë¡£ SnapGene¤Ç¤ÏGenBank¥Ç¡¼¥¿¾å¤Îprimer_bind¤Îµ½Ò¤ÏÄɲåե£¡¼¥Á¥ã¡¼¤ÈƱ¤¸°·¤¤¤Ç¡¢ SnapGene¾å¤Îprimer¤È¤·¤Æ¤Ï°·¤ï¤ì¤Ê¤¤¡£GenSnap¤ÎÇÛÎóɽ¼¨¾å¤Çprimer¤Îµ¹æ¤Ë¤â ¤Ê¤é¤Ê¤¤¤·¡¢primer¤Î¥·¡¼¥È¤Ë¤âºÜ¤é¤Ê¤¤¡£
¸À¤¤´¹¤¨¤ë¤È¡¢GenBank¥Õ¥¡¥¤¥ë¾å¤Îprimer_bind¤Î¾ðÊó¤Ï¡¢SnapGene¾å¤Îprimer¾ðÊó ¤È¤·¤Æ¤ÏÈ¿±Ç¤µ¤ì¤Ê¤¤¡£¤³¤ì¤ÏµÕ¸þ¤¤â¤·¤«¤ê¤Ç¡¢SnapGene¤«¤éÅǤ½Ð¤·¤¿GenBank¥Ç¡¼¥¿ ¤Ï¡¢primer¾ðÊó¤Ï¾åµ¤Î¾ðÊó¡Ê°ÌÃÖ¡¢¥é¥Ù¥ë¡¢¥Î¡¼¥È¡Ë¤·¤«»ý¤¿¤Ê¤¤¡£
¤È¤¤¤¦¤ï¤±¤Ç¡¢GenBank¾å¤Ç²Ã¹©¤·¤Æ¤ª¤¤¤ÆSnapGene¤Îprimer¥Ç¡¼¥¿¤ËÈ¿±Ç¤µ¤»¤ë¤³¤È¤Ï ¤¦¤Þ¤¯¤¤¤«¤Ê¤«¤Ã¤¿¡£
SnapGene¤Î¥Ç¡¼¥¿¤Ïdna¥Õ¥¡¥¤¥ë¤È¤¤¤¦·Á¼°¤ÇÊݸ¤µ¤ì¤ë¡£¤³¤³¤Ë²¿¤¬½ñ¤«¤ì¤Æ¤¤¤ë¤«¡©
dna¥Õ¥¡¥¤¥ë¤Î·Á¼°¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥Í¥Ã¥È¤Ç¤Ïµ½Ò¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¡£¤Þ¤¿¥Æ¥¥¹¥È ¥¨¥Ç¥£¥¿¤Ç¸«¤ë¤È¥Ð¥¤¥Ê¥ê·Á¼°¤Ç¤¢¤ë¡£¤Ä¤Þ¤ê¡¢²¿¤é¤«¤Î·Á¼°µ½Ò¤¬¸«¤Ä¤«¤é¤Ê¤¤¤È ²òÆÉ¤¹¤é¤Ç¤¤Ê¤¤¡£
»²¹Í¤Ë¤Ê¤Ã¤¿¤Î¤¬¡¢Python¤Î¥é¥¤¥Ö¥é¥êPyPI¤Ç¤Î2¤Ä¤Î¥é¥¤¥Ö¥é¥ê¡ÊÆÉ¤ß½Ð¤·ÀìÍѡˤǡ¢
¥½¡¼¥¹¤ò¸«¤ë¤È¡¢¤É¤Á¤é¤âprimer¤Îµ½ÒÉôʬ¤Ï²òÆÉ¤ò¥¹¥¥Ã¥×¤¹¤ë¡Ê¤½¤ì°Ê³°¤Ë¤â ÉáÄ̤˶½Ì£¤Î̵¤µ¤½¤¦¤Ê¤È¤³¤í¤Ï³§¥¹¥¥Ã¥×¤·¡¢¤¿¤È¤¨¤Ð¥·¡¼¥±¥ó¥¹Éôʬ¤À¤±¤ò ¼è½Ð¤¹¤Ê¤É¤ÎÁàºî¤òÁÛÄꤷ¤Æ¤¤¤ë¡£¡Ë
¤½¤ì¤Ç¡¢primerÉôʬ¤ò¤¢¤Æ¤º¤Ã¤Ý¤¦¤Ë²ò¼á¤·¤Æ¤ß¤ë¡£Â¾¤Î¥Õ¥£¡¼¥ë¥É¤âXML·Á¼°¤Ê¤Î¤Ç¡¢ Ʊ¤¸XML¥Ñ¡¼¥¶¤ò²ð¤·¤Æ¼½ñ·Á¼°¤ËÍî¤È¤¹¡£
elif ord(next_byte) == 5: # READ THE PRIMERS block_content = fileobject.read(block_size).decode('utf-8') primer_data = parse_dict(xmltodict.parse(block_content)) data['Primers'] = primer_data['Primers']
¤³¤Î²ÃÉ®¤ò¤·¤¿¾å¤Ç¡¢ from mysnapgene_reader import snapgene_file_to_dict, snapgene_file_to_seqrecord
filepath = './mytest.dna' dict = snapgene_file_to_dict(filepath) print(dict['Primers'].keys()) import pprint as pp d = dict['Primers'] dd = d['Primer'] print(dd.keys()) pp.pprint(dd)
·ë²Ì¤ò¸«¤ë¤È¡¢¤«¤Ê¤ê¿¤¯¤Î¾ðÊó¤ò´Þ¤ó¤Ç¤¤¤ë¤³¤È¤¬Ê¬¤«¤ë¤¦¤¨¡¢¤³¤ì¤é¤Î¾ðÊó¤ò ºî¤ê½Ð¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£annealiedBases¤È¤«meldingTemprerature¤È¤« hybridizedRange¤È¤«¡¢¤¤¤í¤¤¤í¤Èµá¤á¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤é¤·¤¤¡£
odict_keys(['@recentID', '@name', '@sequence', '@description', '@dateAdded', 'BindingSite']) OrderedDict([('@recentID', '0'), ('@name', 'TestPrimerNY'), ('@sequence', 'TTATAAGCAgttcgagt'), ('@description', ''), ('@dateAdded', '2019-08-20T05:34:31Z'), ('BindingSite', [OrderedDict([('@location', '1261985-1261996'), ('@boundStrand', '0'), ('@annealedBases', 'AGCgttcgagt'), ('@meltingTemperature', '33'), ('Component', [OrderedDict([('@bases', 'TTATA')]), OrderedDict([('@hybridizedRange', '1261985-1261987'), ('@bases', 'AGC')]), OrderedDict([('@bases', 'A')]), OrderedDict([('@hybridizedRange', '1261989-1261996'), ('@bases', 'gttcgagt')])])]), OrderedDict([('@location', '1490680-1490689'), ('@boundStrand', '0'), ('@annealedBases', 'CAgttcgagt'), ('@meltingTemperature', '35'), ('Component', [OrderedDict([('@bases', 'TTATAAG')]), OrderedDict([('@hybridizedRange', '1490680-1490689'), ('@bases', 'CAgttcgagt')])])]), OrderedDict([('@location', '2474407-2474416'), ('@boundStrand', '0'), ('@annealedBases', 'CAgttcgagt'), ('@meltingTemperature', '35'), ('Component', [OrderedDict([('@bases', 'TTATAAG')]), OrderedDict([('@hybridizedRange', '2474407-2474416'), ('@bases', 'CAgttcgagt')])])]), OrderedDict([('@location', '401796-401809'), ('@boundStrand', '1'), ('@annealedBases', 'AAGCAgttcgagt'), ('@meltingTemperature', '33'), ('Component', [OrderedDict([('@bases', 'TTAT')]), OrderedDict([('@hybridizedRange', '401805-401809'), ('@bases', 'AAGCA')]), OrderedDict([('@hybridizedRange', '401796-401803'), ('@bases', 'gttcgagt')])])]), OrderedDict([('@location', '451228-451237'), ('@boundStrand', '1'), ('@annealedBases', 'CAgttcgagt'), ('@meltingTemperature', '35'), ('Component', [OrderedDict([('@bases', 'TTATAAG')]), OrderedDict([('@hybridizedRange', '451228-451237'), ('@bases', 'CAgttcgagt')])])]), OrderedDict([('@location', '1414375-1414384'), ('@boundStrand', '1'), ('@annealedBases', 'CAgttcgagt'), ('@meltingTemperature', '35'), ('Component', [OrderedDict([('@bases', 'TTATAAG')]), OrderedDict([('@hybridizedRange', '1414375-1414384'), ('@bases', 'CAgttcgagt')])])]), OrderedDict([('@location', '2529410-2529419'), ('@boundStrand', '1'), ('@annealedBases', 'CAgttcgagt'), ('@meltingTemperature', '36'), ('Component', [OrderedDict([('@bases', 'TTATAAG')]), OrderedDict([('@hybridizedRange', '2529410-2529419'), ('@bases', 'CAgttcgagt')])])]), OrderedDict([('@location', '4065918-4065927'), ('@boundStrand', '1'), ('@annealedBases', 'CAgttcgagt'), ('@meltingTemperature', '36'), ('Component', [OrderedDict([('@bases', 'TTATAAG')]), OrderedDict([('@hybridizedRange', '4065918-4065927'), ('@bases', 'CAgttcgagt')])])]), OrderedDict([('@simplified', '1'), ('@location', '1261985-1261996'), ('@boundStrand', '0'), ('@annealedBases', 'AGCgttcgagt'), ('@meltingTemperature', '33'), ('Component', [OrderedDict([('@bases', 'TTATA')]), OrderedDict([('@hybridizedRange', '1261985-1261987'), ('@bases', 'AGC')]), OrderedDict([('@bases', 'A')]), OrderedDict([('@hybridizedRange', '1261989-1261996'), ('@bases', 'gttcgagt')])])]), OrderedDict([('@simplified', '1'), ('@location', '1490680-1490689'), ('@boundStrand', '0'), ('@annealedBases', 'CAgttcgagt'), ('@meltingTemperature', '35'), ('Component', [OrderedDict([('@bases', 'TTATAAG')]), OrderedDict([('@hybridizedRange', '1490680-1490689'), ('@bases', 'CAgttcgagt')])])]), OrderedDict([('@simplified', '1'), ('@location', '2474407-2474416'), ('@boundStrand', '0'), ('@annealedBases', 'CAgttcgagt'), ('@meltingTemperature', '35'), ('Component', [OrderedDict([('@bases', 'TTATAAG')]), OrderedDict([('@hybridizedRange', '2474407-2474416'), ('@bases', 'CAgttcgagt')])])]), OrderedDict([('@simplified', '1'), ('@location', '401796-401809'), ('@boundStrand', '1'), ('@annealedBases', 'AAGCAgttcgagt'), ('@meltingTemperature', '33'), ('Component', [OrderedDict([('@bases', 'TTAT')]), OrderedDict([('@hybridizedRange', '401805-401809'), ('@bases', 'AAGCA')]), OrderedDict([('@hybridizedRange', '401796-401803'), ('@bases', 'gttcgagt')])])]), OrderedDict([('@simplified', '1'), ('@location', '451228-451237'), ('@boundStrand', '1'), ('@annealedBases', 'CAgttcgagt'), ('@meltingTemperature', '35'), ('Component', [OrderedDict([('@bases', 'TTATAAG')]), OrderedDict([('@hybridizedRange', '451228-451237'), ('@bases', 'CAgttcgagt')])])]), OrderedDict([('@simplified', '1'), ('@location', '1414375-1414384'), ('@boundStrand', '1'), ('@annealedBases', 'CAgttcgagt'), ('@meltingTemperature', '35'), ('Component', [OrderedDict([('@bases', 'TTATAAG')]), OrderedDict([('@hybridizedRange', '1414375-1414384'), ('@bases', 'CAgttcgagt')])])]), OrderedDict([('@simplified', '1'), ('@location', '2529410-2529419'), ('@boundStrand', '1'), ('@annealedBases', 'CAgttcgagt'), ('@meltingTemperature', '36'), ('Component', [OrderedDict([('@bases', 'TTATAAG')]), OrderedDict([('@hybridizedRange', '2529410-2529419'), ('@bases', 'CAgttcgagt')])])]), OrderedDict([('@simplified', '1'), ('@location', '4065918-4065927'), ('@boundStrand', '1'), ('@annealedBases', 'CAgttcgagt'), ('@meltingTemperature', '36'), ('Component', [OrderedDict([('@bases', 'TTATAAG')]), OrderedDict([('@hybridizedRange', '4065918-4065927'), ('@bases', 'CAgttcgagt')])])])])])
SnapGene¡ÊÍÎÁÈǡˤˤÏprimer¾ðÊó¤òexport¤¹¤ëµ¡Ç½¤¬¤¢¤ë¡£¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤Ø¤Î ½ÐÎϤò»ØÄꤹ¤ë¤È¡¢¥É¥¥å¥á¥ó¥È¡ÊFAQ¤Î¥Ú¡¼¥¸¡¢https://www.snapgene.com/support/faq/¡Ë¤Ç¤Ï
You will need to export the primers to a list. In Excel, list the primers with a Name column and a Sequence column, plus an optional Notes column. Export the data by using Save As with the format Tab Delimited Text. Then in SnapGene, use Primers ¢ª Import Primers from a List.
¤È¤·¤Æ¤¤¤ë¡£¼ÂºÝ¤Ëexport½ÐÎϤ·¤Æ¤ß¤ë¤È
yjeI3 TTTTTTTTTTTTTTTTTTTT(¤³¤³Å¬Åö¡Ë Note Note Note
¤Î¤è¤¦¤Ë¡¢¥¿¥Ö¶èÀÚ¤ê¤Ç¡¢<name> tab <sequence> tab <note> ¤Î·Á¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
¤È¤¤¤¦¤³¤È¤Ç¡¢¤³¤Î·Á¼°¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¤³¤Î¤³¤È¤«¤é¡¢SnapGene¤¬¤³¤Î¥Æ¥¥¹¥È·Á¼°¤Î primer¥Ç¡¼¥¿¤òimport¤¹¤ë¾ì¹ç¤Ï¡¢·ë¹½¤½¤ì¤Ê¤ê¤Î½èÍý¡Ê°ÌÃÖ¤ÎÆÃÄ꤫¤é»Ï¤Þ¤Ã¤Æ¡¢ ¤½¤Î¾¤Î¥á¥¿¥Ç¡¼¥¿¤Î»»ÄêÅù¡Ë¤ò¹Ô¤Ã¤Æ¡¢ÆâÉôŪ¤ËÊÝ»ý¤·¤Æ¤ª¤ê¡¢¤½¤ì¤ò.dna¥Õ¥¡¥¤¥ë ¤Ë¤Ï½ñ¤½Ð¤·¤Æ¤¤¤ë¡ÊXML¤Ç¡Ë¤È»×¤ï¤ì¤ë¡£