Propagation_of_physical_quantities_in_the_calculation_of_luminosities_of_galaxiestype_morpho00KIG0001 5 NaN2011-11-18 12:47:08.406 UTCText file with three columns: the name of the galaxy, the morphological type of the galaxy, the error value.
If there is not error value, it will be NaN2013-04-22 15:36:33.124 UTCfileCoordsJ200000Text file with three columns: the name of the galaxy and the J2000 coordinates of the galaxy in sexagesimal degrees with no separation chars.2013-04-22 15:44:10.65 UTCKIG0001 000305.71 -015450.22013-04-22 15:43:55.811 UTCvelocityFile00 KIG0001 7299 32011-11-18 12:49:15.948 UTCText file with three columns: the name of the galaxy, the velocity of the galaxy in km/s and the error value.
If there is not error value, it will be NaN2013-04-22 15:31:51.120 UTCagFile00KIG0001 0.173 NaN2011-11-18 12:47:43.476 UTCText file with three columns: the name of the galaxy, the correction for the dust extinction produced by our own galaxy, and the error value. If there is not error value, it will be NaN2013-04-22 15:37:11.19 UTCbtFile00KIG0001 14.167 0.2712011-11-18 12:46:42.118 UTCText file with three columns: the name of the galaxy, the total B-Magnitud of the galaxy and the error value.
If there is not error value, it will be NaN2011-11-17 17:38:19.870 UTClogr25File00Text file with three columns: the name of the galaxy, the value for the axis ratio of the isophote 25 mag/arcsec2 in the B-band (logr25) of the galaxy and the error value. If there is not error value, it will be NaN2013-04-22 15:36:00.477 UTCKIG0001 0.338 0.0262011-11-18 12:46:16.343 UTCbtcText file with three columns: the name of the galaxy, the total apparent corrected B-magnitude and the error value.
If there is not error value, it will be NaN2011-11-17 17:41:01.643 UTCKIG0001 13.3860349226 NaN2011-11-18 12:51:49.718 UTCdistancesText file with three columns: the name of the galaxy, the distance of the galaxy and error value.
If there is not error value, it will be NaN2011-11-17 17:42:05.451 UTCKIG0001 96.8861202823 NaN2011-11-18 12:52:55.276 UTClbKIG0001 10.5681091616 NaN2011-11-18 12:52:29.980 UTCText file with three columns: the name of the galaxy, the luminosity and the error value.
If there is not error value, it will be NaN2011-11-17 17:41:41.598 UTCCalculate_BT_Correctiontype0velocity0ag0bt0logr250BTCorrection00net.sf.taverna.t2.activitiesdataflow-activity1.4net.sf.taverna.t2.activities.dataflow.DataflowActivitynet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.InvokeCalculate_DistancesfileCoordsJ20000velocity0distances00net.sf.taverna.t2.activitiesdataflow-activity1.4net.sf.taverna.t2.activities.dataflow.DataflowActivitynet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.InvokeCalculate_Luminositiesdistances_file0btc_file0lb_result00net.sf.taverna.t2.activitiesdataflow-activity1.4net.sf.taverna.t2.activities.dataflow.DataflowActivitynet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.InvokeMerge_Distancesstringlist1concatenated00net.sf.taverna.t2.activitieslocalworker-activity1.4net.sf.taverna.t2.activities.localworker.LocalworkerActivitystringlist1l('text/plain')java.lang.Stringtrueseperator0'text/plain'java.lang.Stringtrueconcatenated0'text/plain'0workfloworg.embl.ebi.escience.scuflworkers.java.StringListMergenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.InvokeMerge_BTCorrectionstringlist1concatenated00net.sf.taverna.t2.activitieslocalworker-activity1.4net.sf.taverna.t2.activities.localworker.LocalworkerActivitystringlist1l('text/plain')java.lang.Stringtrueseperator0'text/plain'java.lang.Stringtrueconcatenated0'text/plain'0workfloworg.embl.ebi.escience.scuflworkers.java.StringListMergenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.InvokeCalculate_BT_CorrectiontypeCalculate_BT_CorrectionvelocityCalculate_BT_CorrectionagCalculate_BT_CorrectionbtCalculate_BT_Correctionlogr25Calculate_DistancesfileCoordsJ2000Calculate_DistancesvelocityCalculate_Luminositiesdistances_fileCalculate_Luminositiesbtc_fileMerge_DistancesstringlistMerge_BTCorrectionstringlistbtcdistanceslb9e915eb8-2045-4894-a49c-33e449b10f082011-10-20 15:27:32.43 UTCc006e850-b5aa-496e-a189-286c98ef4a102011-11-12 17:15:56.106 UTCef5a84d2-3d0c-479c-9683-ca0113b373452011-11-18 12:46:18.734 UTC785857ea-9a5c-46c2-9c64-5ef131575c562011-11-18 12:22:41.612 UTC9c5b42b9-b071-4dff-b59a-036a9d25a11a2011-11-18 12:25:48.987 UTC9620ab6f-1711-47b0-8ba6-af319bebcd932011-11-17 17:50:06.367 UTC02984652-99e4-418a-a4ff-4873bd013ab12011-11-17 17:42:05.610 UTC3f30668f-e305-4c85-84b5-3c1f05ddc9092011-11-17 17:43:01.58 UTCa20c6b29-c11e-41a0-b086-1299610b0b642011-11-18 13:17:05.978 UTC4f14d81b-556f-4a95-a1c7-7667d99604952011-11-16 14:05:04.197 UTCcfabe62b-2558-4a9b-8725-9d77a9c2b6252011-11-18 12:47:10.158 UTC728748ff-97b8-4694-9364-945f28056f412011-11-18 12:26:25.890 UTCfc56f14f-fe1c-4c99-aaee-72ba96f6ca682011-11-12 17:12:08.993 UTCdd529a8e-f5b2-4f02-8749-b9611a31c7fc2011-10-20 11:02:47.685 UTC89f79abb-cfaf-4187-93e5-e68af154fe3b2011-11-12 17:46:37.80 UTC18cb6699-60ea-4c46-96f8-e10c2a0998952011-10-20 11:08:15.140 UTC21149378-6ecc-4eaa-87c8-943b21e1c7832011-11-18 13:11:25.372 UTC864d13d8-335f-45ec-b74b-466fd09c5f9c2011-10-20 11:00:36.736 UTC584e1f9e-3120-45b7-8b3a-ab56eeef780d2011-11-09 16:36:01.113 UTC3f9517d1-0e65-4245-aff8-f02b23967f902011-11-18 12:47:45.302 UTC420c0ace-9fcd-4c7c-936d-962d055d2a1c2011-11-18 14:23:37.645 UTC769dee9c-4ab1-46d7-88dc-fe524365ca1b2011-11-17 17:44:59.743 UTC7cd992a1-b50e-48fd-8465-99a10682a97b2011-11-08 12:44:34.183 UTC7c44d601-208e-4647-bc56-a51ad337e3a92011-11-18 12:42:56.575 UTCc52331a2-9973-45ff-8320-3ca9f7b71ae42011-11-18 12:26:45.748 UTCPropagation of physical quantities in the calculation of luminosities of galaxies2011-11-21 09:44:18.202 UTCbf0d20cc-1235-4547-942e-4e1f82efb8ce2011-11-13 01:04:56.965 UTC6c6014d4-c26a-4de1-9e2f-5c6eca2aa29e2011-10-20 10:57:10.349 UTC126f00e1-288e-4ab4-841b-b5684b77ae012011-11-18 12:27:12.666 UTC4ec666e0-9457-493d-9c7b-0abb3c2f4cae2011-11-18 12:20:50.617 UTC8aa6cae6-6788-44b4-a286-28498bc942a22011-11-09 16:37:17.838 UTCThis workflow takes as input a file for each of this properties: J2000 Coordinates, velocity, galactic extinction, log of axis ratio, and the Total B-magnitude. With this properties it calculates the distance of the galaxy and, in other hand, the total apparent corrected B-magnitude.
It takes account if the velocity of the galaxy is lower than a threshold (1000km/s), it can not be possible to calculate the distance so, in those cases the distance will be "NaN".
At the end, it calculates the total luminosity using the velocity and the total apparent corrected B-magnitude.
More information in the nested workflows.2013-04-22 15:44:35.85 UTC8668c5d6-a4b7-4350-ab3e-cb6e9900b06f2013-04-22 15:44:52.871 UTCdc145be2-4843-4fdd-85cf-01e89786e8e82011-11-09 16:04:49.821 UTC56dec7ce-42c8-40b3-b4cb-bebc1eb1957b2013-04-22 15:44:16.50 UTC1f5bd6f6-251f-4a9e-90c8-4c7d41c9126b2011-11-09 17:01:19.684 UTC609ebe37-fe87-4634-863d-b7adade2f65c2011-11-09 16:31:39.557 UTCd20b353a-d4a8-49a8-b797-817236ed12a42011-11-09 16:09:51.17 UTC035fce75-0d95-42db-9ecf-1f9d517eaae82011-11-16 14:02:40.36 UTCSusana Sánchez, Jose Enrique Ruiz2011-11-21 09:43:30.558 UTCf1b1a69c-f9ab-4dfa-9ac8-70e70063d2872011-11-09 16:40:20.440 UTC051bf8f8-c5c7-4c09-8af9-392c8390f4262011-11-21 09:44:21.26 UTCc30505d5-d711-479b-841e-8d9859d583b32011-11-09 16:08:54.409 UTC0e37b25e-14ff-45a4-a607-1d126f1917792011-11-16 11:49:09.214 UTCa1a035e9-607e-469e-878f-fcf1f74bfcec2011-10-20 11:40:51.634 UTC7705d2a4-d89d-45c8-866f-60118674ce482011-11-18 12:51:13.589 UTCb7f93671-2f2c-4533-b9f6-1497b8caffd82011-10-20 12:10:47.686 UTCf6fb64d9-c112-4252-994e-ea4a3295434e2011-11-17 17:38:47.842 UTC21ae9fd3-4909-4a88-82e1-9355708c1dc62011-11-09 16:46:40.388 UTC566080a3-e9c1-4692-af03-e61a6c7ca6df2011-11-12 17:15:08.238 UTC719c26bd-278e-4f83-913c-5ea900f5697b2011-11-18 12:17:28.929 UTC94f0ba25-8b47-42bc-a08c-a6d2286241c12011-11-18 12:46:44.342 UTC49ac92c3-e98d-4d92-a5bd-b9f24b649ba72011-11-17 17:46:28.41 UTC205e945e-08c1-4627-b7ed-2e0994025a4b2011-10-20 12:28:42.644 UTC0654e4b3-3f9e-4540-a302-2a5a4d5fd8802011-11-18 12:49:17.780 UTC3baadc91-f7de-455c-95b0-d9eb4e7dbe042011-11-08 12:17:53.188 UTC8b5ded3e-ae05-4f2d-aaa9-ea2e62c065eb2011-11-18 13:09:29.859 UTCe8adc654-dbd4-484c-a089-85ecebfb88d72011-11-16 19:57:54.153 UTCcebabae3-3d38-447c-a068-92b7b9be36532011-11-10 08:37:51.582 UTCbee3ad1c-36a9-42c9-8bc5-c685ee3dd7562011-11-09 16:53:21.66 UTC71a98118-3354-4ce7-b0ef-d936c37702252011-11-18 12:19:46.742 UTC1a6cbc78-67df-4e71-bffe-9feb88f12b6a2011-11-17 17:41:01.816 UTCb2299d6f-3010-4825-bc91-47c493b3fab12011-11-09 16:59:27.173 UTC727145da-b3ad-4037-ba40-cd4ebc05a4172011-11-18 12:52:56.852 UTC0387b034-e3be-4d40-a08a-aa89ca0d44bf2011-11-18 12:18:40.231 UTC38bfa2e3-23ff-476d-8579-23d9256489822011-11-18 12:26:03.57 UTC9bd9d6e7-405e-49e0-99d4-56dcd0aaf9432011-10-20 12:34:57.176 UTCac033922-ba3e-4c6b-bdb5-7c9e9777b3452011-11-18 13:10:52.339 UTC0d370cc0-5f28-48a5-9c8b-23bcdb59a9642011-11-17 17:39:33.942 UTC08970b48-8520-4f8a-b946-7e23ea777bdc2011-11-17 00:04:45.1 UTCWorkflow10type00ag00velocity00bt00logr2500BTCorrectionBTCorrectionCalculationak10ak100akBelow0ak20ak30ak40ak50ak60ak70ak80ak90C0type0ag0velocity0bt0logr250STDOUT00net.sf.taverna.t2.activitiesexternal-tool-activity1.4net.sf.taverna.t2.activities.externaltool.ExternalToolActivity789663B8-DA91-428A-9F7D-B3F3DA185FD4default local<?xml version="1.0" encoding="UTF-8"?>
<localInvocation><shellPrefix>/bin/sh -c</shellPrefix><linkCommand>/bin/ln -s %%PATH_TO_ORIGINAL%% %%TARGET_NAME%%</linkCommand></localInvocation>
77171575-adc4-4eda-a78b-6c0c51ced1e3python btc.py %%C%% %%akBelow%% %%ak1%% %%ak2%% %%ak3%% %%ak4%% %%ak5%% %%ak6%% %%ak7%% %%ak8%% %%ak9%% %%ak10%% 12001800Cak1ak10ak2ak3ak4ak5ak6ak7ak8ak9akBelowbtc.pytruefalsefalseMacRomanfalseimport sys
from math import *
#Calculating ai = f (t, log r25) = -2.5log[k+(1-k)R*((2C(1+0.2/K2)-1)]
with open ("type.txt", "r") as type_file:
types=type_file.readlines()
with open ("logr25.txt", "r") as logr25_file:
logr25s=logr25_file.readlines()
with open ("velocity.txt", "r") as velocity_file:
velocities=velocity_file.readlines()
with open ("bt.txt", "r") as bt_file:
bts=bt_file.readlines()
with open ("ag.txt", "r") as ag_file:
ags=ag_file.readlines()
C=float(sys.argv[1])
#Building a dictionary with the ak values
ak={-5:float(sys.argv[2]), \
-4:float(sys.argv[2]),\
-3:float(sys.argv[2]),\
-2:float(sys.argv[2]),\
-1:float(sys.argv[2]),\
0:float(sys.argv[2]),
1:float(sys.argv[3]), \
2:float(sys.argv[4]), \
3:float(sys.argv[5]), \
4:float(sys.argv[6]), \
5:float(sys.argv[7]), \
6:float(sys.argv[8]), \
7:float(sys.argv[9]), \
8:float(sys.argv[10]), \
9:float(sys.argv[11]), \
10:float(sys.argv[12]), \
}
max=min(len(types), len(logr25s), len(velocities), len(bts), len(ags))
for i in range(max):
try:
(name, type, errtype)=types[i].split()
(name, logr25, errlog)=logr25s[i].split()
(name, velhel, errvel)=velocities[i].split()
(name, bt, errbt)=bts[i].split()
(name, ag, errag)=ags[i].split()
type=float(type)
logr25=float(logr25)
bt=float(bt)
velhel=float(velhel)
ag=float(ag)
except:
print "Format error in galaxy %i"%i
print types[i]
print logr25s[i]
print velocities[i]
print bts[i]
print ags[i]
else:
#CALCULATING ai
#Calculating k
k=0.754*pow(10, (-0.2*type))
if k>1:
k=1
#Calculating K2
if type<0:
K2 = 0.12-0.007*type
else:
K2=0.094
#Calculating R
R = 10.**logr25
#Finally it calculates ai
#ai=-2.5*log(k+(1.0-k)*R*((2.0*C*(1+0.2/K2)-1)))
tmp=2.0*C*(1+0.2/K2)-1
ai=-2.5*log10(k+(1.0-k)*pow(R, tmp))
#Calculating ak
if isnan(type):
aki=float("nan")
else:
aki=ak[int(round(type))]
#aki=0.0401445
btc = bt - ag - ai - aki*velhel/10000
if isnan(btc):
btc="NaN"
print name, btc, "NaN"
CCfalsefalsefalseMacRomanfalsefalsefalsetypetype.txttruefalsefalseMacRomanfalsefalsefalselogr25logr25.txttruefalsefalseMacRomanfalsefalsefalsebtbt.txttruefalsefalseMacRomanfalsefalsefalseakBelowakBelowfalsefalsefalseMacRomanfalsefalsefalseak1ak1falsefalsefalseMacRomanfalsefalsefalseak2ak2falsefalsefalseMacRomanfalsefalsefalsevelocityvelocity.txttruefalsefalseMacRomanfalsefalsefalseak3ak3falsefalsefalseMacRomanfalsefalsefalseak4ak4falsefalsefalseMacRomanfalsefalsefalseak10ak10falsefalsefalseMacRomanfalsefalsefalseak5ak5falsefalsefalseMacRomanfalsefalsefalseak6ak6falsefalsefalseMacRomanfalsefalsefalseagag.txttruefalsefalseMacRomanfalsefalsefalseak7ak7falsefalsefalseMacRomanfalsefalsefalseak8ak8falsefalsefalseMacRomanfalsefalsefalseak9ak9falsefalsefalseMacRomanfalsefalsefalsefalsetruetrue0falsenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invokeak1_valuevalue00net.sf.taverna.t2.activitiesstringconstant-activity1.4net.sf.taverna.t2.activities.stringconstant.StringConstantActivity0.125net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invokeak10_valuevalue00net.sf.taverna.t2.activitiesstringconstant-activity1.4net.sf.taverna.t2.activities.stringconstant.StringConstantActivity0.005net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.InvokeakBelow_valuevalue00net.sf.taverna.t2.activitiesstringconstant-activity1.4net.sf.taverna.t2.activities.stringconstant.StringConstantActivity0.15net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invokeak2_valuevalue00net.sf.taverna.t2.activitiesstringconstant-activity1.4net.sf.taverna.t2.activities.stringconstant.StringConstantActivity0.100net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invokeak3_valuevalue00net.sf.taverna.t2.activitiesstringconstant-activity1.4net.sf.taverna.t2.activities.stringconstant.StringConstantActivity0.075net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invokeak4_valuevalue00net.sf.taverna.t2.activitiesstringconstant-activity1.4net.sf.taverna.t2.activities.stringconstant.StringConstantActivity0.065net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invokeak5_valuevalue00net.sf.taverna.t2.activitiesstringconstant-activity1.4net.sf.taverna.t2.activities.stringconstant.StringConstantActivity0.055net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invokeak6_valuevalue00net.sf.taverna.t2.activitiesstringconstant-activity1.4net.sf.taverna.t2.activities.stringconstant.StringConstantActivity0.045net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invokeak7_valuevalue00net.sf.taverna.t2.activitiesstringconstant-activity1.4net.sf.taverna.t2.activities.stringconstant.StringConstantActivity0.035net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invokeak8_valuevalue00net.sf.taverna.t2.activitiesstringconstant-activity1.4net.sf.taverna.t2.activities.stringconstant.StringConstantActivity0.025net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invokeak9_valuevalue00net.sf.taverna.t2.activitiesstringconstant-activity1.4net.sf.taverna.t2.activities.stringconstant.StringConstantActivity0.015net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.InvokeC_valuevalue00net.sf.taverna.t2.activitiesstringconstant-activity1.4net.sf.taverna.t2.activities.stringconstant.StringConstantActivity0.04net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.InvokeBTCorrectionCalculationak1BTCorrectionCalculationak10BTCorrectionCalculationakBelowBTCorrectionCalculationak2BTCorrectionCalculationak3BTCorrectionCalculationak4BTCorrectionCalculationak5BTCorrectionCalculationak6BTCorrectionCalculationak7BTCorrectionCalculationak8BTCorrectionCalculationak9BTCorrectionCalculationCBTCorrectionCalculationtypeBTCorrectionCalculationagBTCorrectionCalculationvelocityBTCorrectionCalculationbtBTCorrectionCalculationlogr25BTCorrectiona1a035e9-607e-469e-878f-fcf1f74bfcec2011-10-20 11:40:51.634 UTCdd529a8e-f5b2-4f02-8749-b9611a31c7fc2011-10-20 11:02:47.685 UTC864d13d8-335f-45ec-b74b-466fd09c5f9c2011-10-20 11:00:36.736 UTC01058c02-8b2b-4b3d-8bb1-d683e77d870f2011-11-17 00:04:37.531 UTCb0d1d514-a989-4910-a0eb-b6de24ce91212011-11-12 17:36:58.781 UTC6c6014d4-c26a-4de1-9e2f-5c6eca2aa29e2011-10-20 10:57:10.349 UTC25265f05-2980-44ea-8a95-bd3fdddeae0f2011-11-18 13:12:18.314 UTCb7f93671-2f2c-4533-b9f6-1497b8caffd82011-10-20 12:10:47.686 UTC39e15c11-3c70-4265-8fc3-a391e667a5172011-11-18 12:38:23.206 UTC9bd9d6e7-405e-49e0-99d4-56dcd0aaf9432011-10-20 12:34:57.176 UTC77113465-e4d7-42ec-89c3-0b85e9caf4e92011-11-16 11:13:47.65 UTC097d3f0f-edd5-49ec-9579-03906e6a59c32011-11-09 16:39:58.342 UTC3baadc91-f7de-455c-95b0-d9eb4e7dbe042011-11-08 12:17:53.188 UTC4b576b85-992d-4749-90b5-c5864b61f1bf2011-11-16 14:03:07.598 UTCThis workflow calculates the total aparent corrected B-Magnitud using the galactic extinction (ag), the internal extinction, that it is calcuated using the type morphological (type) and the log of axis ratio (logr25), the k-corrections (ak* constant) and the velocity (velocity)2011-11-18 13:12:16.372 UTC9e915eb8-2045-4894-a49c-33e449b10f082011-10-20 15:27:32.43 UTC22c97488-8247-40d3-ae53-fd863cfb0cef2011-11-18 12:22:30.570 UTC5b81e432-9bd5-4173-90d5-a181db46de1f2011-11-16 19:54:30.308 UTC7cd992a1-b50e-48fd-8465-99a10682a97b2011-11-08 12:44:34.183 UTC32c00990-7599-4fe9-a769-269eede69e8a2011-11-16 14:00:47.823 UTC205e945e-08c1-4627-b7ed-2e0994025a4b2011-10-20 12:28:42.644 UTC56509f1b-a110-4e00-99b4-238dceddf4822011-11-18 12:40:05.731 UTCf6344a4a-7634-4a9c-9049-c5065a54082d2011-11-13 01:02:43.585 UTC18cb6699-60ea-4c46-96f8-e10c2a0998952011-10-20 11:08:15.140 UTC6cb0767a-8cd6-439d-907f-aea88c4d93252011-11-09 15:59:10.366 UTCCalculate_the_distances_of_galaxiesfileCoordsJ200000velocity00distancescoords2Degcoords0coordsDeg00net.sf.taverna.t2.activitiesexternal-tool-activity1.4net.sf.taverna.t2.activities.externaltool.ExternalToolActivity789663B8-DA91-428A-9F7D-B3F3DA185FD4default local<?xml version="1.0" encoding="UTF-8"?>
<localInvocation><shellPrefix>/bin/sh -c</shellPrefix><linkCommand>/bin/ln -s %%PATH_TO_ORIGINAL%% %%TARGET_NAME%%</linkCommand></localInvocation>
e64130a8-e5f2-4d3e-9633-91361c375afapython coords2deg.py12001800coords2deg.pytruefalsefalseMacRomanfalseimport sys
with open("coords.txt", "r") as coordsFile:
coordsValues=coordsFile.readlines()
with open("coordsDeg.txt","w") as coordsDeg:
for line in coordsValues:
line=line.split()
if len(line)==3:
(name, RA, DEC)=line
ra_h=float(RA[0:2])
ra_min=float(RA[2:4])
ra_sec=float(RA[4:])
sign=DEC[0]
dec_deg=float(DEC[1:3])
dec_min=float(DEC[3:5])
dec_sec=float(DEC[5:])
ra=(((ra_sec/60)+ra_min)/60+ra_h)*15
dec=dec_deg+((dec_min+(dec_sec/60))/60)
if sign=="-":
dec=-1.0*dec
coordsDeg.write("%s\t%s\t%s\n"%(name, ra, dec))
else:
coordsDeg.write("NaN\tNaN\tNaN\n")coordscoords.txttruefalsefalseMacRomanfalsefalsefalsecoordsDegcoordsDeg.txtfalsefalsetruetrue0falsenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invokeeq2galcoordsDeg0coordsGal00net.sf.taverna.t2.activitiesexternal-tool-activity1.4net.sf.taverna.t2.activities.externaltool.ExternalToolActivity789663B8-DA91-428A-9F7D-B3F3DA185FD4default local<?xml version="1.0" encoding="UTF-8"?>
<localInvocation><shellPrefix>/bin/sh -c</shellPrefix><linkCommand>/bin/ln -s %%PATH_TO_ORIGINAL%% %%TARGET_NAME%%</linkCommand></localInvocation>
c524148d-7832-401f-954a-b2f2ef4f52fapython eq2gal.py12001800eq2gal.pytruefalsefalseMacRomanfalseimport sys
import math
with open("coordsDeg.txt", "r") as coordsDegFile:
coordsDegValues=coordsDegFile.readlines()
with open("coordsGal.txt","w") as coordsGal:
for line in coordsDegValues:
line=line.split()
if len(line)==3:
(name, ra, dec)=line
ra=float(ra)
dec=float(dec)
stheta = 0.88998808748
ctheta = 0.45598377618
psi = 0.57477043300
phi = 4.9368292465
raa = ra*math.pi/180.
deca = dec*math.pi/180.
a = raa - phi
b = deca
sb = math.sin(b)
cb = math.cos(b)
cbsa = cb * math.sin(a)
b = -stheta * cbsa + ctheta * sb
lout = math.atan2(ctheta * cbsa + stheta * sb, cb * math.cos(a))+psi;
bout = math.asin(b);
while(lout < 0.0):
lout = lout + 2.0*math.pi;
while(lout >= 2.0*math.pi):
lout = lout - 2.0*math.pi;
l = lout/math.pi*180.
b = bout/math.pi*180.
coordsGal.write("%s\t%s\t%s\n"%(name, l, b))
else:
coordsGal.write("NaN\tNaN\tNaN\n")coordsDegcoordsDeg.txttruefalsefalseMacRomanfalsefalsefalsecoordsGalcoordsGal.txtfalsefalsetruetrue0falsenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.InvokecalculateDistancecoordsDeg0coordsGal0h750virgo_coords0velocity0velocity_threshold0STDOUT00net.sf.taverna.t2.activitiesexternal-tool-activity1.4net.sf.taverna.t2.activities.externaltool.ExternalToolActivity789663B8-DA91-428A-9F7D-B3F3DA185FD4default local<?xml version="1.0" encoding="UTF-8"?>
<localInvocation><shellPrefix>/bin/sh -c</shellPrefix><linkCommand>/bin/ln -s %%PATH_TO_ORIGINAL%% %%TARGET_NAME%%</linkCommand></localInvocation>
c44e68e3-4078-4ca8-bfb7-3382a2eec4e2python distance.py %%h75%% %%virgo_coords%% %%velocity_threshold%%12001800h75velocity_thresholdvirgo_coordsdistance.pytruefalsefalseMacRomanfalseimport sys
from math import *
h75=float(sys.argv[1])
#Virgo coordinates
a1=float(sys.argv[2])
d1=float(sys.argv[3])
#Velocity threshold
threshold=float(sys.argv[4])
with open("coordsDeg.txt","r") as coordsDeg:
coordsDeg=coordsDeg.readlines()
with open("coordsGal.txt","r") as coordsGal:
coordsGal=coordsGal.readlines()
with open ("velocity.txt", "r") as velocity:
velocities=velocity.readlines()
limit=min(len(coordsDeg), len(coordsGal), len(velocities))
for i in range(limit):
#lcig,bcig:galactic coordiantes adeg,ddeg:J2000 coordinates
deg=coordsDeg[i].split()
gal=coordsGal[i].split()
vel=velocities[i].split()
if len(deg)==3 and len(gal)==3 and len(vel)==3:
(name, adeg, ddeg)=deg
(name, lcig, bcig)=gal
(name, lvel, lerror)=vel
lcig=float(lcig)
bcig=float(bcig)
adeg=float(adeg)
ddeg=float(ddeg)
vel=float(lvel)
if vel < threshold:
vel=float("NaN")
l=float(lcig*2*pi/360)
b=float(bcig*2*pi/360)
vlg=float(vel)+295.*sin(l)*cos(b)-79.1*cos(l)*cos(b)-37.6*sin(b)
a2=float(adeg)*2*pi/360
d2=float(ddeg)*2*pi/360
corr1=cos(d2)*cos(d2)*sin(a2-a1)*sin(a2-a1)+(cos(d1)*sin(d2)-sin(d1)*cos(d2)*cos(a2-a1))**2
corr2=sin(d1)*sin(d2)+cos(d1)*cos(d2)*cos(a2-a1)
theta=(180/pi)*atan(sqrt(corr1)/corr2)
vvir= vlg-208.*cos(theta*2*pi/360)
distan=vvir/h75
if isnan(distan):
distan="NaN"
print name, distan, "NaN"
else:
print "Error"
h75h75falsefalsefalseMacRomanfalsefalsefalsecoordsGalcoordsGal.txttruefalsefalseMacRomanfalsefalsefalsevelocity_thresholdvelocity_thresholdfalsefalsefalseMacRomanfalsefalsefalsevelocityvelocity.txttruefalsefalseMacRomanfalsefalsefalsevirgo_coordsvirgo_coordsfalsefalsefalseMacRomanfalsefalsefalsecoordsDegcoordsDeg.txttruefalsefalseMacRomanfalsefalsefalsefalsetruetrue0falsenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invokeh75_valuevalue00net.sf.taverna.t2.activitiesstringconstant-activity1.4net.sf.taverna.t2.activities.stringconstant.StringConstantActivity75net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invokevirgo_coords_valuevalue00net.sf.taverna.t2.activitiesstringconstant-activity1.4net.sf.taverna.t2.activities.stringconstant.StringConstantActivity3.28880026812 0.198697493533net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invokevelocity_threshold_valuevalue00net.sf.taverna.t2.activitiesstringconstant-activity1.4net.sf.taverna.t2.activities.stringconstant.StringConstantActivity1000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invokecoords2Degcoordseq2galcoordsDegcalculateDistancecoordsDegcalculateDistancecoordsGalcalculateDistanceh75calculateDistancevirgo_coordscalculateDistancevelocitycalculateDistancevelocity_thresholddistances78f79388-f0c1-4592-a142-813a8e9d30372011-09-29 07:39:06.41 UTCd415a8fb-07ed-4a46-8548-8f3ba49efee82011-11-18 14:23:19.363 UTCd18fed1c-a124-4dc0-b1c2-04bf00f8d3e42011-09-28 12:15:07.656 UTCSusana Sanchez2011-09-28 12:07:18.410 UTC7f565455-afba-4994-8b3c-edf718869b502011-11-12 17:38:17.747 UTC3458d4d5-a347-4dca-99ce-d08e2ec920c42011-09-28 10:54:33.663 UTCa2d04e14-de2b-4fbd-9d51-674fcd99b57b2011-11-16 14:04:17.305 UTCCalculate the distances of galaxies2011-09-28 12:07:56.797 UTCThis workflow receives the file with the list of J2000 coordinates and the file with the list of velocities.
First it converts the J2000 coordinates to degrees and it keeps the result in a file called coordsDeg.txt . Then it converts the coordiantes to Galactic coordinates and keeps the result in file called coordsGal.txt. Both files with the velocity file and the values for H75 and virgo coordinates constants, are the input needed by the python tool "calculateDistance". This tool reads line by line each file and calculates the distance for each galaxy.
The result is a list with three columns: galaxy name, distance, error value2011-11-18 14:23:18.67 UTC2210a6d7-3a67-4b65-a9c5-3f119283c3e82011-11-16 11:26:02.727 UTC480bed18-3588-4192-8328-d090b77638d62011-11-10 08:37:39.684 UTCebe77c15-4955-4234-83fc-94054eb597952011-09-28 10:48:11.83 UTC0f8f9f73-4075-4c5d-b25b-28730abe777d2011-11-18 13:15:52.954 UTC8b748cc2-20b1-4ad7-99c8-c852d111135e2011-09-28 11:10:12.669 UTC736debd6-039a-4e65-8d4a-ed02db855a2d2011-09-28 10:07:28.595 UTCd5a65549-6fe9-4651-b9ed-b109a094ac052011-09-28 11:20:16.872 UTC45216fc9-cdb8-4840-8319-c229b65c373e2011-11-09 16:45:02.438 UTC2ed7b018-1c2a-4f5c-8cd7-9c84a09a33fe2011-11-09 16:53:14.909 UTCe70eaf6d-0abf-45b3-893f-89e9ced1dd1a2011-11-16 19:55:18.875 UTCa8d9a94c-e04f-4d09-a7d0-f2def351f5a82011-11-16 11:13:42.244 UTC3d9d7094-bedf-4412-b96a-de6a3c8d09e72011-09-28 10:45:13.831 UTCbbec9c85-00ec-450d-87f7-80b50232ab502011-09-28 12:08:43.301 UTCWorkflow1distances_file00btc_file00lb_resultLuminositiesCalculationbtc_file0distance_file0STDOUT00net.sf.taverna.t2.activitiesexternal-tool-activity1.4net.sf.taverna.t2.activities.externaltool.ExternalToolActivity789663B8-DA91-428A-9F7D-B3F3DA185FD4default local<?xml version="1.0" encoding="UTF-8"?>
<localInvocation><shellPrefix>/bin/sh -c</shellPrefix><linkCommand>/bin/ln -s %%PATH_TO_ORIGINAL%% %%TARGET_NAME%%</linkCommand></localInvocation>
77e94696-7814-4c66-a7a3-f417949f7423python lb.py12001800lb.pytruefalsefalseMacRomanfalse#!/usr/bin/env python
import sys
from math import *
with open ("distance_file.txt", "r") as distance_file:
distances=distance_file.readlines()
with open ("btc_file.txt", "r") as btc_file:
btcs=btc_file.readlines()
max=min(len(distances), len(btcs))
for i in range(max):
try:
(name, btc, errbtc)=btcs[i].split()
btc=float(btc)
except:
print "Format error in galaxy %i"%i
print distances[i]
print btcs[i]
else:
try:#case "Unable to calculate the distance due to velocity:"
(name, distance, errdist)=distances[i].split()
distance=float(distance)
except:
distance=float("NaN")
lb=2.0*log10(distance)+11.95-0.4*btc
if isnan(lb):
lb="NaN"
print name, lb, "NaN"btc_filebtc_file.txttruefalsefalseMacRomanfalsefalsefalsedistance_filedistance_file.txttruefalsefalseMacRomanfalsefalsefalsefalsetruetrue0falsenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize1net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBouncenet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failovernet.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry1.0100050000net.sf.taverna.t2.coreworkflowmodel-impl1.4net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.InvokeLuminositiesCalculationbtc_fileLuminositiesCalculationdistance_filelb_resultThis workflow calculates the luminosity of the galaxies. It receives the file with the btc values and other file with the distance values and it gives back a list with the name of the galaxies, the luminosity value and the error value2011-11-18 13:16:28.995 UTCbb94d0ab-69c3-470a-b97e-c51ab8a1877f2011-11-16 19:55:50.228 UTC3534cead-f4b6-472d-a2ac-824dbfe81dbf2011-11-16 14:04:46.860 UTC080393a9-f239-477a-9678-e5e0bcb3a88b2011-11-13 01:04:49.582 UTC7ac8017e-4df6-46a9-b6ec-bec6f9c6a0d42011-11-08 16:52:51.757 UTCd01f765b-f4bc-44ec-9b13-1ebcb4cc98ce2011-11-18 12:42:11.17 UTC25fba464-f6c8-438d-ab60-a7d82ca635562011-11-18 13:16:30.969 UTC70a8175e-2a5c-41a7-8577-daee45fc0ed72011-11-08 17:27:12.401 UTC