First time here? Checkout the FAQ!
x
0 votes
by (470 points)
hello i am new on opencarp and i use it to make an experiment on a tissue with stimulation at  different bcl, for the initialisation  i use a stable state of a cell at 750ms,  i was expecting that the APD of the tissue i mesured will decrise when i decrease bcl but my result gave me every time an increase of apd when i use de GPVatria cell model, but the result was ok for MDRBD model, please if some one can help me to find the issu ?

here is my script

Pace GPVatria to limit cycle at basic cycle length bcl=750
------------------------------------------------------------------------------------------------------------------------

Computing state files for chosen CIs
------------------------------------------------------------------------------------------------------------------------

Perform APD restitution experiments
------------------------------------------------------------------------------------------------------------------------

#-----------------------------------------------------------------------------------------------------------------------
#                             Launching openCARP Simulation 2021-12-16_simple_20_petsc_np1
#-----------------------------------------------------------------------------------------------------------------------

/usr/local/bin/openCARP \
  -ellip_use_pt 0 \
  -parab_use_pt 0 \
  -parab_options_file /usr/local/lib/python3.6/dist-packages/carputils/resources/petsc_options/ilu_cg_opts \
  -ellip_options_file /usr/local/lib/python3.6/dist-packages/carputils/resources/petsc_options/amg_cg_opts \
  -num_phys_regions 1 \
  -phys_region[0].name "Intracellular domain" \
  -phys_region[0].ptype 0 \
  -phys_region[0].num_IDs 1 \
  -phys_region[0].ID[0] 1 \
  -simID 2021-12-16_simple_20_petsc_np1 \
  -meshname meshes/2021-12-08_MBxYYskUvP/block \
  -num_imp_regions 1 \
  -imp_region[0].im GPVatria \
  -imp_region[0].num_IDs 1 \
  -bidomain 0 \
  -spacedt 1 \
  -timedt 1 \
  -parab_solve 1 \
  -cg_tol_parab 0.01 \
  -num_gregions 1 \
  -gregion[0].name m \
  -gregion[0].num_IDs 1 \
  -gregion[0].ID 1 \
  -gregion[0].g_el 0.5329 \
  -gregion[0].g_et 0.1155 \
  -gregion[0].g_en 0.1155 \
  -gregion[0].g_il 0.1483 \
  -gregion[0].g_it 0.0322 \
  -gregion[0].g_in 0.0322 \
  -num_LATs 2 \
  -lats[0].ID activation \
  -lats[0].all 0 \
  -lats[0].measurand 0 \
  -lats[0].mode 0 \
  -lats[0].threshold -20 \
  -lats[1].ID REPs \
  -lats[1].all 0 \
  -lats[1].measurand 0 \
  -lats[1].mode 1 \
  -lats[1].threshold -70 \
  -imp_region[0].im_sv_init GPVatria_bcl_750_beats_20_limitcycle.sv \
  -num_gvecs 1 \
  -gvec[0].name cai \
  -gvec[0].ID[0] Ca_i \
  -num_stim 1 stimulus[0].name S1 \
  -stimulus[0].stimtype 0 \
  -stimulus[0].strength 60.0 \
  -stimulus[0].duration 1.0 \
  -stimulus[0].npls 20 \
  -stimulus[0].bcl 350 \
  -stimulus[0].start 0 \
  -stimulus[0].x0 -4950 \
  -stimulus[0].xd 100 \
  -stimulus[0].y0 -150 \
  -stimulus[0].yd 300 \
  -tend 7000

for the APD calculation i use this in the script:

 igbdir1 =  simID + '/vm.igb'
         igbdir2 =  simID + '/cai.igb'
         #igbout = '--output-file=' +  simID + '/data.dat'
       
         apdmode ='all'
         apdt0 = 0
         cmd2 = [ settings.execs.igbapd,
                
                  '-t',       apdt0,
                    '--repol=90',
                    '--vup=-10',
                    '--peak-value=plateau',
                    '-M', apdmode,
                    '-m',  10.0,  
                  
                    # igbout,
                    igbdir1 ]

          
         job.bash(cmd2)
            #   #Now compute tcd cdhe APD at register '{}_limitcycle.sv'.format(lcyc)
         hh=list(xrange(numbeats-2,0,-1))
        

         for o in range(len(hh)):
            
            h=hh[o]
            apdfile = './' + '{}_apd.dat'.format(h)
            print(apdfile)
            file = open(apdfile, 'r')
            lines=file.readlines()
            LAPD = float(lines[295])
            file.close()
            #Now compute the CV between electrodes
            actfile = './' + simID + '/init_acts_REPs-thresh.dat'
            #print(actfile)
            file = open(actfile, 'r')
            lines=file.readlines()
            LCV1 = float(lines[295])
            LCV2 = float(lines[285])
            LCV = (1/(LCV2-LCV1))*1000.0
            LWL = LAPD*LCV*0.001
            file.close()
            apdm.append(LAPD)
      

          
         APDF.append(apdm)
         print(APDF)
         with open('apdrestitutionCI.dat', 'a') as fp:
                  
                     fp.write('{:>6s} {:>10.4f}\n'.format('CI=', CI))
                    
                     for j in range(len(apdm)):
                         val=round(apdm[j])
                         fp.write('{:>6.1f}\n'.format(val))
         apdm=[]
        

         
    print(APDF)

1 Answer

0 votes
by (19.1k points)
I didn't have a look in detail on your script yet but be aware that APD in tissue can be different to APD in single cell experiments. See for example https://doi.org/10.1007/978-3-642-01932-6
by (470 points)
I did not undestand what do you mean by apd in the tissue is not the same in cell experiment do you mean that the igbapd utils that i use is not usable to mesure apd in tissu but we  use it just for cell? Or the fact that i use a stable state of cell to initializ the cell is the problem'?
by (19.1k points)
Please see the linked paper for detailed descriptions.
Welcome to openCARP Q&A. Ask questions and receive answers from other members of the community. For best support, please use appropriate TAGS!
architecture, carputils, documentation, experiments, installation-containers-packages, limpet, slimfem, website, governance
MathJax.Hub.Config({ tex2jax: { inlineMath: [ ['$','$'], ["\\(","\\)"] ], config: ["MMLorHTML.js"], jax: ["input/TeX"], processEscapes: true } }); MathJax.Hub.Config({ "HTML-CSS": { linebreaks: { automatic: true } } });
...