2011-07-07 10 views
5

Şu anda, glikobiyoloji alanında bazı format dönüştürme araçları tasarlıyorum. Biçim dönüşümü, bir metin dosyasından tarlada standart olan bir XML dosyasına gitmeyi içerir. Çoğu zaman, aldığımız veriler, aşağıdaki gibi bir düz metin dosyasına ilgi bilgisini içerir. Asıl dosya tüm bunları bir satırda içerir. Bilgiyi almak için bu metni okumak ve bölmek önemsizdir (muhtemelen sezgisel değildir) ama XML sorunun nerede olduğudır. Düz Metinden Ayıklama Bilgisi ve XML'e Yazma DOM Kullanılıyor

[][b-D-GlcpNAc] 
    {[(4+1)][b-D-GlcpNAc] 
     {[(4+1)][b-D-Manp] 
      {[(3+1)][a-D-Manp] 
       {[(2+1)][a-D-Manp]{} 
      } 
     [(6+1)][a-D-Manp] 
      {[(3+1)][a-D-Manp]{} 
      [(6+1)][a-D-Manp]{} 
     } 
    } 
} 

bu nasıl yorumlanır: Formun

  1. her şey w-ağırlık-ağırlık + Başka birine bağlı olan bir şekerdir. Bağlantı kıvırcık tarafından gösterilmektedir.
  2. 4 + 1, 3 + 1 ve diğerleri, bir şekerdeki diğerine hangi karbon bağlarını gösterir. Bundan dolayı, bir öncekinin 4. karbonu, birinciye ait olan 1. karta bağlanır.
  3. {} Bu, o şekere bağlı ek bir şeker olmadığını belirtir
  4. } bu katmanı yalnızca kapatın.

Büyük olasılıkla XML'yi okuyabilir ve bağlantıların nasıl çalıştığını anlayabilirsiniz. Ama siz daha detaylı bir açıklama yapmayı tercih ederseniz, sadece sorun.

XML'in nasıl görünmesi gerektiği aşağıda gösterilmiştir.

<?xml version="1.0" encoding="UTF-8"?> 
<GlydeII> 
    <molecule subtype="glycan" id="From_GlycoCT_Translation"> 
      <residue subtype="base_type" partid="1" ref="http://www.monosaccharideDB.org/GLYDE-II.jsp?G=b-dglc-HEX-1:5" /> 
      <residue subtype="substituent" partid="2" ref="http://www.monosaccharideDB.org/GLYDE-II.jsp?G=n-acetyl" /> 
      <residue subtype="base_type" partid="3" ref="http://www.monosaccharideDB.org/GLYDE-II.jsp?G=b-dglc-HEX-1:5" /> 
      <residue subtype="substituent" partid="4" ref="http://www.monosaccharideDB.org/GLYDE-II.jsp?G=n-acetyl" /> 
      <residue subtype="base_type" partid="5" ref="http://www.monosaccharideDB.org/GLYDE-II.jsp?G=b-dman-HEX-1:5" /> 
      <residue subtype="base_type" partid="6" ref="http://www.monosaccharideDB.org/GLYDE-II.jsp?G=a-dman-HEX-1:5" /> 
      <residue subtype="base_type" partid="7" ref="http://www.monosaccharideDB.org/GLYDE-II.jsp?G=a-dman-HEX-1:5" /> 
      <residue subtype="base_type" partid="8" ref="http://www.monosaccharideDB.org/GLYDE-II.jsp?G=a-dman-HEX-1:5" /> 
      <residue subtype="base_type" partid="9" ref="http://www.monosaccharideDB.org/GLYDE-II.jsp?G=a-dman-HEX-1:5" /> 
      <residue subtype="base_type" partid="10" ref="http://www.monosaccharideDB.org/GLYDE-II.jsp?G=a-dman-HEX-1:5" /> 
      <residue_link from="2" to="1"> 
       <atom_link from="N1H" to="C2" to_replace="O2" bond_order="1" /> 
      </residue_link> 
      <residue_link from="3" to="1"> 
       <atom_link from="C1" to="O4" from_replace="O1" bond_order="1" /> 
      </residue_link> 
      <residue_link from="4" to="3"> 
       <atom_link from="N1H" to="C2" to_replace="O2" bond_order="1" /> 
      </residue_link> 
      <residue_link from="5" to="3"> 
       <atom_link from="C1" to="O4" from_replace="O1" bond_order="1" /> 
      </residue_link> 
      <residue_link from="6" to="5"> 
       <atom_link from="C1" to="O3" from_replace="O1" bond_order="1" /> 
      </residue_link> 
      <residue_link from="7" to="6"> 
       <atom_link from="C1" to="O2" from_replace="O1" bond_order="1" /> 
      </residue_link> 
      <residue_link from="8" to="5"> 
       <atom_link from="C1" to="O6" from_replace="O1" bond_order="1" /> 
      </residue_link> 
      <residue_link from="9" to="8"> 
       <atom_link from="C1" to="O3" from_replace="O1" bond_order="1" /> 
      </residue_link> 
      <residue_link from="10" to="8"> 
       <atom_link from="C1" to="O6" from_replace="O1" bond_order="1" /> 
      </residue_link> 
    </molecule> 
</GlydeII> 

Şimdiye kadar tüm kalıntı alanlarını kolayca alabilmem ve bunları XML'ye yazdım. Ancak artık_link alanları için sözde kod yazarken sorun yaşıyorum. Bağlantı bilgisini xml'ye ekleme konusunda nasıl yardım edeceğime dair fikir ve fikirlerim olsa bile bunu takdir ediyorum.

+0

Kıvırcık bir parantez eksik olduğunu düşünüyorum. Kaynak metnin daha iyi görsel açıklaması için kod formatlama, yeni satırlar ve girinti kullanabilir misiniz? – Udi

+0

[] ne anlama geliyor? – Udi

+0

Elbette, göz ağrısı için özür dilerim. Ön tarafta [] – arkestra

cevap

1

Tamam! Soğuk problem, beynimi iyi bir şekilde incitir.

Ben anlamda kılan bir şekilde içine ham veri sekmeli akıl sağlığım için ilk ...:

[][b-D-GlcpNAc] { 
    [(4+1)][b-D-GlcpNAc] { 
     [(4+1)][b-D-Manp] { 
      [(3+1)][a-D-Manp] { 
       [(2+1)][a-D-Manp] { } 
      } 
      [(6+1)][a-D-Manp] { 
       [(3+1)][a-D-Manp] { } 
       [(6+1)][a-D-Manp] { } 
      } 
     } 
    } 

bu anahtarı çiftleri ne bulmaktan olduğunu düşünüyorum ve programlı istiyorum Hangi seviyede olduğunuzu anlayın.

yalancı kod: Ayrıca şeker önceki "üst" şeker olduğu izlemek isterdim

hierarchy = 0 
nextChar = getNextChar() 
while (Parsing): 
    if (nextChar = "{"): 
     hierarchy += 1 
    elif (nextChar = "}"): 
     hierarchy -= 1 
    if (nextChar = "["): 
     storeSugar(hierarchy) 

.

+0

hm ... bu şekilde ayarlanmış bir şey var. Önerin hakkında daha fazla düşüneyim. Bunu uygulamaya koymanın bir yolunu bulmalıyım. Teşekkür ederim. – arkestra

İlgili konular