Simultaneous recordings across subjects (hyperscanning) and modalities

75 views
Skip to first unread message

Chris Gorgolewski

unread,
Jul 10, 2017, 2:34:48 AM7/10/17
to bids-discussion
Dear all,

A topic of simultaneous recordings from multiple subjects came up in context of the EEG extension. Even though more common in EEG this technique for studying neural correlates of natural communication has been used in MEG and fMRI. The main challenge is to link multiple scans (or recordings) across subjects so they could be analyzed accordingly. I propose the following simple solution.

In the sidecar JSON file (_bold.json or _eeg.json) of each recording performed simultaneously an extra field should be specified - SimultaneousRecording. The field takes form of a dictionary. For example:

"SimultaneousRecording": {
   "GroupID": "conversation1",
   "StartTime": -21.13
}

The "GroupID" key is a unique label for groups of simultaneous recordings. All recordings done at the same time should use the same GroupID. StartTime (same naming as for the physiological recordings) is an offset of this recording with relation to point in time that is the same for all recordings.

This flexible mechanism can be used to denote simultaneous recordings across subjects and modalities (for example simultaneous EEG fMRI recordings).

Please let me know what do you think.

Best,
Chris

Robert Oostenveld

unread,
Jul 10, 2017, 2:49:47 AM7/10/17
to bids-di...@googlegroups.com
Let’s assume a combined EEG plus fMRI recording session in which auditory stimuli are presented once the subject has fallen asleep.

If _events.tsv is present, it should be present in both (although some events might be present in the eeg events only, such as sleep scoring events). According to each of the eeg/fmri specs, the events should be expressed in time relative to the first sample of the respective data stream, which means that the time in _events.tsv can be different. The SimultaneousRecording.StartTime then corresponds to the difference, positive in one and negative in the other. Or they can both refer to an unknown start-of-experiment clock event, where the difference between the StartTimes still corresponds to the difference in events.tsv. Right?

Robert




--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussi...@googlegroups.com.
To post to this group, send email to bids-di...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bids-discussion/CAAQzouPy%3DKRj-QgVXRAxTMgAKJOem%2BkzQrBRaeo%2B%2BtHvuAxAdQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Chris Gorgolewski

unread,
Jul 10, 2017, 2:56:15 AM7/10/17
to bids-discussion
The first explanation is correct - timings in _events,tsv are still relative to the beginning of the corresponding scan/recording (this does not change). SimultaneousRecording.StartTime corrects for the difference in the timing between scans/recordings.

Best,
Chris

On Sun, Jul 9, 2017 at 11:49 PM, Robert Oostenveld <r.oost...@gmail.com> wrote:
Let’s assume a combined EEG plus fMRI recording session in which auditory stimuli are presented once the subject has fallen asleep.

If _events.tsv is present, it should be present in both (although some events might be present in the eeg events only, such as sleep scoring events). According to each of the eeg/fmri specs, the events should be expressed in time relative to the first sample of the respective data stream, which means that the time in _events.tsv can be different. The SimultaneousRecording.StartTime then corresponds to the difference, positive in one and negative in the other. Or they can both refer to an unknown start-of-experiment clock event, where the difference between the StartTimes still corresponds to the difference in events.tsv. Right?

Robert




On 10 Jul 2017, at 08:34, Chris Gorgolewski <krzysztof.gorgolewski@gmail.com> wrote:

Dear all,

A topic of simultaneous recordings from multiple subjects came up in context of the EEG extension. Even though more common in EEG this technique for studying neural correlates of natural communication has been used in MEG and fMRI. The main challenge is to link multiple scans (or recordings) across subjects so they could be analyzed accordingly. I propose the following simple solution.

In the sidecar JSON file (_bold.json or _eeg.json) of each recording performed simultaneously an extra field should be specified - SimultaneousRecording. The field takes form of a dictionary. For example:

"SimultaneousRecording": {
   "GroupID": "conversation1",
   "StartTime": -21.13
}

The "GroupID" key is a unique label for groups of simultaneous recordings. All recordings done at the same time should use the same GroupID. StartTime (same naming as for the physiological recordings) is an offset of this recording with relation to point in time that is the same for all recordings.

This flexible mechanism can be used to denote simultaneous recordings across subjects and modalities (for example simultaneous EEG fMRI recordings).

Please let me know what do you think.

Best,
Chris

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bids-discussion/1929B897-6F69-4705-B2B1-27125B46ADAF%40gmail.com.

Auer, Tibor

unread,
Jul 10, 2017, 6:58:08 AM7/10/17
to bids-di...@googlegroups.com

But what is the “point of origin”, i.e. time 0?

Let’s imagine having two subjects, sub1 and sub2, on the same day! sub1 started at 14:10:23 and sub2 started at 14:10:22. What would be the SimultaneousRecording.StartTime for sub1 and sub2, respectively?

 

Vale,

Tibor

 

Auer, Tibor (Ph '99)

 

Robert

 

 

 

 

--

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussi...@googlegroups.com.
To post to this group, send email to bids-di...@googlegroups.com.

 

--

You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussi...@googlegroups.com.
To post to this group, send email to bids-di...@googlegroups.com.

 

--

You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussi...@googlegroups.com.
To post to this group, send email to bids-di...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bids-discussion/CAAQzouPxqj5y2MtN-gQzXqkNqANby1pSwDiwhSk6uvO7V6FFGw%40mail.gmail.com.

Chris Gorgolewski

unread,
Jul 10, 2017, 2:53:27 PM7/10/17
to bids-discussion
The reference point is arbitrary, but has to be constant across all recordings in the same group. In case of your example the reference point could be the beginning of acqusition for the first participant. Then:

sub1 SimultaneousRecording.StartTime == 0
sub2 SimultaneousRecording.StartTime == -1

It could be also other way around:

sub1 SimultaneousRecording.StartTime == 1
sub2 SimultaneousRecording.StartTime == 0

Or some arbitrary point in time:

sub1 SimultaneousRecording.StartTime == 11
sub2 SimultaneousRecording.StartTime == 10

It could be that this extra flexibility is too confusing. I'm open to discussing alternatives.

Best,
Chris

 

Robert

 

 

 

 

--

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.

 

--

You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bids-discussion/004901d2f96b%24472a7f30%24d57f7d90%24%40gmail.com.

Auer, Tibor

unread,
Jul 10, 2017, 3:42:38 PM7/10/17
to bids-di...@googlegroups.com

I think it is confusing. I think I understand how these values are supposed to be used: i.e. if you want to use events from sub2 in model of sub1, you read both StartTimes and takes their difference as an ‘offset’. However, it is not intuitive; especially when they are specified. Besides “StartTime” implies some ‘absolute’ value rather than ‘relative’. I suggest the following (for sub1):

 

“SimultaneousRecording": {

   "GroupID": "conversation1",

   “GroupStartTime”: 2017.02.24_14:10:20 (or whatever format you consider)

   "Offset": 3

}

 

I admit it is more to code and the actual calculation is more complicated leading to the same result as the original proposal; however, it is more intuitive to specify and to interpret.

 

Vale,

Tibor

 

Auer, Tibor (Ph '99)

 

From: bids-di...@googlegroups.com [mailto:bids-di...@googlegroups.com] On Behalf Of Chris Gorgolewski
Sent: Monday, July 10, 2017 7:53 PM
To: bids-discussion <bids-di...@googlegroups.com>
Subject: Re: [bids-discussion] Simultaneous recordings across subjects (hyperscanning) and modalities

 

The reference point is arbitrary, but has to be constant across all recordings in the same group. In case of your example the reference point could be the beginning of acqusition for the first participant. Then:

 

Robert

 

 

 

 

--

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussi...@googlegroups.com.
To post to this group, send email to bids-di...@googlegroups.com.

 

--

You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussi...@googlegroups.com.
To post to this group, send email to bids-di...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussi...@googlegroups.com.
To post to this group, send email to bids-di...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussi...@googlegroups.com.
To post to this group, send email to bids-di...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

 

--

You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussi...@googlegroups.com.
To post to this group, send email to bids-di...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bids-discussion/CAAQzouPfdCfedeQC5BYbwSeBUhdh%2BNx8pPV6POAXo3kGwTMLPw%40mail.gmail.com.

Chris Gorgolewski

unread,
Jul 10, 2017, 3:50:23 PM7/10/17
to bids-discussion
Hi,

I agree it might not be the most intuitive, but consider:

1) "StartTime" has the same name and meaning as in description of physiological and continuous recording. At least it's consistent.
2) Providing absolute dates is a privacy concern. Those dates would have to be randomly shifted.
3) Does GroupStartTime field have to be the same for all members of a given group? If so it could be ignored, because only the offset is what really matters...

What do others think?

Best,
Chris

On Sun, Jul 9, 2017 at 6:55 PM, Auer, Tibor <tibor...@gmail.com> wrote:

I think it is confusing. I think I understand how these values are supposed to be used: i.e. if you want to use events from sub2 in model of sub1, you read both StartTimes and takes their difference as an ‘offset’. However, it is not intuitive; especially when they are specified. Besides “StartTime” implies some ‘absolute’ value rather than ‘relative’. I suggest the following (for sub1):

 

“SimultaneousRecording": {

   "GroupID": "conversation1",

   “GroupStartTime”: 2017.02.24_14:10:20 (or whatever format you consider)

   "Offset": 3

}

 

I admit it is more to code and the actual calculation is more complicated leading to the same result as the original proposal; however, it is more intuitive to specify and to interpret.

 

Vale,

Tibor

 

Auer, Tibor (Ph '99)

 

From: bids-discussion@googlegroups.com [mailto:bids-discussion@googlegroups.com] On Behalf Of Chris Gorgolewski
Sent: Monday, July 10, 2017 7:53 PM


To: bids-discussion <bids-discussion@googlegroups.com>

 

Robert

 

 

 

 

--

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.

 

--

You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bids-discussion/002401d2f91f%24a41f9000%24ec5eb000%24%40gmail.com.

Auer, Tibor

unread,
Jul 12, 2017, 7:00:12 AM7/12/17
to bids-di...@googlegroups.com

Hi,

 

The issue of no ‘common ground’ gets more complicated with more than two subjects/recordings. And for every consecutive ones you have to remember how have you specified the previous one(s). E.g.:

-          sub1 started at 14:10:23

-          sub2 started at 14:10:22

and you specify

-          sub1 SimultaneousRecording.StartTime == 11

-          sub2 SimultaneousRecording.StartTime == 10

Having sub3 started at 14:10:30, specifying sub3 SimultaneousRecording.StartTime would be a bit difficult without knowing the exact starting time of sub1 or sub2. Of course, you can say that sub3 started 7 seconds later then sub1, and you can specify sub3 SimultaneousRecording.StartTime solely based on that information. However, it is usually the exact starting time of a measurement, what is recorded rather than the offset, which is calculated. I agree that GroupStartTime can be ignored during the analysis; but it may be necessary during specification (intuitively). We might, of course,  keep it ‘hidden’, i.e. not included in the model.

After going through it in my mind I do not have a strong opinion about it. I realise that we may not need a ‘full’ provenance, but what is required for particular use cases. I was only thinking first about how I would specify such dataset rather than how I would use it.

 

Vale,

Tibor

 

Auer, Tibor (Ph '99)

 

From: bids-di...@googlegroups.com [mailto:bids-di...@googlegroups.com] On Behalf Of Chris Gorgolewski
Sent: 10 July 2017 20:50
To: bids-discussion <bids-di...@googlegroups.com>
Subject: Re: [bids-discussion] Simultaneous recordings across subjects (hyperscanning) and modalities

 

Hi,

 

I agree it might not be the most intuitive, but consider:

 

1) "StartTime" has the same name and meaning as in description of physiological and continuous recording. At least it's consistent.

2) Providing absolute dates is a privacy concern. Those dates would have to be randomly shifted.

3) Does GroupStartTime field have to be the same for all members of a given group? If so it could be ignored, because only the offset is what really matters...

 

What do others think?

 

Best,

Chris

On Sun, Jul 9, 2017 at 6:55 PM, Auer, Tibor <tibor...@gmail.com> wrote:

I think it is confusing. I think I understand how these values are supposed to be used: i.e. if you want to use events from sub2 in model of sub1, you read both StartTimes and takes their difference as an ‘offset’. However, it is not intuitive; especially when they are specified. Besides “StartTime” implies some ‘absolute’ value rather than ‘relative’. I suggest the following (for sub1):

 

“SimultaneousRecording": {

   "GroupID": "conversation1",

   “GroupStartTime”: 2017.02.24_14:10:20 (or whatever format you consider)

   "Offset": 3

}

 

I admit it is more to code and the actual calculation is more complicated leading to the same result as the original proposal; however, it is more intuitive to specify and to interpret.

 

Vale,

Tibor

 

Auer, Tibor (Ph '99)

 

From: bids-di...@googlegroups.com [mailto:bids-di...@googlegroups.com] On Behalf Of Chris Gorgolewski
Sent: Monday, July 10, 2017 7:53 PM


To: bids-discussion <bids-di...@googlegroups.com>

 

Robert

 

 

 

 

--

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussi...@googlegroups.com.
To post to this group, send email to bids-di...@googlegroups.com.

 

--

You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussi...@googlegroups.com.
To post to this group, send email to bids-di...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussi...@googlegroups.com.
To post to this group, send email to bids-di...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussi...@googlegroups.com.
To post to this group, send email to bids-di...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussi...@googlegroups.com.
To post to this group, send email to bids-di...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussi...@googlegroups.com.
To post to this group, send email to bids-di...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

 

--

You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussi...@googlegroups.com.
To post to this group, send email to bids-di...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bids-discussion/CAAQzouNn4%2BuwgOny27sOnPrmGt%3D1N65e_Kg%2BHoskSrauHksMGA%40mail.gmail.com.

Chris Gorgolewski

unread,
Jul 12, 2017, 11:31:00 AM7/12/17
to bids-discussion
Thanks for your comment. I agree that knowing the reference point is necessary to curate the dataset, but my hope was that all of the recordings would be curated at the same time (since they all were acquired at the same time).

It would be great to hear what others think - especially people who have experience with hyperscanning or simultaneous EEG/fMRI acqusition.

Best,
Chris

On Wed, Jul 12, 2017 at 4:00 AM, Auer, Tibor <tibor...@gmail.com> wrote:

Hi,

 

The issue of no ‘common ground’ gets more complicated with more than two subjects/recordings. And for every consecutive ones you have to remember how have you specified the previous one(s). E.g.:

-          sub1 started at 14:10:23

-          sub2 started at 14:10:22

and you specify

-          sub1 SimultaneousRecording.StartTime == 11

-          sub2 SimultaneousRecording.StartTime == 10

Having sub3 started at 14:10:30, specifying sub3 SimultaneousRecording.StartTime would be a bit difficult without knowing the exact starting time of sub1 or sub2. Of course, you can say that sub3 started 7 seconds later then sub1, and you can specify sub3 SimultaneousRecording.StartTime solely based on that information. However, it is usually the exact starting time of a measurement, what is recorded rather than the offset, which is calculated. I agree that GroupStartTime can be ignored during the analysis; but it may be necessary during specification (intuitively). We might, of course,  keep it ‘hidden’, i.e. not included in the model.

After going through it in my mind I do not have a strong opinion about it. I realise that we may not need a ‘full’ provenance, but what is required for particular use cases. I was only thinking first about how I would specify such dataset rather than how I would use it.

 

Vale,

Tibor

 

Auer, Tibor (Ph '99)

 

From: bids-discussion@googlegroups.com [mailto:bids-discussion@googlegroups.com] On Behalf Of Chris Gorgolewski
Sent: 10 July 2017 20:50


To: bids-discussion <bids-discussion@googlegroups.com>

Subject: Re: [bids-discussion] Simultaneous recordings across subjects (hyperscanning) and modalities

 

Hi,

 

I agree it might not be the most intuitive, but consider:

 

1) "StartTime" has the same name and meaning as in description of physiological and continuous recording. At least it's consistent.

2) Providing absolute dates is a privacy concern. Those dates would have to be randomly shifted.

3) Does GroupStartTime field have to be the same for all members of a given group? If so it could be ignored, because only the offset is what really matters...

 

What do others think?

 

Best,

Chris

On Sun, Jul 9, 2017 at 6:55 PM, Auer, Tibor <tibor...@gmail.com> wrote:

I think it is confusing. I think I understand how these values are supposed to be used: i.e. if you want to use events from sub2 in model of sub1, you read both StartTimes and takes their difference as an ‘offset’. However, it is not intuitive; especially when they are specified. Besides “StartTime” implies some ‘absolute’ value rather than ‘relative’. I suggest the following (for sub1):

 

“SimultaneousRecording": {

   "GroupID": "conversation1",

   “GroupStartTime”: 2017.02.24_14:10:20 (or whatever format you consider)

   "Offset": 3

}

 

I admit it is more to code and the actual calculation is more complicated leading to the same result as the original proposal; however, it is more intuitive to specify and to interpret.

 

Vale,

Tibor

 

Auer, Tibor (Ph '99)

 

From: bids-discussion@googlegroups.com [mailto:bids-discussion@googlegroups.com] On Behalf Of Chris Gorgolewski
Sent: Monday, July 10, 2017 7:53 PM


To: bids-discussion <bids-discussion@googlegroups.com>

 

Robert

 

 

 

 

--

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.

 

--

You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "bids-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bids-discussion+unsubscribe@googlegroups.com.
To post to this group, send email to bids-discussion@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bids-discussion/005801d2fafe%2405bd87b0%2411389710%24%40gmail.com.
Reply all
Reply to author
Forward
0 new messages